COBOL - Tipos de Datos



Divisin de Informacin se utiliza para definir las variables utilizadas en el programa. Para describir los datos en COBOL, uno debe comprender los siguientes trminos:

  • Nombre de Datos

  • Nmero de Nivel

  • Clusula Imagen

  • Clusula de Valor

01            TOTAL-STUDENTS            PIC9(5)            VALUE '125'.
|                    |                    |                    |
|                    |                    |                    |
|                    |                    |                    | 
Level Number     Data Name           Picture Clause       Value Clause

Nombre de Datos

Nombres de datos debe estar definido en la Divisin de Informacin antes de utilizarlas en la Division de Procedure. Deben tener un nombre definido por el usuario; palabras reservadas no se pueden utilizar. Nombres de datos da referencia a los lugares de memoria donde se almacenan los datos reales. Pueden ser primarias o tipo de grupo.

Ejemplo

El ejemplo siguiente muestra los datos vlidos y no vlidos los nombres:

Valid:
WS-NAME
TOTAL-STUDENTS
A100
100B

Invalid:
MOVE            (Reserved Words)
COMPUTE         (Reserved Words)
100             (No Alphabet)
100+B           (+ is not allowed) 

Nmero de Nivel

Nmero de nivel se utiliza para especificar el nivel de datos en un registro. Que se utilizan para diferenciar los elementos elementales y elementos de grupo. Elementos elementales pueden agruparse para crear elementos de grupo.

Nmero de Nivel Descripcin
01 Descripcin del registro entrada
02 A 49 Grupo elemental y elementos
66 Clusula Rename elementos
77 Elementos que no pueden ser sub-divididos
88 Nombre de la Condicin entrada
  • Elementos elementales no puede dividirse. Nmero de nivel, los datos nombre, foto y clusula clusula de valor (opcional) se utiliza para describir un tema elemental.

  • Grupo los elementos constan de uno o ms elementos elementales. Nmero de nivel, nombre de los datos, y clusula de valor (opcional) que se utilizan para describir un elemento de grupo. Grupo nmero de nivel es siempre 01.

Ejemplo

El ejemplo siguiente muestra Grupo elemental y los elementos:

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

Clusula Imagen

Clusula Imagen se utiliza para definir los siguientes elementos:

  • Tipo de datos pueden ser numricos, alfabticos o alfanumricos. Tipo Numrico consiste slo de dgitos 0 a 9. Alfabtico tipo consta de las letras de la A a la Z y espacios. Tipo Alfanumrico consta de dgitos, letras y caracteres especiales.

  • Signo puede utilizarse con datos numricos. Puede ser + o .

  • Posicin del punto decimal se puede usar con datos numricos. Posicin asumida es la posicin del punto decimal y no se incluyen en los datos.

  • Longitud define el nmero de bytes utilizados en el elemento de datos.

Los smbolos utilizados en una imagen clusula:

Smbolo Descripcin
9 Valor Numrico
A Orden alfabtico
X Alfanumrico
V Decimal implcito
S Signo
P Decimal asumido

Ejemplo

El siguiente ejemplo muestra el uso de PIC clusula:

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 ejecutar el programa COBOL:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:

WS-NUM1 : +000.00
WS-NUM2 : .000000
WS-NUM3 : -123.45
WS-NAME : ABCDEF
WS-ID : A121$

Clusula de Valor

Clusula de valor es una clusula opcional que se usa para inicializar los elementos de datos. Los valores pueden ser literales numricos, alfanumricos, literal o figurativa constante. Puede utilizarse tanto con los elementos elementales y grupo.

Ejemplo

El siguiente ejemplo muestra el uso de clusula de valor:

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 ejecutar el programa COBOL:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:

WS-NUM1 : 03.5
WS-NAME : ABCD
WS-ID   : 00
Advertisements