Olá!
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:
As declarações básicas que devem ser realizadas para trabalhar com arquivos no COBOL, são feitas em três sections: INPUT-OUTPUT; FILE e LOCAL-STORAGE. Conforme abaixo:
- INPUT-OUTPUT
Definição do nome do arquivo lógico para o endereço do arquivo físico, O nome lógico do arquivo é o que será usado no código do programa.
A sintaxe do código:
*
FILE-CONTROL.
*
*
-- Arquivo de leitura
SELECT nome-arquivo-logico
ASSIGN endereco-do-arquivo-fisico
FILE STATUS IS variavel-do-status-do-arquivo.
Uma boa prática é definir nome lógico do arquivo conforme seu nome físico, exemplo:
*
FILE-CONTROL.
*
*
-- Arquivo de leitura
SELECT ARQUIVO-ENTRADA
ASSIGN 'C:\workspace\arquivo-entrada.txt'
FILE STATUS IS IN-FILE-EST-ARQ-ENTD.
- FILE
Descrição do tipo de arquivo e registro. As declarações do tipo de arquivo são opcionais e são feitas na FD (file description) para maiores detalhes destas declarações veja aqui.
A descrição do registro do arquivo ou também como conhecida de layout do arquivo, é definido logo após a FD do arquivo, contendo exatamente as informações que estão no arquivo. Ou seja, se no arquivo haver por exemplo um nome com o tamanho de 20 bytes e o sobrenome com também 20 bytes de tamanho, o registro do arquivo possui o tamanho de 40 bytes. Assim a representação no COBOL é uma variável nome e sobrenome com o formato de PIC X(020) cada uma.
Abaixo veja o exemplo de layout para o arquivo-entrada.txt
*
*
-- Descricao do arquivo de entrada
FD ARQUIVO-ENTRADA.
*
*
Layout do arquivo: ARQUIVO-ENTRADA
01 ARQUIVO-ENTRADA-REG.
03 ARQ-ENTD-NM-PSS
PIC X(020).
03 ARQ-ENTD-NM-PSS-SNM PIC
X(040).
03 ARQ-ENTD-DT-PSS-NSC PIC X(010).
Note que o nome na FD é o nome do arquivo lógico, deste modo está FD está referenciando o arquivo-entrada.txt. E também podemos visualizar que cada registro deste arquivo possui o nome da pessoa com 20 bytes, o sobrenome com 40 bytes, e a data de nascimento com 10 bytes.
- LOCAL-STORAGE
Nesta section é realizada a declaração da variável para armazenar o status das operações (leitura, escrita, etc.) realizadas no arquivo é feita conforme:
*
*
-- Declaracao de file-status do arquivo: ARQUIVO-ENTRADA
01 IN-FILE-EST-ARQ-ENTD PIC X(002) VALUE SPACES.
A variável possui o formato de PIC X(002), pois os códigos retornados destas operações não são superior a este formato. Veja a tabela de códigos aqui.
Com as declarações feitas acima já é possível realizar operações no arquivo-entrada.txt. Estas operações serão demonstradas nos próximos posts.
Nenhum comentário:
Postar um comentário