sexta-feira, 10 de junho de 2016

Loop simples para limpar uma lista fixa

Olá!

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