A cláusula Renames é usada para dar nomes diferentes a itens de dados existentes. Ele é usado para reagrupar os nomes de dados e dar um novo nome a eles. Os novos nomes de dados podem ser renomeados em grupos ou itens elementares. O nível número 66 é reservado para renomeações.
A seguir está a sintaxe para a cláusula Renames.
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. |
Explicação:
A renomeação só é possível no mesmo nível. No exemplo acima, WS-A, WS-B e WS-C estão no mesmo nível.
A definição de renomeação deve ser a próxima descrição de dados que você deseja renomear.
Não use Renames com os números de nível 01 ou 77.
Os nomes de dados usados para renomeações devem vir em sequência.
IDENTIFICATION DIVISION. PROGRAM-ID. CBLRNAME. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-DESCRIPTION. 05 WS-NUM. 10 WS-NUM1 PIC 9(2) VALUE 11. 10 WS-NUM2 PIC 9(2) VALUE 22. 05 WS-CHAR. 10 WS-CHAR1 PIC X(2) VALUE 'XX'. 10 WS-CHAR2 PIC X(2) VALUE 'YY'. 66 WS-RENAME RENAMES WS-NUM2 THRU WS-CHAR2. PROCEDURE DIVISION. DISPLAY "WS-RENAME : " WS-RENAME. GOBACK. |
Quando você compila e executa o programa acima, ele produz o seguinte resultado.
WS-RENAME : 22XXYY |
A cláusula RENAMES é usada para reagrupar itens de dados elementares e dá um nome a eles. A cláusula REDEFINES permite que você use diferentes entradas de descrições de dados para descrever a mesma área de memória.