*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;