COBOL - DATA DIVISION - DDE - REDEFINES clause examples



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - DATA DIVISION - data description entry - REDEFINES clause examples
Enterprise COBOL for z/OS, V4.2, Language Reference

A cláusula REDEFINES pode ser especificada para um item no escopo de (subordinado a) uma área redefinida.
No exemplo a seguir, WEEKLY-PAY redefine SEMI-MONTHLY-PAY (que está dentro do escopo de REGULAR-EMPLOYEE, enquanto REGULAR-EMPLOYEE é redefinido por TEMPORARY-EMPLOYEE).

           05  REGULAR-EMPLOYEE.
               10  LOCATION                       PICTURE A(8).
               10  GRADE                          PICTURE X(4).
               10  SEMI-MONTHLY-PAY               PICTURE 9999V99.
               10  WEEKLY-PAY REDEFINES SEMI-MONTHLY-PAY
                                                  PICTURE 999V999.
           05  TEMPORARY-EMPLOYEE REDEFINES REGULAR-EMPLOYEE.
               10  LOCATION                       PICTURE A(8).
               10  FILLER                         PICTURE X(6).
               10  HOURLY-PAY                     PICTURE 99V99.

A cláusula REDEFINES também pode ser especificada para um item subordinado a um item redefinido, conforme mostrado para CODE-H REDEFINES HOURLY-PAY no seguinte exemplo:

           05  REGULAR-EMPLOYEE.
               10  LOCATION                       PICTURE A(8).
               10  GRADE                          PICTURE X(4).
               10  SEMI-MONTHLY-PAY               PICTURE 999V999.
           05  TEMPORARY-EMPLOYEE REDEFINES REGULAR-EMPLOYEE.
               10  LOCATION                       PICTURE A(8).
               10  FILLER                         PICTURE X(6).
               10  HOURLY-PAY                     PICTURE 99V99.
               10  CODE-H REDEFINES HOURLY-PAY    PICTURE 9999.

Os itens de dados em uma área podem ser redefinidos sem alterar seus comprimentos.
Por exemplo:

           05  NAME-2.
               10  SALARY                         PICTURE XXX.
               10  SO-SEC-NO                      PICTURE X(9).
               10  MONTH                          PICTURE XX.
           05  NAME-1 REDEFINES NAME-2.
               10  WAGE                           PICTURE XXX.
               10  EMP-NO                         PICTURE X(9).
               10  YEAR                           PICTURE XX.

Os comprimentos e tipos de itens de dados também podem ser reconhecidos em uma área.
Por exemplo:

           05  NAME-2.
               10  SALARY                         PICTURE XXX.
               10  SO-SEC-NO                      PICTURE X(9).
               10  MONTH                          PICTURE XX.
           05  NAME-1 REDEFINES NAME-2.
               10  WAGE                           PICTURE 999V999.
               10  EMP-NO                         PICTURE X(6).
               10  YEAR                           PICTURE XX.

Os itens de dados também podem ser especificados novamente com um comprimento maior que o comprimento do item redefinido.
Por exemplo:

           05  NAME-2.
               10  SALARY                         PICTURE XXX.
               10  SO-SEC-NO                      PICTURE X(9).
               10  MONTH                          PICTURE XX.
           05  NAME-1 REDEFINES NAME-2.
               10  WAGE                           PICTURE 999V999.
               10  EMP-NO                         PICTURE X(6).
               10  YEAR                           PICTURE X(4).

Isso não altera o comprimento do item redefinido NAME-2.


© Copyright IBM Corp.