Lo fundamental de la redefinición de Cobol

Lo fundamental de la redefinición de Cobol

En este artículo, intentaremos entender el redefine Cobol. Esto se usa para explicar el mismo almacenamiento de campo de muchas maneras.

Significa que la definición y la redefinición del campo se refieren a los mismos bytes de almacenamiento. COBOL redefine no puede tener una cláusula de valor y no se puede usar en el nivel 1 en la sección Archivo o informe.

Lo fundamental de la cláusula redefinir

Usted escribe un programa para generar un informe y sabe que el informe tiene tres secciones diferentes. La primera sección es el encabezado, la segunda sección es el registro detallado, y la tercera sección es el trailer. Hay dos formas en que puede definir la estructura en su programa. El primero es definir todas y cada una de las secciones de su sección de división de archivos o puede estar en su sección de almacenamiento de trabajo. Otra opción es que puede definir los 132 bytes para su registro de encabezado. Del mismo modo, puede redefinir el registro de detalles y el registro del tráiler nuevamente.

En resumen, puede usar la cláusula Redefine para referirse a la misma ubicación de memoria. Si desea escribir en el encabezado, mueva los registros a los archivos de encabezado particulares y puede escribir ese informe. Se refiere a la misma ubicación de memoria a los mismos bytes de almacenamiento que es 132 bytes.

Detalles de sintaxis:

  • La cláusula de redefine debe seguir inmediatamente después del nombre de datos-2.
  • El nombre de datos-1 no puede tener la cláusula de valor.
  • El número de nivel de Data-Name-1 = Data-Name -2 no debe ser 66 u 88.
  • El tamaño del nombre de datos de datos no debe exceder el tamaño del nombre de datos de datos-2. Sin embargo, puede ser menor que el nombre de datos-2.
  • El elemento de nombre de datos de datos no puede contener una cláusula ocurre.
  • El 01-49 data-name-1.
  • Redefine el nombre de datos-2.

Algunos ejemplos de COBOL redefinen

Ejemplo 1:

División de identificación.
ID de programa. redefinir.
División de datos.
Sección de archivo.
Sección de almacenamiento de trabajo.
01 ws-redefines-ex.
05 WS-Todays-Date PIC 9 (08) Valor "2020717".
05 WS-Curr-DTE redefine WS-Todays-Date.
10 CC PIC 9 (02).
10 yy pic 9 (02).
10 mm Pic 9 (02).
10 DD Pic 9 (02).
División de procedimiento.
A000-Mayor sección.
Mostrar "ws-todays-date:" ws-todays-date.
Mostrar "WS-Curr-DTE:" WS-Curr-DTE.
Parada.

Producción:

Papan@Papan -VirtualBox: ~/Desktop/PP/New $ COBC -XJF One.CBL
uno.CBL: 11: Advertencia: se espera el valor numérico
WS-Todays-Date: 2020717
WS-Curr-DTE: 2020717
Papan@Papan-VirtualBox: ~/Desktop/PP/New $

Explicación:

En este ejemplo, redefinimos la fecha de hoy en la fecha actual, que en realidad es una variable grupal de siglo, año, mes y día. En realidad, dividimos la fecha de hoy en cuatro campos diferentes. Entonces, la primera línea es definir el nivel de nivel 05, que es una variable llamada fecha de hoy y el tamaño de la variable es 9 de 8. Ahora, la fecha actual es la nueva variable, que en realidad es la redefinición de la fecha de hoy y el grupo de cuatro campos. El tamaño combinado de todos los campos es de 8 bytes.

Ejemplo 2:

División de identificación.
ID de programa. EMPLEADO.
División de datos.
Sección de archivo.
Sección de almacenamiento de trabajo.
01 EMP-REC.
05 EMP-REC-LY PIC X (30) Valor "David Martinez Gomes".
05 EMP-Name-DTL redefine EMP-recly.
10 EMP-FNAME PIC X (15).
10 Emp-lname Pic x (15).
05 EMP-DPT-NAME redefine EMP-recly.
10 EMP-DPT PIC X (10).
10 EMP-ADD PIC X (15).
División de procedimiento.
A000-Mayor sección.
Mostrar "EMP-REC-LY:" EMP-REC-LY.
Mostrar "EMP-Name-DTL:" EMP-Name-DTL.
Mostrar "EMP-FNAME:" EMP-FNAME.
Mostrar "emp-lname:" emp-lname.
Mostrar "EMP-DPT-NAME:" EMP-DPT-NAME.
Mostrar "EMP-Add:" EMP-Add.
Parada.

Producción:

Papan@Papan -VirtualBox: ~/Desktop/PP/New $ COBC -XJF Two.CBL
EMP-REC-LY: David Martinez Gomes
Emp-Name-DTL: David Martinez Gomes
EMP-FNAME: David Martínez
Emp-lname: Gomes
EMP-DPT-NAME: David Martinez Gomes
EMP-Add: Inez Gomes

Explicación:

En este ejemplo, redefinimos la misma variable varias veces. Existe dos campos: Emp-Rec-ly, que es el registro de detalles de EMP y EMP-DPT-NME, que es el nombre del departamento de EMP. Estas son dos variables que en realidad redefinieron EMP-Rec-ly, que es x (30). Si ve el primero que es EMP-Name-DTL, es nuevamente una variable grupal del primer y apellido con el tamaño de 15 y 10, respectivamente. Del mismo modo, solo miramos la segunda redefinición que es emp-dpt-nme, que nuevamente es una redefinición de EMP-recly. Es un grupo de variable x (10) y x (15).

Ejemplo 3:

División de identificación.
ID de programa. Meses_table.
División de datos.
Sección de archivo.
Sección de almacenamiento de trabajo.
01 mes-TBL.
05 mnth-nme.
10 Filer Pic x (03) Valor 'Jan'.
10 Filer Pic x (03) Valor 'Feb'.
10 FIMBER PIC X (03) Valor 'Mar'.
05 Filler redefine mnth-nme.
10 meses-NME ocurre 3 veces.
15 Mnth Pic x (03).
División de procedimiento.
Mostrar "mes-tbl:" mes-tbl.
Mostrar "mes-nme:" mnth-nme.
Parada.

Producción:

Papan@Papan -VirtualBox: ~/Desktop/PP/New $ COBC -XJF TRES.CBL
Month-TBL: Janfebmar
Mnth-nme: Janfebmar
Papan@Papan-VirtualBox: ~/Desktop/PP/New $

Explicación:

Pasemos a este ejemplo donde usamos la cláusula redefinir para inicializar el nombre del mes. Si imprime el valor del nombre, la tabla o la matriz de mes, encontrará que el primer hecho va a tener "Jan", el segundo ocurrencia tiene "febrero" y el tercer ocurrencia tiene "mar". Con esta técnica, puede asignar valores iniciales a su matriz o tabla.

Conclusión

En este artículo, aprendimos sobre la sintaxis general de la declaración "redefinir" en COBOL y el concepto fundamental de esta declaración donde podemos usar esta declaración en particular se explica. Esperamos que comprenda la aplicación de esta declaración.