Conceitos
Exemplo de programa incluindo registros em um arquivo relativo.
000000 IDENTIFICATION DIVISION.000000 PROGRAM-ID. IVEE40.
000000*
000000* PROGRAMA EXEMPLO - ARQUIVO RELATIVO
000000*
000000 ENVIRONMENT DIVISION.
000000 INPUT-OUTPUT SECTION.
000000 FILE-CONTROL.
000000 SELECT ARQUIVO-ENTRADA
000000 ASSIGN TO ENTRA
000000 ORGANIZATION IS LINE SEQUENTIAL.
000000 SELECT ARQUIVO-RELATIVO
000000 ASSIGN TO RELATIVO
000000 ORGANIZATION IS RELATIVE
000000 ACCESS MODE IS DYNAMIC
000000 RELATIVE KEY IS CHAVE-POSICAO-RELATIVA.
000000 DATA DIVISION.
000000 FILE SECTION.
000000 FD ARQUIVO-ENTRADA.
000000 01 REG-ENTRADA.
000000 03 REG-ENT PIC X(40).
000000 FD ARQUIVO-RELATIVO.
000000 01 REG-RELATIVO.
000000 03 REG-RELAT PIC X(40).
000000 WORKING-STORAGE SECTION.
000000 01 CHAVE-POSICAO-RELATIVA PIC 9(5) BINARY.
000000 01 REGISTRO-ENTRADA.
000000 03 E-POSICAO-RANK PIC 9(2) VALUE ZEROS.
000000 03 E-ULTIMO-NOME PIC X(11) VALUE SPACES.
000000 03 E-PRIMEIRO-NOME PIC X(13) VALUE SPACES.
000000 03 E-CODIGO-PAISME PIC X(3) VALUE SPACES.
000000 03 E-TOTAL-PONTOS PIC 9(5) VALUE ZEROS.
000000 03 E-MOV-REL-ANTER PIC X(4) VALUE SPACES.
000000 03 E-PARTIDAS-JOGADAS PIC 9(2) VALUE ZEROS.
000000 PROCEDURE DIVISION.
000000 INICIO.
000000 OPEN INPUT ARQUIVO-ENTRADA.
000000 OPEN I-O ARQUIVO-RELATIVO.
000000 LEITURA.
000000 READ ARQUIVO-ENTRADA INTO REGISTRO-ENTRADA
000000 AT END GO TO TERMINA.
000000 PROCESSO.
000000 MOVE E-POSICAO-RANK TO CHAVE-POSICAO-RELATIVA.
000000 WRITE REG-RELATIVO FROM REGISTRO-ENTRADA
000000 INVALID KEY
000000 DISPLAY "POSIÇÃO JÁ EXISTENTE " E-POSICAO-RANK.
000000 GO TO LEITURA.
000000 TERMINA.
000000 CLOSE ARQUIVO-ENTRADA
000000 ARQUIVO-RELATIVO.
000000 STOP RUN.