COBOL - Tipos de Dados



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

Nome de Dados

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

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

Cláusula Imagem

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$

Cláusula Valor

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
Advertisements