Módulo COBOL que efetua gravação em arquivo sequencial.


      ******************************************************************
      * PROGRAMADOR: JOSE ROBERTO - COBOLDICAS
      * DATA: 13/02/2025
      * OBJETIVO: MODULO DE GRAVACAO EM ARQUIVO SEQUENCIAL
      * OBS.: 
      ******************************************************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID. GRAV001A.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT ARQUIVO-OUT ASSIGN TO "SEQSAI02.dat"
           ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD  ARQUIVO-OUT.
       01  WRK-COPY002A-REGISTRO.
        05  WRK-COPY002A-CADUSUAR.
         10 WRK-COPY002A-COD                PIC 9(02).
         10 WRK-COPY002A-NOME               PIC X(30).
         10 WRK-COPY002A-IDADE              PIC 9(02).
         10 WRK-COPY002A-DATA-NASC          PIC 9(08).
         10 WRK-COPY002A-CARGO              PIC X(20).    
         10 WRK-COPY002A-EMAIL              PIC X(50).
         10 WRK-COPY002A-TELEFONE           PIC 9(09).
         10 WRK-COPY002A-ENDERECO.
          15 WRK-COPY002A-RUA               PIC X(50).
          15 WRK-COPY002A-CIDADE            PIC X(30).
          15 WRK-COPY002A-ESTADO            PIC X(02).
          15 WRK-COPY002A-CEP               PIC 9(08).

       WORKING-STORAGE SECTION.
       01  WRK-IND1                PIC 9(02) VALUE ZEROS.
       01  WRK-IND2                PIC 9(02) VALUE ZEROS.

       LINKAGE SECTION.
      * DEFINICAO DA ESTRUTURA DO ARQUIVO
       COPY COPY002A.

      *================================================================*
       PROCEDURE DIVISION USING COPY002A-REGISTRO.
      *================================================================*

      *----------------------------------------------------------------*
      *    PROCESSAMENTO PRINCIPAL
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0000-processar
       0000-PROCESSAR                  SECTION.
      *----------------------------------------------------------------*
            PERFORM 0001-ABRE-ARQUIVO 
            PERFORM 0002-ESCREVE-REGISTROS
            PERFORM 0003-FECHA-ARQUIVO
            PERFORM 9999-FINALIZAR 
            .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0000-end
       0000-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    ABRE ARQUIVO DE SAIDA
      *----------------------------------------------------------------*
       0001-ABRE-ARQUIVO               SECTION.
      *----------------------------------------------------------------*

           OPEN OUTPUT ARQUIVO-OUT
           .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0001-end
       0001-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    GRAVA REGISTROS NO ARQUIVO SEQUENCIAL 
      *----------------------------------------------------------------*
       0002-ESCREVE-REGISTROS          SECTION.
      *----------------------------------------------------------------*

           PERFORM VARYING WRK-IND1 FROM 1 BY 1 UNTIL
                           WRK-IND1 GREATER COPY002A-QUANT-REG 
                      MOVE COPY002A-CADUSUAR(WRK-IND1)
                                       TO WRK-COPY002A-REGISTRO
                     WRITE WRK-COPY002A-REGISTRO
           END-PERFORM
            .
      *----------------------------------------------------------------*      
      *> cobol-lint CL002 0002-end
       0002-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    ABRE ARQUIVO DE SAIDA
      *----------------------------------------------------------------*
       0003-FECHA-ARQUIVO              SECTION.
      *----------------------------------------------------------------*

           CLOSE ARQUIVO-OUT
           .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0003-end
       0003-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    FINALIZAR PROGRAMA
      *----------------------------------------------------------------*
       9999-FINALIZAR                  SECTION.
      *----------------------------------------------------------------*

            DISPLAY "ARQUIVO GRAVADO COM SUCESSO!"

            GOBACK.
            
      *----------------------------------------------------------------*
      *> cobol-lint CL002 9999-end
       9999-END.                       EXIT.
      *----------------------------------------------------------------*