Saltar al contenido principal
eLearner.app
Módulo 4 · Lección 1 de 27/10 en el curso~12 min
Lecciones del módulo (1/2)

Registros y Estructuras de Grupo

En COBOL, las variables elementales se pueden agrupar dentro de una estructura jerárquica llamada estructura de grupo o registro (record). Esto permite tratar un conjunto de datos relacionados tanto como una sola entidad (por ejemplo, para copiarlos o mostrarlos) como campos individuales.

Números de nivel y relaciones jerárquicas

Para definir un registro, se utilizan los números de nivel en la DATA DIVISION:

  • Nivel 01: Define el registro principal (el nombre del grupo). No tiene una cláusula PICTURE propia, ya que su tamaño está determinado por la suma de los campos internos.
  • Niveles subordinados (05, 10, 15, etc.): Identifican los campos subordinados pertenecientes al grupo de nivel superior. Pueden ser variables elementales (con cláusula PIC) o a su vez otros grupos (subregistros).
Code
01 WS-EMPLOYEE-RECORD.
    05 WS-EMP-ID       PIC 9(5).
    05 WS-EMP-NAME     PIC X(20).
    05 WS-EMP-SALARY   PIC 9(6)V99.

En este ejemplo, WS-EMPLOYEE-RECORD es una estructura de grupo que contiene tres campos subordinados. Si hacemos referencia a WS-EMPLOYEE-RECORD, estamos leyendo o escribiendo los 8 + 20 + 5 = 33 caracteres del registro de una sola vez.

La instrucción MOVE y las estructuras de grupo

Podemos asignar valores a los campos elementales individuales:

Code
MOVE 10023 TO WS-EMP-ID.
MOVE "JOHN DOE" TO WS-EMP-NAME.

O podemos copiar un registro completo en otro registro compatible en una sola operación:

Code
MOVE WS-EMPLOYEE-RECORD TO WS-EMPLOYEE-BACKUP.

Pruébalo tú mismo

Ejercicio#cobol.m4.l1.e1
Intentos: 0Cargando...

Declara una estructura de grupo 01 llamada WS-STUDENT-RECORD que contenga tres campos subordinados de nivel 05: WS-STUDENT-ID (numérico de 5 dígitos), WS-STUDENT-NAME (alfanumérico de 15 caracteres) y WS-STUDENT-GPA (numérico con 1 dígito entero y 2 decimales).

Cargando editor...
Mostrar pista

Usa la sintaxis correcta: 01 WS-STUDENT-RECORD. (con punto y sin PIC), seguido en las líneas siguientes por los niveles 05 WS-STUDENT-ID PIC 9(5)., 05 WS-STUDENT-NAME PIC X(15). y 05 WS-STUDENT-GPA PIC 9(1)V99.

Solución disponible después de 3 intentos

Ejercicio#cobol.m4.l1.e2
Intentos: 0Cargando...

Completa la PROCEDURE DIVISION moviendo el valor 10023 a WS-EMP-ID, el texto 'JOHN DOE' a WS-EMP-NAME y finalmente muestra la estructura de grupo WS-EMPLOYEE-RECORD usando DISPLAY.

Cargando editor...
Mostrar pista

Usa MOVE 10023 TO WS-EMP-ID. y MOVE 'JOHN DOE' TO WS-EMP-NAME. para asignar valores a las variables, luego escribe DISPLAY WS-EMPLOYEE-RECORD. y finalmente STOP RUN.

Solución disponible después de 3 intentos