Thursday 21 November 2024

FILE SECTION: 

  • Define todos os arquivos de entrada e saída;
  • Cada arquivo de ordenação-mesclagem;
  • Representa o nível mais alto de organização na seção Arquivo. Fornece informações sobre a estrutura física e identificação de um arquivo, e dá o registro nome (s) associado com esse arquivo;
  • Um conjunto de entradas de descrição de dados que descrevem os registros particulares contidos em um arquivo específico ou descrevem um nome de tipo (usando a cláusula TYPEDEF);
  • Mais de uma entrada de descrição de registro pode ser especificada;
  • Cada entrada que não descreve um nome de tipo é uma descrição alternativa da mesma área de armazenamento de registro;
  • As áreas de dados descritas na FILE-SECTION não estão disponíveis para processamento, a menos que o arquivo que contém a área de dados esteja aberto;
  • Os nomes de tipo definidos na FILE-SECTION podem ser usados ​​na WORKING-STORAGE SECTION ou na LINKAGE-SECTION para definir outros itens de dados;
  • Os itens de grupo (incluindo tabelas) estão limitados a um comprimento de 16 711 568 bytes;
  • O valor inicial de um item de dados na FILE-SECTION é indefinido;
  • Nota: Em um programa COBOL, o File Description (FD) Entry (ou Sort Description (SD) Entry para classificar/mesclar arquivos) representa o mais alto nível de organização na FILE-SECTION.

 

Exemplo:

*
******************************************************************
DATA DIVISION.
******************************************************************
FILE SECTION.
******************************************************************
* INPUT..: CADCLIEN – CAD DE CLIENTE - LRECL.: 100 BYTES *
******************************************************************
*
FD CADCLIE
RECORDING MODE IS F
LABEL RECORD IS STANDARD
BLOCK CONTAINS 0 RECORDS.
01 REG-CADCLIE PIC X(100).
*
******************************************************************
* OUTPUT.: CADFORN – CAD DE FORNECEDOR - LRECL.: 100 BYTES *
******************************************************************
*
FD CADFORN
RECORDING MODE IS F
LABEL RECORD IS STANDARD
BLOCK CONTAINS 0 RECORDS.
01 REG-CADFORN PIC X(100).
*
******************************************************************
WORKING-STORAGE SECTION.
******************************************************************
*

 

FILE DESCRIPTION (FD): É a descrição do arquivo.

  • (V-Formato do Arquivo “Variável”)
  • (F-Formato do Arquivo “Fixo”)
*
******************************************************************
FD CADPATU
RECORDING MODE     IS F
LABEL     RECORD   IS STANDARD (Formato do Label)
BLOCK     CONTAINS 0  RECORDS. (Quantidade de Blocos)
******************************************************************
*

  

RECORDING MODE: Designa o formato do registro.

(RECORDING MODE IS X)

  • FIXO (F)
  • FIXO BLOCADO (FB)
  • VARIÁVEL (V)
  • VARIÁVEL BLOCADO (VB)
  • VARIÁVEL SPANNED (VS)
  • VARIÁVEL BLOCADO SPANNED (VBS)
  • UNDEFINED (U)

Nota: Se não for colocada a cláusula “RECORDING MODE”, o compilador determinará pelo cartão “DD” ou catálogo.

 

LABEL RECORD: Especifica o formato do label.

(LABEL RECORD IS XXXXXXXX)

  • STANDARD -> padrão
  • OMITTED -> omitido (impressora, leitora de cartões perfuradoras não possuem “LABELS”)

Nota: Quando omitido assume “LABEL STANDARD”.

 

BLOCK CONTAINS: Especifica o tamanho do registro físico.

(BLOCK CONTAINS 9999 RECORDS)

Notas: Se for colocado zero (0), assume informações do cartão “DD”; Se não for colocado “RECORDS”, assume “CHARACTERS”.

 

RECORD CONTAINS: Especifica o tamanho do registro lógico.

(RECORD CONTAINS 9999 CHARACTERS)

Nota: Se esta cláusula for colocada, é feita uma conferência pelo compilador, somando a quantidade de bytes da definição do registro.

 

DATA RECORD:

(DATA RECORD IS RECIBO)

(DATA RECORD ARE RECIBO, NOTA, ...)

Nota: Serve apenas como documentação, identificando os registros do arquivo pelo nome.

 

Exemplo:

*******************************************************************
DATA DIVISION.
*******************************************************************
FILE SECTION.
*******************************************************************
FD FITA RECORDING MODE IS F LABEL RECORD IS STANDARD RECORD CONTAINS 50 CHARACTERS BLOCK CONTAINS 10 RECORDS DATA RECORD IS RECIBO.
01 RECIBO. 03 PRODUTO PIC X(040). 03 PRECO PIC 9(003)V9(002). 03 FILLER PIC X(005). ******************************************************************