Does the CA Date Simulator store clock finder, STCKFNDR find extended/fast store clock instructions (STCKE/STCKF)?
STCKE is being used, for instance, by DB2 release 10 and higher.
Z/OS
Yes, STCKE/STCKF support was added by TF1D298 in 2012.
Then STCKFNDX will be available and can be used like STCKFNDR.
See following JCL sample - it determines the DB2 10, or higher, STCKE offset:
//jobcard...
//STEP1 EXEC PGM=STCKFNDX
//STEPLIB DD DISP=SHR,DSN=hlq.datesim.LOAD
//SYSLIB DD DISP=SHR,DSN=hlq.db210.SDSNLOAD
//OUTFILE DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
...
You can use the same JCL in order to locate STCK/STCKE/STCKF instructions within your own Assembler load modules.
Additional Information:
For DB2 10, or higher, you have to look for STCKE instruction offset in the DSNSVCTS CSECT with DSNXGRDS in the output.
...
Possible STCKE in module DSNXGRDS, segment 1, offset 00BBBF36,
class B_TEXT, section DSNXVCTS, offset 0000014E
...
In this sample the offset you need is "0BBBF36".
It must be used for SET command as described in the CA Date Simulator 2.0 User Guide, chapter 5, topic "Implement Basic DB2 Support".
...
SET STC D10ADBM1 NOTIME STCK(DSNXGRDS,0BBBF36)
...
If the CA Date Simulator started task, WARPMAIN, is up and running, you can warp the time as follows:
...
//DS#DB210 JOB ...
//STEP1 EXEC PGM=WARPPARM,REGION=2M
//STEPLIB DD DISP=SHR,DSN=HLQ.TWARP20.APFLOAD
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SET STC D10BDBM1 NOTIME STCK(DSNXGRDS,0BBBF36)
SET JOB DS#DB210 DATE 12/24/2012 TIME 18:00:00
/*
//*------------------------------------------------------------------*
//STEP2 EXEC PGM=WARPDB2,PARM='D10B'
//STEPLIB DD DISP=SHR,DSN=HLQ.TWARP20.APFLOAD
//*------------------------------------------------------------------*
//STEP3 EXEC PGM=IKJEFT01,DYNAMNBR=20
//STEPLIB DD DISP=SHR,DSN=HLQ.DB2A10.SDSNLOAD
// DD DISP=SHR,DSN=HLQ.RUNLIB.LOAD
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(D10B)
RUN PROGRAM(DSNTEP2) PLAN(DSNTEP2) PARMS('/ALIGN(LHS)')
END
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
SELECT CURRENT DATE, CURRENT TIME
FROM SYSIBM.SYSDUMMY1
;
/*
...
The expected result - December, 24th 2012:
...
*0001: D10BDBM1 :Job has been set
*0002: DS#DB210 :Job has been set
READY
DSN SYSTEM(D10B)
DSN
RUN PROGRAM(DSNTEP2) PLAN(DSNTEP2) PARMS('/ALIGN(LHS)')
DSN
END
READY
END
PAGE 1
***INPUT STATEMENT:
SELECT CURRENT DATE, CURRENT TIME
FROM SYSIBM.SYSDUMMY1
;
+-----------------------+
| | |
+-----------------------+
1_| 2012-12-24 | 17.59.35|
+-----------------------+
SUCCESSFUL RETRIEVAL OF 1 ROW(S)
...
(There is a difference here of 25 leap seconds.)