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.