Effect of daylight saving time changes
Many countries operate a policy of adjusting clocks by one hour at the beginning and end of summer to effect what is commonly referred to as daylight saving.
These time changes are also applied to the local time held in computers. Generally, most hardware (TOD) clocks are set to Greenwich Mean Time (GMT), with an offset value to indicate local time. It is this offset value that is adjusted when making daylight saving time changes, while the hardware clock remains unaltered.
Adjusting local time automatically
Specify the system initialization parameter AUTORESETTIME=IMMEDIATE to synchronize the CICS® time with the z/OS® time immediately whenever you alter the system date or time-of-day in the MVS TOD clock while a CICS region is running. AUTORESETTIME=IMMEDIATE makes CICS issue a PERFORM RESET command to synchronize the CICS time-of-day with the system time-of-day if, at the next task attach, the CICS time-of-day differs from the system time-of-day. The default setting for AUTORESETTIME is IMMEDIATE. If you specify an alternative setting, ensure that you have a process in place to guarantee that a manual CEMT PERFORM RESET or EXEC CICS PERFORM RESETTIME command is issued immediately after altering the MVS TOD clock.
Adjusting local time manually
When setting clocks forward or back an hour to adjust for Summer and Winter time while a CICS region is running, use the CEMT PERFORM RESET or EXEC CICS PERFORM RESETTIME command to ensure that CICS immediately resynchronizes its local time with that of the MVS TOD clock.
CICS obtains and stores the local time offset at start up, and when the CEMT PERFORM RESET command executes. Use the CEMT PERFORM RESET command immediately whenever you change the system date or time-of-day while CICS is running, to ensure that the correct local time is used by all CICS functions, including the API. Whenever an application program issues an EXEC CICS ASKTIME command, CICS obtains the current time from the MVS TOD clock, and modifies this by the stored local time difference. CICS then updates the EIBTIME field in the exec interface block with the local time.
Time stamping log and journal records
A local time change, forwards or backwards, has no effect on CICS logging or journaling, or on CICS restarts, but could affect the operation of utility programs such as DFHJUP.
- System log block headers are time-stamped with both the machine clock (STCK) value and local time
- System log records are time-stamped with the machine clock (STCK) value only.
For general logs, in addition to time-stamping as in system logs, CICS also includes local time in the journal records.
During a restart, for system recovery purposes, CICS reads the youngest—most recently written—record from the primary log stream. Thereafter, CICS uses only direct reads using block ids and does not rely upon time stamps. CICS also uses direct read with block ids to retrieve the logged data for transaction backout purposes, again without any dependence on time stamps.
Operating a recovery process that is independent of time-stamps in the system log data ensures that CICS can restart successfully after an abnormal termination, even if the failure occurs shortly after local time has been put back.
Effect on offline utility program, DFHJUP
Changing the local time forward has no effect on the processing of system log streams or general log streams by the CICS utility program, DFHJUP.
Changing local time backwards will not affect the operation of DFHJUP provided you specify the GMT option on the SUBSYS parameter of the log stream DD statement in the DFHJUP JCL.
However, if you use local time on the SUBSYS parameter to specify the partitioning of a log stream for processing by DFHJUP, you must take steps to ensure the chronological sequence of timestamps when adjusting clocks backwards. You can do this by stopping CICS regions until the new local time passes the old time at which the change was made.
User- or vendor-written journal utilities and DFHJUP exit programs may also be sensitive to local time changes. These should be checked to ensure that there are no problems posed by backwards time changes.
Forward recovery utilities (but not CICS VSAM Recovery for z/OS 2.3) might also be sensitive to the time sequence of forward recovery log data. If you are not using CICS VSAM Recovery, check that your forward recovery utility can handle discontinuities in logged records.
- Take a backup during the hour following the (local) time change (for example, at 01.30 after setting the time back from 02.00 to 01.00)
- Perform forward recovery using that backup with log records that span the time change
- Specify local time instead of GMT.
If you use a backup taken earlier than the new local time, or if you specify GMT, CICS VSAM Recovery handles forward recovery successfully.