Pular para o conteúdo principal
Módulo 5 · Lição 1 de 29/10 no curso~15 min
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:

  1. Associação lógico-física no ENVIRONMENT DIVISION.
  2. 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 ...:

COBOL
       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:

COBOL
       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ógico SALES-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

Exercício#cobol.m5.l1.e1
Tentativas: 0Carregando…

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.

Carregando editor…
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

Exercício#cobol.m5.l1.e2
Tentativas: 0Carregando…

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).

Carregando editor…
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