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.