Saltar navegação

S03 - WRITE e REWRITE

Conceitos

WRITE 

A instrução WRITE é utilizada para gravar registros em um arquivo.

Formato:

WRITE nome-de-registro FROM variavel-1.

Considerações

O arquivo deverá ser aberto no modo OUTPUT.

Esta instrução transfere e grava no arquivo todos os dados existentes na variável declarada na FD.

O nome-de-registro utilizado na instrução é o nome que foi definido para o registro no nível 01 da FD.

O parâmetro FROM permite que o conteúdo de variavel-1 seja automáticamente transferido para nome-de-registro na FD antes da gravação. A variavel-1 não poderá ser a área definida na FD. O efeito é o mesmo que a combinação das instruções MOVE e WRITE.

Por exemplo, dadas as declarações;

DATA DIVISION.

FILE SECTION.

FD CADASTRO.

01 REGISTRO-CADASTRO PIC X(100).

WORKING-STORAGE SECTION.

01 REGISTRO-CAD-DETALHADO.

03 MATRICULA PIC 9(5).

03 NOME-FUNC PIC X(30).

03 ESPACOS PIC X(65).

PROCEDURE DIVISION.

OPEN OUTPUT CADASTRO.

LEITURA.

...

... outras instruções ...

...

GRAVACAO.

WRITE REGISTRO-CADASTRO FROM REGISTRO-CAD-DETALHADO.

GO TO LEITURA.

FINAL.

CLOSE CADASTRO.

STOP RUN.

 

a instrução WRITE grava em CADASTRO, registros cujo conteúdo está em REGISTRO-CAD-DETALHADO e é transferido para REGISTRO-CADASTRO antes da gravação.

REWRITE 

A instrução REWRITE é utilizada para sobregravar um registro do arquivo. O registro a ser sobregravado deverá ser lido antes de ser sobregravado.

Formato:

REWRITE nome-de-registro FROM variavel-1.

Considerações

O arquivo deverá ser aberto no modo I-O.

Esta instrução transfere e grava no arquivo, na posição do registro lido, todos os dados existentes na variável declarada na FD. O conteúdo existente no arquivo será perdido.

O tamanho do registro a ser sobregravado não poderá ser modificado.

O nome-de-registro utilizado na instrução é o nome que foi definido para o registro no nível 01 da FD.

O parâmetro FROM permite que o conteúdo de variavel-1 seja automáticamente transferido para nome-de-registro na FD antes da gravação. A variavel-1 não poderá ser a área definida na FD. O efeito é o mesmo que a combinação das instruções MOVE e WRITE.

Por exemplo, dadas as declarações;

DATA DIVISION.

FILE SECTION.

FD CADASTRO.

01 REGISTRO-CADASTRO PIC X(100).

WORKING-STORAGE SECTION.

01 REGISTRO-CAD-DETALHADO.

03 MATRICULA PIC 9(5).

03 NOME-FUNC PIC X(30).

03 ESPACOS PIC X(65).

PROCEDURE DIVISION.

OPEN I-O CADASTRO.

LEITURA.

READ REGISTRO-CADASTRO INTO REGISTRO-CAD-DETALHADO AT END GO TO FINAL.

...

... outras instruções ...

...

REWRITE REGISTRO-CADASTRO FROM REGISTRO-CAD-DETALHADO

GO TO LEITURA.

FINAL.

CLOSE CADASTRO.

STOP RUN.

a instrução REWRITE sobregrava em CADASTRO, o registro recém lido através da instrução READ, cujo conteúdo está em REGISTRO-CAD-DETALHADO e é transferido para REGISTRO-CADASTRO antes da gravação.

Licença: licença proprietária