Os dados divisão é utilizada para definir as variáveis usadas no programa. Para descrever os dados em COBOL, é preciso entender os termos a seguir:
Nome de Dados
Número do Nível
Cláusula Imagem
Cláusula Valor
01 TOTAL-STUDENTS PIC9(5) VALUE '125'. | | | | | | | | | | | | Level Number Data Name Picture Clause Value Clause
Dados os nomes devem ser definidos na divisão dos dados antes de usá-las no processo Divisão. Eles devem ter um nome definido pelo usuário; palavras reservadas não pode ser usado. Nomes de dados dá referência a posições de memória onde os dados reais são armazenados. Eles podem ser elementares ou tipo de grupo.
Exemplo
O exemplo a seguir mostra dados válidos e inválidos nomes:
Valid: WS-NAME TOTAL-STUDENTS A100 100B Invalid: MOVE (Reserved Words) COMPUTE (Reserved Words) 100 (No Alphabet) 100+B (+ is not allowed)
Número do nível é usado para especificar o nível de dados em um registro. Eles são usados para diferenciar itens elementares e itens de grupo. Itens elementares podem ser agrupados para criar itens de grupo.
Número do Nível | Descrição |
---|---|
01 | Descrição do Registro entrada |
02 A 49 ANOS | Grupo e itens elementares |
66 | Renomear itens Cláusula |
77 | Itens que não podem ser sub-divididos |
88 | Nome condição entrada |
Itens elementares pode ser dividida ainda mais. Número do nível, os dados nome, imagem e valor cláusula cláusula (opcional) são usados para descrever um item elementar.
Os itens do grupo consistem em um ou mais itens elementares. Número do nível, nome de dados e Valor cláusula (opcional) são usados para descrever um item de grupo. Grupo número do nível é sempre 01.
Exemplo
O exemplo a seguir mostra Grupo elementar e itens:
DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NAME PIC X(25). ---> ELEMENTARY ITEM 01 WS-CLASS PIC 9(2) VALUE '10'. ---> ELEMENTARY ITEM 01 WS-ADDRESS. ---> GROUP ITEM 05 WS-HOUSE-NUMBER PIC 9(3). ---> ELEMENTARY ITEM 05 WS-STREET PIC X(15). ---> ELEMENTARY ITEM 05 WS-CITY PIC X(15). ---> ELEMENTARY ITEM 05 WS-COUNTRY PIC X(15) VALUE 'INDIA'. ---> ELEMENTARY ITEM
Foto cláusula é utilizada para definir os itens a seguir:
Tipo de Dados pode ser numérico, alfabético, ou alfanuméricos. Tipo numérico consiste de apenas dígitos de 0 a 9. Ordem alfabética tipo é composto por letras de A a Z e os espaços. Tipo alfanumérico consiste de dígitos, letras e caracteres especiais.
Sinal pode ser utilizado com dados numéricos. Ela pode ser + ou .
Posição do ponto decimal pode ser utilizado com dados numéricos. Assumiu posição é a posição do ponto decimal e não incluídas nos dados.
Comprimento define o número de bytes usados pelo item da base de dados.
Os símbolos usados em uma imagem cláusula:
Símbolo | Descrição |
---|---|
9 | Os valores numéricos |
A | Ordem Alfabética |
X | Caracteres alfanuméricos |
V | Decimal implícita |
S | Assinar |
P | Presume-se casas decimais |
Exemplo
O exemplo a seguir mostra o uso de PIC cláusula:
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NUM1 PIC S9(3)V9(2). 01 WS-NUM2 PIC PPP999. 01 WS-NUM3 PIC S9(3)V9(2) VALUE -123.45. 01 WS-NAME PIC A(6) VALUE 'ABCDEF'. 01 WS-ID PIC X(5) VALUE 'A121$'. PROCEDURE DIVISION. DISPLAY "WS-NUM1 : "WS-NUM1. DISPLAY "WS-NUM2 : "WS-NUM2. DISPLAY "WS-NUM3 : "WS-NUM3. DISPLAY "WS-NAME : "WS-NAME. DISPLAY "WS-ID : "WS-ID. STOP RUN.
JCL para executar o programa em COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Quando você compilar e executar o programa acima referido, que produz o seguinte resultado:
WS-NUM1 : +000.00 WS-NUM2 : .000000 WS-NUM3 : -123.45 WS-NAME : ABCDEF WS-ID : A121$
Valor cláusula é uma cláusula opcional que é usado para inicializar os itens de dados. Os valores podem ser literal numérico alfanumérico, literal ou figurativo constante. Ele pode ser usado com os dois grupos e itens elementares.
Exemplo
O exemplo a seguir mostra o uso do valor cláusula:
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NUM1 PIC 99V9 VALUE IS 3.5. 01 WS-NAME PIC A(6) VALUE 'ABCD'. 01 WS-ID PIC 99 VALUE ZERO. PROCEDURE DIVISION. DISPLAY "WS-NUM1 : "WS-NUM1. DISPLAY "WS-NAME : "WS-NAME. DISPLAY "WS-ID : "WS-ID. STOP RUN.
JCL para executar o programa em COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Quando você compilar e executar o programa acima referido, que produz o seguinte resultado:
WS-NUM1 : 03.5 WS-NAME : ABCD WS-ID : 00