Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


CEEDATE - リリアン日付から文字形式への変換

CEEDATE は、リリアン日付を表す数値を文字形式の日付に変換します。 出力は、2008/04/23 などの文字ストリングになります。

CALL CEEDATE の構文
構文図を読む構文図をスキップする>>-CALL--"CEEDATE"--USING--input_Lilian_date,------------------->
 
>--picture_string,--output_char_date,--fc.---------------------><
 
input_Lilian_date (入力)
リリアン日付を表す 32 ビットの整数。このリリアン日付は、1582 年 10 月 14 日から数えた日数です。例えば、1988 年 5 月 16 日は、リリアン日数 148138 に相当します。有効なリリアン日付の範囲は 1 から 3,074,324 (1582 年 10 月 15 日から 9999 年 12 月 31 日) です。
picture_string (入力)
output_char_date の必要な形式 (例: MM/DD/YY) を表す、ハーフワード長の接頭部の付いた文字ストリング。picture_string 内の各文字は、output_char_date 内の文字を表します。スラッシュ (/) などの区切り文字がピクチャー・ストリング内にある場合は、現状のまま output_char_date にコピーされます。

picture_string に日本元号のシンボル <JJJJ> が含まれる場合は、output_char_dateYY の位置に、日本元号での年号が入ります。例えば、1988 年は日本の昭和 63 年に相当します。

output_char_date (出力)
input_Lilian_datepicture_string で指定された形式に変換した結果として生成される、固定長の 80 文字のストリング。input_Lilian_date が無効な場合は、output_char_date がすべてブランクに設定され、CEEDATE が終了して非 CEE000 シンボリック・フィードバック・コードが戻されます。
fc (出力)
このサービスの結果を示す 12 バイトのフィードバック・コード (オプション)。

表 85. CEEDATE のシンボリック条件
シンボリック・フィードバック・コード 重大度 メッセージ番号 メッセージ・テキスト
CEE000 0 サービスが正しく完了した。
CEE2EG 3 2512 CEEDATE または CEEDYWK への呼び出しで渡されたリリアン日付値が、対応範囲内にありませんでした。
CEE2EM 3 2518 日時サービスへの呼び出しに無効なピクチャー・ストリングが指定されました。
CEE2EQ 3 2522 CEEDATE に渡されたピクチャー・ストリング内に元号 (<JJJJ>、<CCCC>、<CCCCCCCC>) が使用されていましたが、リリアン日付値が対応範囲内にありませんでした。元号を判別できませんでした。
CEE2EU 2 2526 CEEDATE によって戻された日付ストリングが切り捨てられました。
CEE2F6 1 2534 CEEDATE または CEEDATM への呼び出しで、月または曜日名に対して指定されたフィールド幅が不十分です。出力はブランクに設定されました。

使用上の注意: CEEDATE の逆は CEEDAYS です。CEEDAYS は文字日付をリリアン形式に変換します。

