Programa COBOL de Cadastro de usuários, efetua chamadas em diversos módulos COBOL.


      ******************************************************************
      * PROGRAMADOR: JOSE ROBERTO - COBOLDICAS
      * DATA: 06/02/2025
      * OBJETIVO: PROGRAMA DE CADASTRO DE USUARIO
      * OBS.: 
      ******************************************************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID. CAD0001A.

       DATA DIVISION.
       WORKING-STORAGE SECTION.

      *  MASCARA FORMATO DA DATA - DD/MM/AAAA
       01  WRK-MASC-DATA.
         05 WRK-MASC-DATA-DIA          PIC 9(002) VALUE ZEROS.
         05 FILLER                     PIC X(001) VALUE '/'.
         05 WRK-MASC-DATA-MES          PIC 9(002) VALUE ZEROS.
         05 FILLER                     PIC X(001) VALUE '/'.
         05 WRK-MASC-DATA-ANO          PIC 9(004) VALUE ZEROS.

      *     DEFINICAO DE DATA E HORA DO SISTEMA. 
            COPY COD001A.

      *     Definição da estrutura do cadastro
            COPY COPY002A.
 
       PROCEDURE DIVISION.

      *----------------------------------------------------------------*
      *    PROCESSAMENTO PRINCIPAL
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0000-processar
       0000-PROCESSAR                  SECTION.
      *----------------------------------------------------------------*
            PERFORM 0001-OBTER-DATA 
            PERFORM 1002-LER-ARQSEQ
            PERFORM 0002-CAD-USUAR
            PERFORM 0005-CLASSIFICAR-REG
            PERFORM 0003-GRAVA-ARQSEQ
            PERFORM 0004-REL-USUAR
            PERFORM 9999-FINALIZAR
            .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0000-end
       0000-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    OBTER DATA SISTEMA
      *----------------------------------------------------------------*
       0001-OBTER-DATA                  SECTION.
      *----------------------------------------------------------------*

            CALL 'PROGDATA' USING COD001A-REGISTRO. 

            MOVE COD001A-DATA-ANO      TO WRK-MASC-DATA-ANO
            MOVE COD001A-DATA-MES      TO WRK-MASC-DATA-MES
            MOVE COD001A-DATA-DIA      TO WRK-MASC-DATA-DIA
           .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0001-end
       0001-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    FAZER CADASTRO USUARIO
      *----------------------------------------------------------------*
       0002-CAD-USUAR                  SECTION.
      *----------------------------------------------------------------*
 
            CALL 'CAD0002A' USING COPY002A-REGISTRO
            .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0002-end
       0002-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    FAZER CADASTRO USUARIO
      *----------------------------------------------------------------*
       1002-LER-ARQSEQ                 SECTION.
      *----------------------------------------------------------------*
 
            CALL 'LER0001A' USING COPY002A-REGISTRO
            .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 1002-end
       1002-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    FAZER CADASTRO USUARIO
      *----------------------------------------------------------------*
       0003-GRAVA-ARQSEQ               SECTION.
      *----------------------------------------------------------------*

            CALL 'GRAV001A' USING COPY002A-REGISTRO
            .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0003-end
       0003-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
       0004-REL-USUAR                  SECTION.
      *----------------------------------------------------------------*

            IF COPY002A-QUANT-REG NOT EQUAL ZEROS
               CALL 'REL0001A' USING COPY002A-REGISTRO
            ELSE 
               DISPLAY 'NAO HÁ DADOS INFORMADOS NA TELA'
            END-IF 
            .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0004-end
       0004-END.                       EXIT.
      *----------------------------------------------------------------*

      *----------------------------------------------------------------*
      *    FAZER CADASTRO USUARIO
      *----------------------------------------------------------------*
       0005-CLASSIFICAR-REG            SECTION.
      *----------------------------------------------------------------*

            CALL 'SORT001A' USING COPY002A-REGISTRO
            .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 0005-end
       0005-END.                       EXIT.
      *----------------------------------------------------------------*

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

            DISPLAY "DATA.........: " WRK-MASC-DATA
            STOP RUN
            .
      *----------------------------------------------------------------*
      *> cobol-lint CL002 9999-end
       9999-END.                       EXIT.
      *----------------------------------------------------------------*