1. Run the STCKFNDR utility to scan the DB2 SDSNLOAD library for the requested version of DB2.
2. Locate the output line for module DSNXGRDS, CSECT DSNXVCTS. There should be only one. An example output line would look like this:
Possible STCKE in module DSNXGRDS, segment 1, offset 01121C56,
class B_TEXT, section DSNXVCTS, offset 0000014E
This offset varies depending on the version of DB2 you are running. Step 3 shows how you must specify this offset in a SET command.
3. Place the DB2 subsystem’s DBM1 region under the control of CA Date Simulator, specifying that TIME macros are not to be trapped and that the Store Clock at the noted offset in DSNXGRDS is to be warped. An example WARPPARM command would look like this:
SETSTC D40ADBM1 NOTIME STCK(DSNXGRDS,1121C56)
4. If the DB2 subsystem is not running, start it. After the DBM1 region comes up, run the WARPDB2 utility program to install the CA Date Simulator hook into the DB2 subsystem. Program WARPDB2 locates module DSNXGRDS in the DBM1 region and installs the CA Date Simulator trap in the Store Clock at the offset specified in the SETSTC command in Step 3.
Sample JCL to run WARPDB2 is in highlvl.vvvv.CNTL (WARPDB2). The sample JCL is shown here:
//WARPDB2 EXEC PGM=WARPDB2,PARM='xxxx' where xxxx=DB2 subsystem id
//STEPLIB DD DSN=highlvl.vvvv.APFLOAD,DISP=SHR
//SYSUDUMP DD SYSOUT=*
5. Place the requested DB2 application jobs or TSO sessions under the control of CA Date Simulator. Examples of SET commands would look like this:
SET TSO HARVEY DATE 05/13/2005
SET JOB HR2456A DATE 12/31/1999 TIME 23:59:59
When a DB2 application calls DB2 and uses one of the time-related features, the patched Store Clock is executed and trapped by CA Date Simulator, which determines whether the application is under its control and, if so, the time will be warped.