COBOL - Tipos de Datos



División de Información se utiliza para definir las variables utilizadas en el programa. Para describir los datos en COBOL, uno debe comprender los siguientes términos:

  • Nombre de Datos

  • Número de Nivel

  • Cláusula Imagen

  • Cláusula 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 División de Información 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 válidos y no válidos los nombres:

Valid:
WS-NAME
TOTAL-STUDENTS
A100
100B

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

Número de Nivel

Número 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.

Número de Nivel Descripción
01 Descripción del registro entrada
02 A 49 Grupo elemental y elementos
66 Cláusula Rename elementos
77 Elementos que no pueden ser sub-divididos
88 Nombre de la Condición entrada
  • Elementos elementales no puede dividirse. Número de nivel, los datos nombre, foto y cláusula cláusula de valor (opcional) se utiliza para describir un tema elemental.

  • Grupo los elementos constan de uno o más elementos elementales. Número de nivel, nombre de los datos, y cláusula de valor (opcional) que se utilizan para describir un elemento de grupo. Grupo número 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

Cláusula Imagen

Cláusula Imagen se utiliza para definir los siguientes elementos:

  • Tipo de datos pueden ser numéricos, alfabéticos o alfanuméricos. Tipo Numérico consiste sólo de dígitos 0 a 9. Alfabético tipo consta de las letras de la A a la Z y espacios. Tipo Alfanumérico consta de dígitos, letras y caracteres especiales.

  • Signo puede utilizarse con datos numéricos. Puede ser + o .

  • Posición del punto decimal se puede usar con datos numéricos. Posición asumida es la posición del punto decimal y no se incluyen en los datos.

  • Longitud define el número de bytes utilizados en el elemento de datos.

Los símbolos utilizados en una imagen cláusula:

Símbolo Descripción
9 Valor Numérico
A Orden alfabético
X Alfanumérico
V Decimal implícito
S Signo
P Decimal asumido

Ejemplo

El siguiente ejemplo muestra el 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 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$

Cláusula de Valor

Cláusula de valor es una cláusula opcional que se usa para inicializar los elementos de datos. Los valores pueden ser literales numéricos, alfanuméricos, literal o figurativa constante. Puede utilizarse tanto con los elementos elementales y grupo.

Ejemplo

El siguiente ejemplo muestra el uso de cláusula 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