COBOL - Modo de acesso ao Arquivo



Até agora, a organização dos ficheiros regimes têm sido discutidas. Para cada arquivo sistema de organização, diferentes modos de acesso pode ser utilizado. São os seguintes os tipos de modos de acesso a arquivos:

  • Acesso sequencial
  • Acesso aleatório
  • Acesso Dinâmico

As sintaxes, neste módulo, juntamente com seus respectivos termos referem-se apenas ao seu uso no programa. Os programas completos usando essas sintaxes seria discutido no próximo capítulo.

Acesso sequencial

Quando o modo de acesso é sequencial, o método de registrar recuperação muda de acordo com o arquivo selecionado.

  • Para arquivos sequenciais, os registros são acessados na mesma ordem em que foram inseridos.

  • Para arquivos indexados, o parâmetro utilizado para buscar os registros são a chave do registro os valores.

  • Para parente arquivos, registro relativo as chaves são usadas para recuperar os registros.

Sintaxe

Sintaxe é a seguinte de modo de acesso seqüencial.

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS SEQUENTIAL
   ACCESS MODE IS SEQUENTIAL
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS INDEXED
   ACCESS MODE IS SEQUENTIAL
   RECORD KEY IS rec-key1
   ALTERNATE RECORD KEY IS rec-key2
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS RELATIVE
   ACCESS MODE IS SEQUENTIAL
   RELATIVE KEY IS rec-key1

Acesso aleatório

Quando o modo de acesso é aleatória, o método de registrar recuperação muda de acordo com o arquivo selecionado.

  • Para indexado arquivos, os registros são acessados em função do valor colocado em um campo chave que pode ser primária ou chave alternativa. Pode haver um ou mais índices alternativos.

  • Para parente arquivos, os registros são recuperados mediante registro relativo as chaves.

Sintaxe

Sintaxe é a seguinte de modo de acesso aleatório.

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS INDEXED
   ACCESS MODE IS RANDOM
   RECORD KEY IS rec-key1
   ALTERNATE RECORD KEY IS rec-key2
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS RELATIVE
   ACCESS MODE IS RANDOM
   RELATIVE KEY IS rec-key1

Acesso Dinâmico

Acesso Dinâmico suporta tanto acesso seqüencial e aleatório no mesmo programa. Com acesso dinâmico, uma definição de arquivo é usado para executar tanto processamento seqüencial e aleatório como acessar alguns registros em ordem sequencial e outros registros de suas chaves.

Com relativa e indexado arquivos, o modo de acesso dinâmico permite-lhe alternar para a frente e para trás entre modo de acesso seqüencial e modo de acesso aleatório ao ler um arquivo, usando a seguinte frase sobre a leitura. AO LADO e LEIA as funcionalidades serão abordadas no próximo capítulo.

Sintaxe

Sintaxe é a seguinte dinâmica do modo de acesso:

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS SEQUENTIAL
   ACCESS MODE IS DYNAMIC
   RECORD KEY IS rec-key1
   ALTERNATE RECORD KEY IS rec-key2
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS RELATIVE
   ACCESS MODE IS DYNAMIC
   RELATIVE KEY IS rec-key1
Advertisements