COBOL - Diseño de Datos



COBOL presentación es la descripción del uso de cada uno de los campos y los valores presentes en ella. A continuación, se describen los datos utilizados en las entradas descripción COBOL:

  • Cláusula Redefine
  • Cláusula cambia
  • Cláusula Uso
  • Cuadernos

Cláusula Redefine

Cláusula Redeifnes se utiliza para definir un almacenamiento con diferentes descripción de los datos. Si uno o más elementos de datos no se utilizan simultáneamente y, a continuación, 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 cláusula:

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 continuación, se describen los detalles de los parámetros utilizados:

  • WS-ANTIGUO Tema es redefinida
  • WS-NUEVO1 y WS-NUEVO2 están redefiniendo Tema

Definir números de Nivel de elemento y redefinir elemento debe ser el mismo y no puede ser de 66 o 88 número de nivel. No utilice cláusula de valor con una redefinición. En Sección Archivo, no utilice una cláusula redefine 01 número de nivel. Redefine definición debe ser la siguiente descripción de los datos que desea definir. Una redefinición 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

Cláusula cambia

Cláusula 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 número 66 está reservado para el nombre.

Sintaxis

Siguiente es la sintaxis de cláusula 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 están en el mismo nivel. Definición cambia debe ser la siguiente descripción de los datos que desee cambiar el nombre. No utilice el nombre de 01,77 o 66 número de nivel. Los datos los nombres que se usan para el nombre debe venir en secuencia. Los elementos de datos se producen con cláusula 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

Cláusula Uso

Uso cláusula especifica el sistema operativo en el que el formato se almacenan los datos. No se puede utilizar con números de nivel 66 o 88. Si se especifica una cláusula de uso en un grupo y, a continuación, todas las escuelas primarias los elementos tendrá el mismo uso cláusula.Las diferentes opciones disponibles con cláusula 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 número 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.

COMPUTACIÓN / COMP.

Elemento de datos se almacenan en formato binario. Aquí elementos de datos debe ser un número entero.

El siguiente ejemplo se calcula el número 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 flotación o Real y se representa como un único número de coma flotante de precisión. Los datos se almacenan en formato hexadecimal. COMP-1 no acepta cláusula 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 número en coma flotante. Los datos se almacenan en formato hexadecimal. COMP-2 no especifica cláusula PIC. Aquí 2 palabra es igual a 8 bytes.

COMP-3

Elemento de datos se almacena en el paquete formato decimal. Cada dígito ocupa la mitad un byte (1 porción) y el signo se almacena en el nibble más a la derecha.

El siguiente ejemplo se calcula el número 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 módulo de copia COBOL es una selección de código que define las estructuras de datos. Si una determinada estructura de datos se utiliza en muchos programas, a continuación, en lugar de escribir la misma estructura de datos una vez más, podemos utilizar cuadernos escolares. Utilizamos la copia declaración para incluir un copybook en un programa. COPIAR instrucción se utiliza en la Working-Storage Sección.

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