Conceitos
A instrução READ é utilizada para ler os registros de um arquivo.
Formato 1:
READ nome-de-arquivo NEXT INTO variavel-da-working-storage AT END declaração-imperativa-1.
Considerações
O modo-de-acesso poderá de SEQUENTIAL, RANDOM ou DYNAMIC.
O arquivo deverá ser aberto nos modos INPUT ou I-O.
No modo-de-acesso SEQUENTIAL, a instrução READ lê um registro por vez do arquivo e carrega os dados existentes no arquivo para a variável declarada na FD da FILE SECTION. A cada execução da instrução READ, o registro seguinte do arquivo será carregado na variável declarada na FD. O conteúdo existente na FD será perdido.
A cláusula INTO é opcional e permite que além da gravação na FD, o conteúdo do registro também seja gravado automaticamente na variável declarada na WORKING-STORAGE SECTION.
A cláusula NEXT é utilizada para ler registros sequencialmente no modo-de-acesso DYNAMIC.
A clausula AT END faz com que o programa execute a declaração-imperativa-1 quando o final do arquivo for encontrado. É utilizada em conjunto com o modo-de-acesso SEQUENTIAL.
Formato 2:
READ nome-de-arquivo INTO variavel-da-working-storage INVALID KEY declaração-imperativa-2.
Considerações
O modo-se-acesso deverá ser RANDOM ou DYNAMIC.
O arquivo deverá ser aberto nos modos INPUT ou I-O.
A instrução READ lê o registro especificado em chave-relativa e carrega os dados existentes no arquivo para a variável declarada na FD da FILE SECTION.
A cláusula INTO é opcional e permite que além da gravação na FD, o conteúdo do registro também seja gravado automaticamente na variável declarada na WORKING-STORAGE SECTION.
A clausula INVALID KEY é obrigatória e faz com que o programa execute a declaração-imperativa-2 quando o registro não for encontrado.