domingo, 11 de dezembro de 2016

Trabalhando com arquivos - Parte 2.2 - Código escrita arquivo

Olá!

Para não produzir um post extenso, o assunto sobre arquivos está abordado em posts particionados conforme:
  1. Declarações básicas
  2. Código básico
    1. Código leitura arquivo
    2. Código escrita arquivo
    3. Código leitura/escrita no mesmo arquivo
  3. Código intermediário:
    1. Balance-Line conceito
    2. Balance-Line código
Neste post é abordado os comandos e uma lógica de processamento simples para realizar a 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 três passos: abrir o arquivo em modo de escrita, gravar os dados  (registro) no arquivo e encerrar o uso do arquivo (fechar o arquivo).


    1 - Abrir o arquivo em modo de escrita

Quando a abertura de um arquivo é feita modo de escrita, significa que as informações trabalhadas pelo código COBOL podem ser transmitidas para dentro do arquivo, ou seja, os dados (informações do banco de dados, variáveis, cálculos, etc.) manipulados pelo programa COBOL podem ser gravados em um arquivo.

A sintaxe do comando para abrir o arquivo em modo de escrita, é :
OPEN OUTPUT nome-logico-arquivo.

Exemplo: OPEN OUTPUT ARQUIVO-SAIDA.


    2 - Gravar os dados no arquivo

Após ter feito a abertura do arquivo com OPEN OUTPUT, o arquivo está pronto receber informações do programa COBOL. E com o comando WRITE é realizado a gravação dos dados no arquivo. Sintaxe:
WRITE nome-do-item-de-grupo-do-layout-do-arquivo.

      * -- Descricao do arquivo de saida
       FD ARQUIVO-SAIDA.
      *
      * Layout do arquivo: ARQUIVO-SAIDA
       01 ARQUIVO-SAIDA-REG.
           03 ARQ-SAID-NM-PSS           PIC  X(020).

           03 ARQ-SAID-DT-PSS-NSC       PIC  X(010).

Exemplo: WRITE ARQUIVO-SAIDA-REG.



    3 - Encerrar o uso do arquivo

Com o fim da 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-SAIDA.

  • Exemplo prático de programa
Então com os comandos Open Input, Write e Close, podemos criar um fluxo simples e eficaz para a escrita de dados em um arquivo sequencial.

Veja a parte do código que contém o fluxo para realizar a gravação dos dados no arquivo:
FELIPE BARBOSA FERREIRA - FLUXO GRAVACAO ARQUIVO

Sendo que deste modo, se o arquivo já possuir informações, estas serão sobrepostas pela gravação dos dados do programa COBOL. Neste exemplo o arquivo está sendo gravado com as informações de pessoas e cada registro possui os dados dispostos da seguinte forma: o nome com no máximo 20 caracteres;  data de nascimento no formato dd/mm/aaaa.

Abaixo está apresentado os dados que foram gravados no arquivo de saída pela execução do código de exemplo arquivo-saida.txt, que contém 3 registros:

Felipe Barbosa      19/02/1992
Ana Vieira          02/04/1988
Joao Santos         03/05/1995


Também, há o comando OPEN EXTEND que permite a gravação de dados em um arquivo que já possua informações, ou seja, quando realizado a abertura de um arquivo no modo EXTEND é possivel adicionar dados após as informações contidas no arquivo.

Para Ctrl + C do código acesse aqui.
Consultar a relação de Termos e Abreviaturas acesse aqui.
FELIPE BARBOSA FERREIRA

Até o próximo post!

Nenhum comentário:

Postar um comentário