1
resposta

Utilizando a tabela inteiramente (e não elementos isolados)

Boa tarde Ivan, construi uma tabela utilizando o OCCURS e a populei na PROCEDURE DIVISION. Agora, gostaria de de poder mover todos os elementos da tabela (são 3 elementos de 52 bytes cada, totalizando 156 bytes) para uma variável PIC X(1000). Tem alguma forma de realizar isso mais eficientemente, sem lançar mão de hard code? Por exemplo:

MOVE ELEMENTO(1) TO CAMPO (1:52)
MOVE ELEMENTO(2) TO CAMPO (53:52)
MOVE ELEMENTO(3) TO CAMPO (105:52)

Minha tentativa inicial foi mover a tabela pelo nome (ELEMENTO) diretamente para o CAMPO, mas recebo a mensagem de que um subscrito ou índice é necessário...

obrigado!

1 resposta

Rodrigo, boa tarde.

Considerando que CAMPO seja a variavel de 1000 posicoes:

PERFORM VARYING ITEM 1 BY 1 UNTIL ITEM > 3

MOVE ELEMENTO(ITEM) TO CAMPO(POSICAO:52)

ADD 52 TO POSICAO

END-PERFORM


VARIAVEIS (NA WORKING)

77 POSICAO PIC 9(02) VALUE 1.

77 ITEM PIC 9(02) VALUE 0.


Blz ? Ivan