COBOL - Diseo de Datos



COBOL presentacin es la descripcin del uso de cada uno de los campos y los valores presentes en ella. A continuacin, se describen los datos utilizados en las entradas descripcin COBOL:

  • Clusula Redefine
  • Clusula cambia
  • Clusula Uso
  • Cuadernos

Clusula Redefine

Clusula Redeifnes se utiliza para definir un almacenamiento con diferentes descripcin de los datos. Si uno o ms elementos de datos no se utilizan simultneamente y, a continuacin, la misma capacidad de almacenamiento de datos pueden ser utilizados por otro elemento de datos. Por lo tanto, el mismo tipo de almacenamiento se puede hacer referencia a diferentes elementos de datos.

Sintaxis

Siguiente es la sintaxis para Redefine clusula:

01 WS-OLD PIC X(10).
01 WS-NEW1 REDEFINES WS-OLD PIC 9(8).
01 WS-NEW2 REDEFINES WS-OLD PIC A(10).

A continuacin, se describen los detalles de los parmetros utilizados:

  • WS-ANTIGUO Tema es redefinida
  • WS-NUEVO1 y WS-NUEVO2 estn redefiniendo Tema

Definir nmeros de Nivel de elemento y redefinir elemento debe ser el mismo y no puede ser de 66 o 88 nmero de nivel. No utilice clusula de valor con una redefinicin. En Seccin Archivo, no utilice una clusula redefine 01 nmero de nivel. Redefine definicin debe ser la siguiente descripcin de los datos que desea definir. Una redefinicin tema siempre tendr el mismo valor que un nuevo elemento.

Ejemplo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-DESCRIPTION.
   05 WS-DATE1 VALUE '20140831'.
   10 WS-YEAR PIC X(4).
   10 WS-MONTH PIC X(2).
   10 WS-DATE PIC X(2).
   05 WS-DATE2 REDEFINES WS-DATE1 PIC 9(8).

PROCEDURE DIVISION.
   DISPLAY "WS-DATE1 : "WS-DATE1.
   DISPLAY "WS-DATE2 : "WS-DATE2.

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 que produce el resultado siguiente:

WS-DATE1 : 20140831
WS-DATE2 : 20140831

Clusula cambia

Clusula cambia se utiliza para dar diferentes nombres de elementos de datos existentes. Se utiliza para re-agrupar los datos nombres y darle un nuevo nombre a ellos. Los nuevos nombres de datos puede cambiar el nombre de todos los grupos o elemental. Nivel nmero 66 est reservado para el nombre.

Sintaxis

Siguiente es la sintaxis de clusula cambia:

01 WS-OLD.
10 WS-A PIC 9(12).
10 WS-B PIC X(20).
10 WS-C PIC A(25).
10 WS-D PIC X(12).
66 WS-NEW RENAMES WS-A THRU WS-C.

Es posible cambiar el nombre al mismo nivel. En el ejemplo anterior, WS-A, WS-B y WS-C estn en el mismo nivel. Definicin cambia debe ser la siguiente descripcin de los datos que desee cambiar el nombre. No utilice el nombre de 01,77 o 66 nmero de nivel. Los datos los nombres que se usan para el nombre debe venir en secuencia. Los elementos de datos se producen con clusula no se puede cambiar de nombre.

Ejemplo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-DESCRIPTION.
   05 WS-NUM.
   10 WS-NUM1 PIC 9(2) VALUE 20.
   10 WS-NUM2 PIC 9(2) VALUE 56.
   05 WS-CHAR.
   10 WS-CHAR1 PIC X(2) VALUE 'AA'.
   10 WS-CHAR2 PIC X(2) VALUE 'BB'.
   66 WS-RENAME RENAMES WS-NUM2 THRU WS-CHAR2.

PROCEDURE DIVISION.
   DISPLAY "WS-RENAME : " WS-RENAME.
   
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-RENAME : 56AABB

Clusula Uso

Uso clusula especifica el sistema operativo en el que el formato se almacenan los datos. No se puede utilizar con nmeros de nivel 66 o 88. Si se especifica una clusula de uso en un grupo y, a continuacin, todas las escuelas primarias los elementos tendr el mismo uso clusula.Las diferentes opciones disponibles con clusula de uso son los siguientes:

Mostrar

Elemento de datos se almacena en formato ASCII y cada personaje tendr 1 byte. Es uso predeterminado.

El ejemplo siguiente calcula el nmero de bytes necesarios:

01 WS-NUM PIC S9(5)V9(3) USAGE IS DISPLAY.
It requires 8 bytes as sign and decimal doesn't require any byte.

01 WS-NUM PIC 9(5) USAGE IS DISPLAY.
It requires 5 bytes as sign.

COMPUTACIN / COMP.

Elemento de datos se almacenan en formato binario. Aqu elementos de datos debe ser un nmero entero.

El siguiente ejemplo se calcula el nmero de bytes necesarios:

01 WS-NUM PIC S9(n) USAGE IS COMP.

If 'n' = 1 to 4, it takes 2 bytes.
If 'n' = 5 to 9, it takes 4 bytes.
If 'n' = 10 to 18, it takes 8 bytes.

COMP-1

Elemento de datos es similar al de flotacin o Real y se representa como un nico nmero de coma flotante de precisin. Los datos se almacenan en formato hexadecimal. COMP-1 no acepta clusula PIC. Aqu 1 palabra es igual a 4 bytes.

COMP-2

Elemento de datos es similar a larga o doble y se representa como double precision nmero en coma flotante. Los datos se almacenan en formato hexadecimal. COMP-2 no especifica clusula PIC. Aqu 2 palabra es igual a 8 bytes.

COMP-3

Elemento de datos se almacena en el paquete formato decimal. Cada dgito ocupa la mitad un byte (1 porcin) y el signo se almacena en el nibble ms a la derecha.

El siguiente ejemplo se calcula el nmero de bytes necesarios:

01 WS-NUM PIC 9(n) USAGE IS COMP.
Number of bytes = n/2 (If n is even)
Number of bytes = n/2 + 1(If n is odd, consider only integer part)

01 WS-NUM PIC 9(4) USAGE IS COMP-3 VALUE 21.
It requires 2 bytes of storage as each digit occupies half a byte.

01 WS-NUM PIC 9(5) USAGE IS COMP-3 VALUE 21.
It requires 3 bytes of storage as each digit occupies half a byte.

Cuadernos

Un mdulo de copia COBOL es una seleccin de cdigo que define las estructuras de datos. Si una determinada estructura de datos se utiliza en muchos programas, a continuacin, en lugar de escribir la misma estructura de datos una vez ms, podemos utilizar cuadernos escolares. Utilizamos la copia declaracin para incluir un copybook en un programa. COPIAR instruccin se utiliza en la Working-Storage Seccin.

El siguiente ejemplo para incluir programa COBOL Copybook interior:

DATA DIVISION.
WORKING-STORAGE SECTION.
COPY ABC.

Aqu ABC es el copybook nombre. Los siguientes elementos de datos en ABC copybook puede utilizarse dentro de un programa.

01 WS-DESCRIPTION.
   05 WS-NUM.
      10 WS-NUM1 PIC 9(2) VALUE 20.
      10 WS-NUM2 PIC 9(2) VALUE 56.
   05 WS-CHAR.
      10 WS-CHAR1 PIC X(2) VALUE 'AA'.
      10 WS-CHAR2 PIC X(2) VALUE 'BB'.
Advertisements