CEESCEN: 设置世纪窗口

CEESCEN 将世纪窗口设置为两位数的年份值,以供其他 日期和时间 可调用服务使用。

在下列情况下,请将 CEESCEN 与 CEEDAYS 或 CEESECS 结合使用:

  • 您可以处理包含两位数年份 (例如, YYMMDD 格式) 的日期值。
  • 缺省世纪时间间隔不满足特定应用程序的需求。

要查询世纪窗口,请使用 CEEQCEN。

CALL CEESCEN 语法

读取语法图跳过可视语法图CALL"CEESCEN"USING百年起点,FC.
Centery_start
0 到 100 之间的整数,用于设置世纪窗口。

例如,值 80 表示在系统日期之前 80 年开始的 100 年窗口内的所有两位数年份。 因此,在 2010 年,所有两位数的年份都被假定为 1930 年到 2029 年之间的日期 (包括 1930 年和 2029 年)。

fc (输出)
指示此服务结果的 12 字节反馈代码 (可选)。
表 1. CEESCEN 符号条件
符号反馈代码 严重性 消息号 消息文本
CEE000 0 -- 服务已成功完成。
CEE2E6 3 2502 UTC/GMT 在系统中不可用。
CEE2F5 3 2533 传递给 CEESCEN 的值不在 0 与 100 之间。

示例


**************************************************
**                                              **
** Function: Call CEESCEN to set the            **
**           date and time callable services    **
**           century window                     **
**                                              **
** In this example, CEESCEN is called to change **
** the start of the century window to 30 years  **
** before the system date. CEEQCEN is then      **
** called to query that the change made.  A     **
** message that this has been done is then      **
** displayed.                                   **
**                                              **
**************************************************
 IDENTIFICATION DIVISION.
 PROGRAM-ID. CBLSCEN.

 DATA DIVISION.
 WORKING-STORAGE SECTION.
 01  STARTCW                 PIC S9(9) BINARY.
 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-CBLSCEN.
**************************************************
** Specify 30 as century start, and two-digit
**     years will be assumed to lie in the
**     100-year window starting 30 years before
**     the system date.
**************************************************
     MOVE 30 TO STARTCW.

**************************************************
** Call CEESCEN to change the start of the century
**     window.
**************************************************
     CALL 'CEESCEN' USING STARTCW, FC.
     IF NOT CEE000 of FC  THEN
         DISPLAY 'CEESCEN failed with msg '
             Msg-No of FC UPON CONSOLE
         STOP RUN
     END-IF.

 PARA-CBLQCEN.
**************************************************
** Call CEEQCEN to return the start of the century
**     window
**************************************************
     CALL 'CEEQCEN' USING STARTCW, FC.

**************************************************
** CEEQCEN has no nonzero feedback codes to
**     check, so just display result.
**************************************************
         DISPLAY 'The start of the century '
             'window is: ' STARTCW
     GOBACK.