次のサンプルは、日時の呼び出し可能サービスを使用して、ACCEPT ステートメントから取得された日付をフォーマットして表示します。
多くの呼び出し可能サービスには、旧バージョンの COBOL を使用した場合に大量のコーディングを必要としていた機能が備わっています。それが CEEDAYS および CEEDATE というサービスです。日付をフォーマットする際には、これらを効率的に利用することができます。
CBL QUOTE
ID DIVISION.
PROGRAM-ID. HOHOHO.
************************************************************
* FUNCTION: DISPLAY TODAY'S DATE IN THE FOLLOWING FORMAT: *
* WWWWWWWWW, MMMMMMMM DD, YYYY *
* *
* For example: MONDAY, OCTOBER 20, 2008 *
* *
************************************************************
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.