Quando utilizamos uma lista (array) é uma boa prática limpar os registros antes de movimentar os valores para as variáveis.
Assim, se declararmos por exemplo uma lista de 5 posições (occurs), deveria ser feita uma limpeza de cada um dos registros. E uma forma de realizar esse processo, é:
INITIALIZE nomeLista(1)
nomeLista(2)
nomeLista(3)
nomeLista(4)
nomeLista(5).
Entretanto, se declararmos uma lista com 100 posições, esse INITIALIZE não será uma boa forma de realizar esse processo. Pois, imagine o tamanho que a instrução de inicialização terá para uma lista de 100 ou mais posições.
Então, para realizar o processo de limpeza em listas fixas com muitas posições, é viável realizar um loop para percorrer a lista e limpar cada registro. Segue abaixo um exemplo de estrutura de repetição simples, para percorrer uma lista e limpar cada registro:
* -- LIMPA A LISTA
PERFORM VARYING TALLY FROM 1 BY 1 UNTIL TALLY > totalDeOcorrencias
INITIALIZE nomeLista(TALLY)
END-PERFORM.
Onde:
totalDeOcorrencias = ao número de OCCURS da lista
Consultar a relação de Termos e Abreviaturas acesse aqui.
Até o próximo post!
Nenhum comentário:
Postar um comentário