CEEQCEN - 世紀ウィンドウの照会

CEEQCEN は、Language Environment が 2 桁で年を表したとき、この年値の含まれる 100 年間 (世紀) を照会します。設定を変更する場合は、CEEQCEN を使用してその設定を表示してから、CEESCEN を使用して現行の設定値を保管および復元してください。
構文図を読む構文図をスキップする
構文

>>-CEEQCEN--(--century_start--,--fc--)-------------------------><

century_start (出力)
0 から 100 までの間の整数。世紀ウィンドウの初めの年を表します。例えば、Language Environment のデフォルトが有効である場合には、2 桁の年はすべて、システムの日付の 80 年前に 始まる 100 年間 (世紀) ウィンドウ内にあります。このとき、CEEQCEN は値 80 を戻します。80 の値は、1995 年には、システム 日付の 80 年前からの 100 年間 (1915 年から 2014 年の間でこの両年を含む) に 2 桁の年がすべてあることを Language Environment に示します。
fc (出力)
このサービスの結果を示す 12 バイトの フィードバック・コード (言語によってはオプション)。このパラメーターを省略する場合は、呼び出し可能サービスの呼び出しを参照して、フィードバック・コードが省略されたことを示すための適切な構文を確認してください。

このサービスの結果、出力される記号条件は以下のとおりです。

コード 重大度 メッセージ番号 メッセージ・テキスト
CEE000 0 サービスが正しく完了した。

使用上の注意

詳細情報

  1. 以下は、C/C++ によって呼び出される CEEQCEN の例です。
    /*Module/File Name: EDCQCEN   */
    
    #include <string.h>
    #include <stdio.h>
    #include <leawi.h>
    #include <stdlib.h>
    #include <ceeedcct.h>
    
    int main (void) {
    
      _INT4 century_start;
      _FEEDBACK fc;
    
      /* query the century window */
      CEEQCEN(&century_start,&fc);
      if ( _FBCHECK ( fc , CEE000 ) != 0 ) {
         printf("CEEQCEN failed with message number %d¥n",
                fc.tok_msgno);
         exit(2999);
      }
    
      /* if the century window is not 50 set it to 50 */
      if (century_start != 50) {
         century_start = 50;
    
         CEESCEN(&century_start,&fc);
         if ( _FBCHECK ( fc , CEE000 ) != 0 ) {
            printf("CEESCEN failed with message number %d¥n",
                   fc.tok_msgno);
            exit(2999);
         }
      }
    }
  2. 以下は、COBOL によって呼び出される CEEQCEN の例です。
    CBL LIB,QUOTE
          *Module/File Name: IGZTQCEN
          *************************************************
          ** CBLQCEN - Call CEEQCEN to query the Lang Env**
          **           century window                    **
          ** In this example, CEEQCEN is called to query **
          ** the date at which the century window starts **
          ** The century window is the 100-year window   **
          ** within which Lang Envir                    **
          ** assumes all two-digit years lie.            **
          *************************************************
           IDENTIFICATION DIVISION.
           PROGRAM-ID. CBLQCEN.
           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) BINARY.
                       04  Msg-No      PIC S9(4) BINARY.
                   03  Case-2-Condition-ID
                             REDEFINES Case-1-Condition-ID.
                       04  Class-Code  PIC S9(4) BINARY.
                       04  Cause-Code  PIC S9(4) BINARY.
                   03  Case-Sev-Ctl    PIC X.
                   03  Facility-ID     PIC XXX.
               02  I-S-Info            PIC S9(9) BINARY.
           PROCEDURE DIVISION.
           PARA-CBLQCEN.
          *************************************************
          ** Call CEEQCEN to return the start of the     **
          **     century window                          **
          *************************************************
               CALL "CEEQCEN" USING STARTCW, FC.
          *************************************************
          ** CEEQCEN has no non-zero feedback codes to   **
          **     check, so just display result.          **
          *************************************************
               IF CEE000 of FC  THEN
                   DISPLAY "The start of the century "
                       "window is: " STARTCW
               ELSE
                   DISPLAY "CEEQCEN failed with msg "
                       Msg-No of FC UPON CONSOLE
                   STOP RUN
               END-IF.
    
               GOBACK.
  3. 以下は、PL/I によって呼び出される CEEQCEN の例です。
    *PROCESS MACRO;
     /* Module/File Name: IBMQCEN                        */
     /****************************************************/
     /**                                                **/
     /** Function: CEEQCEN - query the century window   **/
     /**                                                **/
     /** In this example, CEEQCEN is called to query    **/
     /** The date at which the century window starts.   **/
     /** The century window is the 100-year window      **/
     /** within which Language Environment assumes      **/
     /** all two-digit years lie.                       **/
     /**                                                **/
     /****************************************************/
     PLIQCEN: PROC OPTIONS(MAIN);
    
        %INCLUDE  CEEIBMAW;
        %INCLUDE  CEEIBMCT;
    
        DCL STARTCW REAL FIXED BINARY(31,0);
        DCL 01 FC,                     /* Feedback token */
               03 MsgSev    REAL FIXED BINARY(15,0),
               03 MsgNo     REAL FIXED BINARY(15,0),
               03 Flags,
                  05 Case      BIT(2),
                  05 Severity  BIT(3),
                  05 Control   BIT(3),
               03 FacID     CHAR(3),      /* Facility ID */
               03 ISI   /* Instance-Specific Information */
                            REAL FIXED BINARY(31,0);
    
        /* Call CEEQCEN to return the start of the       */
        /*    century window                             */
        CALL CEEQCEN ( STARTCW, FC );
    
        /* CEEQCEN has no non-zero feedback codes        */
        /* to check, so print result                     */
        IF  FBCHECK( FC, CEE000)  THEN  DO;
           PUT SKIP LIST ( 'The century window starts '
              || STARTCW || ' years before today.');
           END;
        ELSE  DO;
           DISPLAY( 'CEEQCEN failed with msg '
              || FC.MsgNo );
           STOP;
           END;
    
     END PLIQCEN;