Calls to CEEQCEN and CEESCEN in PL/I

*PROCESS MACRO;
 /*Module/File Name: IBMCWIN                         */
 /****************************************************/
 /*                                                  */
 /* Demonstrates how to use CEEQCEN and              */
 /* CEESCEN to query and set the century window.     */
 /*                                                  */
 /****************************************************/
 PLCENTW: PROC OPTIONS (MAIN);

    %INCLUDE  CEEIBMAW;
    %INCLUDE  CEEIBMCT;

    DCL OLDCEN  REAL FIXED BINARY(31,0);
    DCL TEMPCEN 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 retrieve and save current century window  */
    CALL CEEQCEN (OLDCEN, FC);
    IF ^ FBCHECK( FC, CEE000)  THEN  DO;
       DISPLAY( 'CEEQCEN failed with msg '|| FC.MsgNo );
       STOP;
       END;
    /* Call CEESCEN to temporarily change century window to 30  */
    TEMPCEN = 30;
    CALL CEESCEN (TEMPCEN, FC);
    IF ^ FBCHECK( FC, CEE000)  THEN  DO;
       DISPLAY( 'First call to CEESCEN failed with msg '
          || FC.MsgNo );
       STOP;
       END;

    /* Perform date processing with 2-digit years...            */
       ⋮
    /* Call CEESCEN again to reset century window               */
    CALL CEESCEN (OLDCEN, FC);
    IF ^ FBCHECK( FC, CEE000)  THEN  DO;
       DISPLAY( 'Second call to CEESCEN failed with msg '
          || FC.MsgNo );
       STOP;
       END;

 END PLCENTW;