Lições do módulo (1/2)
Definição e controle de arquivos
No COBOL, o gerenciamento de arquivos externos (como arquivos de texto ou registros binários em disco) é um dos recursos mais importantes para aplicativos corporativos em lote. Como o COBOL foi projetado muito antes dos bancos de dados modernos, os arquivos em disco atuam como armazenamento primário.
A conexão dos arquivos físicos armazenados no sistema operacional com as variáveis internas do programa ocorre em duas fases:
- Associação lógico-física no
ENVIRONMENT DIVISION. - Definição do registro de dados no
DATA DIVISION.
1. Associação: FILE-CONTROL e SELECT ASSIGN
No capítulo dedicado à estrutura do programa, exploramos ENVIRONMENT DIVISION. Dentro dele, o INPUT-OUTPUT SECTION contém o parágrafo FILE-CONTROL, que declara os arquivos externos utilizados pelo programa.
Para associar um arquivo lógico no programa (por exemplo, SALES-FILE) a um arquivo físico real no disco (por exemplo, sales.dat), use a instrução SELECT ... ASSIGN TO ...:
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT SALES-FILE ASSIGN TO "sales.dat"
ORGANIZATION IS LINE SEQUENTIAL.SELECT SALES-FILE: Define o nome lógico que o programa utilizará para referenciar o arquivo.ASSIGN TO "sales.dat": Especifica o nome do arquivo físico real (ou caminho) no disco.ORGANIZATION IS LINE SEQUENTIAL(opcional): Indica que o arquivo é um arquivo de texto simples onde cada linha representa um registro (separado por caracteres de nova linha).
2. Declaração: SEÇÃO DE ARQUIVO e FD
Após associar o arquivo no ENVIRONMENT DIVISION, devemos definir a estrutura de seus registros no DATA DIVISION. Para fazer isso, usamos uma seção dedicada chamada FILE SECTION (que precede WORKING-STORAGE SECTION).
Cada arquivo selecionado deve ter uma entrada FD (Descrição do arquivo) que declara a estrutura do registro:
DATA DIVISION.
FILE SECTION.
FD SALES-FILE.
01 SALES-RECORD.
05 EMP-ID PIC 9(5).
05 EMP-NAME PIC X(20).
05 EMP-SALARY PIC 9(6)V99.FD SALES-FILE.: Identifica a descrição do arquivo para o nome lógicoSALES-FILE. Observe que termina com um ponto final.01 SALES-RECORD.: Especifica a estrutura do grupo (registro) associada ao arquivo. Cada operação de leitura/gravação trocará dados usando esta estrutura de memória.
Experimente
Preencha o ENVIRONMENT DIVISION para declarar o INPUT-OUTPUT SECTION e o parágrafo FILE-CONTROL, associando o arquivo lógico SALES-FILE ao arquivo físico 'sales.dat' utilizando a instrução SELECT ASSIGN.
Mostrar dica
Escreva DIVISÃO DE MEIO AMBIENTE. e SEÇÃO DE ENTRADA-SAÍDA. na coluna 8 (7 espaços), depois FILE-CONTROL. na coluna 8 e, finalmente, SELECT SALES-FILE ASSIGN TO 'sales.dat'. na coluna 12 (11 espaços).
Solução disponível após 3 tentativas
Declare a DIVISÃO DE DADOS e a SEÇÃO DE ARQUIVO para o programa. Defina o Descritor de Arquivo (FD) para SALES-FILE, associando-o a um registro de nível 01 denominado SALES-RECORD contendo dois campos subordinados: SALES-ID (numérico de 4 dígitos) e SALES-AMOUNT (numérico de 5 dígitos com 2 decimais implícitos).
Mostrar dica
Use DIVISÃO DE DADOS. e SEÇÃO DE ARQUIVO. na coluna 8, FD SALES-FILE. na coluna 8, seguido de 01 REGISTRO DE VENDAS. na coluna 8, e os campos 05 SALES-ID PIC 9(4). e 05 VALOR DE VENDAS PIC 9(5)V99. na coluna 12 em novas linhas.
Solução disponível após 3 tentativas