Módulo COBOL para obter DATA do sistema atraves do comando ACCEPT.
******************************************************************
* PROGRAMADOR: JOSE ROBERTO - COBOLDICAS
* DATA: 30/01/2025
* OBJETIVO: OBTER DATA DO SISTEMA
******************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. PROGDATA.
*================================================================*
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WRK-DIAS-ANO-YYYYDDD.
05 WRK-DIAS-ANO-AAAA PIC 9(004) VALUE zeros.
05 WRK-DIAS-ANO-DDD PIC 9(003) VALUE ZEROS.
LINKAGE SECTION.
*01 LNK-AREA-COD001A.
COPY COD001A.
*================================================================*
PROCEDURE DIVISION USING COD001A-REGISTRO.
*================================================================*
*----------------------------------------------------------------*
* PROCESSAMENTO PRINCIPAL
*----------------------------------------------------------------*
*> cobol-lint CL002 0000-processar
0000-PROCESSAR SECTION.
*----------------------------------------------------------------*
* DISPLAY 'INICIO DO PROGRAMA PROGDATA'
PERFORM 0001-OBTER-DATA
PERFORM 0002-OBTER-DESC-MES
PERFORM 0003-OBTER-DESC-SEM
PERFORM 0004-OBTER-DIAS-ANO
PERFORM 9999-FINALIZAR
.
*----------------------------------------------------------------*
*> cobol-lint CL002 0000-end
0000-END. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
* OBTER DATA DO SISTEMA
*----------------------------------------------------------------*
0001-OBTER-DATA SECTION.
*----------------------------------------------------------------*
ACCEPT COD001A-DATA FROM DATE YYYYMMDD
ACCEPT COD001A-DIA-SEMANA FROM DAY-OF-WEEK
.
*----------------------------------------------------------------*
*> cobol-lint CL002 0001-end
0001-END. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
* OBTER DESCRICAO DO MES
*----------------------------------------------------------------*
0002-OBTER-DESC-MES SECTION.
*----------------------------------------------------------------*
EVALUATE COD001A-DATA-MES
WHEN 01
MOVE 'JANEIRO' TO COD001A-DESC-MES
WHEN 02
MOVE 'FEVEREIRO' TO COD001A-DESC-MES
WHEN 03
MOVE 'MARCO' TO COD001A-DESC-MES
WHEN 04
MOVE 'ABRIL' TO COD001A-DESC-MES
WHEN 05
MOVE 'MAIO' TO COD001A-DESC-MES
WHEN 06
MOVE 'JUNHO' TO COD001A-DESC-MES
WHEN 07
MOVE 'JULHO' TO COD001A-DESC-MES
WHEN 08
MOVE 'AGOSTO' TO COD001A-DESC-MES
WHEN 09
MOVE 'SETEMBRO' TO COD001A-DESC-MES
WHEN 10
MOVE 'OUTUBRO' TO COD001A-DESC-MES
WHEN 11
MOVE 'NOVEMBRO' TO COD001A-DESC-MES
WHEN 12
MOVE 'DEZEMBRO' TO COD001A-DESC-MES
WHEN OTHER
MOVE 'INVALIDO' TO COD001A-DESC-MES
END-EVALUATE
.
*----------------------------------------------------------------*
*> cobol-lint CL002 0002-end
0002-END. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
* OBTER DESCRICAO DA SEMANA
*----------------------------------------------------------------*
0003-OBTER-DESC-SEM SECTION.
*----------------------------------------------------------------*
EVALUATE COD001A-DIA-SEMANA
WHEN 01
MOVE 'SEGUNDA-FEIRA' TO COD001A-DESC-SEMANA
WHEN 02
MOVE 'TERCA-FEIRA' TO COD001A-DESC-SEMANA
WHEN 03
MOVE 'QUARTA-FEIRA' TO COD001A-DESC-SEMANA
WHEN 04
MOVE 'QUINTA-FEIRA' TO COD001A-DESC-SEMANA
WHEN 05
MOVE 'SEXTA-FEIRA' TO COD001A-DESC-SEMANA
WHEN 06
MOVE 'SABADO' TO COD001A-DESC-SEMANA
WHEN 07
MOVE 'DOMINGO' TO COD001A-DESC-SEMANA
WHEN OTHER
MOVE 'INVALIDO' TO COD001A-DESC-SEMANA
END-EVALUATE
.
*----------------------------------------------------------------*
*> cobol-lint CL002 0003-end
0003-END. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
* OBTER DIAS DO ANO
*----------------------------------------------------------------*
0004-OBTER-DIAS-ANO SECTION.
*----------------------------------------------------------------*
ACCEPT WRK-DIAS-ANO-YYYYDDD
FROM DAY YYYYDDD
MOVE WRK-DIAS-ANO-DDD TO COD001A-DIAS-ANO
.
*----------------------------------------------------------------*
*> cobol-lint CL002 0004-end
0004-END. EXIT.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
* FINALIZAR PROGRAMA
*----------------------------------------------------------------*
9999-FINALIZAR SECTION.
*----------------------------------------------------------------*
GOBACK
.
*----------------------------------------------------------------*
*> cobol-lint CL002 9999-end
9999-END. EXIT.
*----------------------------------------------------------------*