Example: formatting dates for output
The following example uses date and time callable services to format
and display a date obtained from an ACCEPT
statement.
Many callable services offer capabilities that would otherwise require extensive coding. Two such services are CEEDAYS and CEEDATE, which you can use effectively when you want to format dates.
CBL QUOTE
ID DIVISION.
PROGRAM-ID. HOHOHO.
************************************************************
* FUNCTION: DISPLAY TODAY'S DATE IN THE FOLLOWING FORMAT: *
* WWWWWWWWW, MMMMMMMM DD, YYYY *
* *
* For example: MONDAY, OCTOBER 18, 2010 *
* *
************************************************************
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CHRDATE.
05 CHRDATE-LENGTH PIC S9(4) COMP VALUE 10.
05 CHRDATE-STRING PIC X(10).
01 PICSTR.
05 PICSTR-LENGTH PIC S9(4) COMP.
05 PICSTR-STRING PIC X(80).
77 LILIAN PIC S9(9) COMP.
77 FORMATTED-DATE PIC X(80).
PROCEDURE DIVISION.
***************************************************************
* USE DATE/TIME CALLABLE SERVICES TO PRINT OUT *
* TODAY'S DATE FROM COBOL ACCEPT STATEMENT. *
***************************************************************
ACCEPT CHRDATE-STRING FROM DATE.
MOVE "YYMMDD" TO PICSTR-STRING.
MOVE 6 TO PICSTR-LENGTH.
CALL "CEEDAYS" USING CHRDATE , PICSTR , LILIAN , OMITTED.
MOVE " WWWWWWWWWZ, MMMMMMMMMZ DD, YYYY " TO PICSTR-STRING.
MOVE 50 TO PICSTR-LENGTH.
CALL "CEEDATE" USING LILIAN , PICSTR , FORMATTED-DATE ,
OMITTED.
DISPLAY "******************************".
DISPLAY FORMATTED-DATE.
DISPLAY "******************************".
STOP RUN.