Para não produzir um post extenso, o assunto sobre arquivos está abordado em posts particionados conforme:
- Declarações básicas
- Código básico
- Código intermediário:
Neste post é abordado os comandos e uma lógica de processamento simples para realizar a leitura e gravação de dados em um arquivo. Lembrando, que na parte 1 desse assunto foi apresentado as declarações básicas que devem ser feitas para executar uma rotina COBOL com arquivos.
O fluxo de processamento consiste em quatro passos: abrir o arquivo em modo de leitura e escrita, ler os dados do arquivo, gravar os dados (sobrescrever as informações do registro) no arquivo, e por fim encerrar o uso do arquivo (fechar o arquivo).
1 - Abrir o arquivo em modo de leitura e escrita
Quando a abertura de um arquivo é feita no modo de leitura e escrita, significa que as informações do arquivo podem ser manipuladas pelo código COBOL e depois atualizadas no arquivo, ou seja, os dados lidos do arquivo podem ser alterados por informações do banco de dados, variáveis, cálculos, etc; enfim, os dados são manipulados pelo programa COBOL e atualizados no arquivo.
A sintaxe do comando para abrir o arquivo em modo de leitura e escrita, é:
OPEN I-O nome-logico-arquivo.
Exemplo: OPEN I-O ARQUIVO-TESTE.
2 - Ler os dados no arquivo
READ nome-logico-arquivo.
3 - Gravar os dados no arquivo
Exemplo: READ ARQUIVO-TESTE.
REWRITE nome-do-item-de-grupo-do-layout-do-arquivo.
*
-- Descricao do arquivo de entrada e saida
FD ARQUIVO-TESTE.
*
*
Layout do arquivo: ARQUIVO-TESTE
01 ARQUIVO-TESTE-REG.
03 ARQ-TEST-NM-PSS PIC
X(020).
03 ARQ-TEST-NM-PSS-SNM PIC
X(040).
03 ARQ-TEST-DT-PSS-NSC PIC X(010).
Exemplo: REWRITE ARQUIVO-TESTE-REG.
4 - Encerrar o uso do arquivo
Com o fim da leitura e escrita dos dados no arquivo, é uma boa prática executar o comando CLOSE para fechar o arquivo (encerrar a sessão). Caso, algum arquivo aberto não seja fechado com este comando, então após a execução completa do programa todos arquivos ainda abertos serão fechados. Sintaxe:
CLOSE nome-logico-arquivo.
Exemplo: CLOSE ARQUIVO-TESTE.
- Exemplo prático de programa
Então com os comandos Open I-O, ReWrite e Close, podemos criar um fluxo simples e eficaz para ler as informações de um arquivo, e sobrescrever o registro do arquivo com novas informações.
Veja a parte do código que contém o fluxo para realizar a leitura e atualização dos dados de um arquivo:
Veja a parte do código que contém o fluxo para realizar a leitura e atualização dos dados de um arquivo:
Neste programa de exemplo está sendo realizada a leitura de dois registros do arquivo, e alterando a data de nascimento do segundo registro para 99/99/9999.
Ao ter adicionado comandos displays no programa de exemplo, temos a seguinte resposta após a sua execução:
Abaixo está apresentado o antes e depois dos dados do arquivo para a execução do código de exemplo:
Felipe Barbosa Ferreira
19/02/1992
Ana Vieira
12/07/1988
Joao Santos
03/05/1995
Aline Silva
14/08/1985
Maira Dantas
27/12/1976
Felipe Barbosa Ferreira
19/02/1992
Ana Vieira
99/99/9999
Joao Santos
03/05/1995
Aline Silva
14/08/1985
Maira Dantas
27/12/1976
Consultar a relação de Termos e Abreviaturas acesse aqui.
FELIPE BARBOSA FERREIRA
FELIPE BARBOSA FERREIRA
Até o próximo post!