CBL LIB
      ************************************************
      **                                            **
      ** Function: CEEDATE - convert Lilian date to **
      **                     character format       **
      **                                            **
      ** In this example, a call is made to CEEDATE **
      ** to convert a Lilian date (the number of    **
      ** days since 14 October 1582) to a character **
      ** format (such as 6/22/98). The result is    **
      ** displayed.  The Lilian date is obtained    **
      ** via a call to CEEDAYS.                     **
      **                                            **
      ************************************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID. CBLDATE.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  LILIAN                  PIC S9(9) BINARY.
       01  CHRDATE                 PIC X(80).
       01  IN-DATE.
           02  Vstring-length      PIC S9(4) BINARY.
           02  Vstring-text.
               03  Vstring-char    PIC X
                           OCCURS 0 TO 256 TIMES
                           DEPENDING ON Vstring-length
                               of IN-DATE.
       01  PICSTR.
           02  Vstring-length      PIC S9(4) BINARY.
           02  Vstring-text.
               03  Vstring-char    PIC X
                           OCCURS 0 TO 256 TIMES
                           DEPENDING ON Vstring-length
                              of PICSTR.
       01  FC.
           02  Condition-Token-Value.
           COPY  CEEIGZCT.
               03  Case-1-Condition-ID.
                   04  Severity    PIC S9(4) COMP.
                   04  Msg-No      PIC S9(4) COMP.
               03  Case-2-Condition-ID
                         REDEFINES Case-1-Condition-ID.
                   04  Class-Code  PIC S9(4) COMP.
                   04  Cause-Code  PIC S9(4) COMP.
               03  Case-Sev-Ctl    PIC X.
               03  Facility-ID     PIC XXX.
           02  I-S-Info            PIC S9(9) COMP.
      *
       PROCEDURE DIVISION.
       PARA-CBLDAYS.
      *************************************************
      ** Call CEEDAYS to convert date of 6/2/98 to   **
      **     Lilian representation                   **
      *************************************************
           MOVE 6 TO Vstring-length of IN-DATE.
           MOVE '6/2/98' TO Vstring-text of IN-DATE(1:6).
           MOVE 8 TO Vstring-length of PICSTR.
           MOVE 'MM/DD/YY' TO Vstring-text of PICSTR(1:8).
           CALL 'CEEDAYS' USING IN-DATE, PICSTR,
                                LILIAN, FC.

      *************************************************
      ** If CEEDAYS runs successfully, display result**
      *************************************************
           IF  CEE000 of FC  THEN
               DISPLAY Vstring-text of IN-DATE
                   ' is Lilian day: ' LILIAN
           ELSE
               DISPLAY 'CEEDAYS failed with msg '
                   Msg-No of FC UPON CONSOLE
               STOP RUN
           END-IF.

      *************************************************
      ** Specify picture string that describes the   **
      **  desired format of the output from CEEDATE, **
      **  and the picture string's length.           **
      *************************************************
           MOVE 23 TO Vstring-length OF PICSTR.
           MOVE 'ZD Mmmmmmmmmmmmmmz YYYY' TO
                        Vstring-text OF PICSTR(1:23).

      *************************************************
      ** Call CEEDATE to convert the Lilian date     **
      **     to  a picture string.                   **
      *************************************************
           CALL 'CEEDATE' USING LILIAN, PICSTR,
                                CHRDATE, FC.

      *************************************************
      ** If CEEDATE runs successfully, display result**
      *************************************************
           IF CEE000 of FC  THEN
               DISPLAY 'Input Lilian date of ' LILIAN
                   ' corresponds to:  ' CHRDATE
           ELSE
               DISPLAY 'CEEDATE failed with msg '
                   Msg-No of FC UPON CONSOLE
               STOP RUN
           END-IF.

           GOBACK.

次の表に、CEEDATE からの出力例を示します。

input_Lilian_date picture_string output_char_date
148138 YY
YYMM
YY-MM
YYMMDD
YYYYMMDD
YYYY-MM-DD
YYYY-ZM-ZD
<JJJJ> YY.MM.DD
98
9805
98-05
980516
19980516
1998-05-16
1998-5-16
昭和 63.05.16 (DBCS ストリング)
148139 MM
MMDD
MM/DD
MMDDYY
MM/DD/YYYY
ZM/DD/YYYY
05
0517
05/17
051798
05/17/1998
5/17/1998
148140 DD
DDMM
DDMMYY
DD.MM.YY
DD.MM.YYYY
DD Mmm YYYY
18
1805
180598
18.05.98
18.05.1998
18 May 1998
148141 DDD
YYDDD
YY.DDD
YYYY.DDD
140
98140
98.140
1998.140
148142 YY/MM/DD HH:MI:SS.99
YYYY/ZM/ZD ZH:MI AP
98/05/20 00:00:00.00
1998/5/20 0:00 AM
148143 WWW., MMM DD, YYYY
Www., Mmm DD, YYYY

 


Wwwwwwwwww,
Mmmmmmmmmm DD, YYYY

 


Wwwwwwwwwz,
Mmmmmmmmmz DD, YYYY
SAT., MAY 21, 1998
Sat., May 21, 1998

 


Saturday,
May 21, 1998

 


Saturday,
May 21, 1998

例: 日時のピクチャー・ストリング

関連参照
ピクチャー文字項およびストリング


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)