Interval control
Interval control provides various optional task-related functions based on specified intervals of time, or specified time of day.
Design overview
The following services are performed by interval control in response to a specific request from either an application program or another CICS® function:
- Time of day
-
The EXEC CICS ASKTIME command retrieves the current time-of-day in either binary or packed decimal format.
- Time-dependent task synchronization
-
Time-dependent task synchronization provides the user with three optional services:
- The EXEC CICS DELAY command allows a task to temporarily suspend itself for a specified period of time. When the time has elapsed, the task resumes execution.
- The EXEC CICS POST command allows a task to be notified when the specified interval of time has elapsed or the specified time of day occurs. The task proceeds to execute while the time interval is elapsing.
- The EXEC CICS CANCEL command allows a task to terminate its own or another task’s request for a DELAY, POST or START service.
- Automatic time-ordered transaction initiation
-
Automatic time-ordered transaction initiation provides for the automatic initiation of a transaction at a specified time of day (or after a specified interval of time has elapsed) and for the sending of data that is to be accessed by the transaction. The user can also cancel a pending request for automatic time-ordered transaction initiation.
Optional user exits are provided as follows:- Before determining what type of request for time services was issued
- Upon expiration of a previously requested time-dependent event
- If a START request names an unknown terminal.
- Time-of-day control
-
The EXEC CICS PERFORM RESETTIME command causes CICS to reset its internal date and time of day information in accordance with that of the operating system.
The EXEC CICS PERFORM RESETTIME command calls DFHICP with a DFHIC TYPE=RESET macro. This macro is also issued by DFHAPTIM - the program run by the “midnight task” attached by interval control initialization - whenever it is resumed by the TI domain, i.e. at midnight.
DFHICP issues a KETI RESET_LOCAL_TIME call to the TI domain if the reason for the reset was a time of day change. This allows the TI domain to readjust its clocks to the operating system time. DFHICP then calls DFHTAJP to readjust other CICS clocks to match the operating system time and to make any necessary changes to the ICE chain resulting from possible changes in the time-to-expiry of time controlled ICEs. Finally DFHICP scans the ICE chain to process any that may have become expired as a result of the time change, and to reset the time interval for which the expiry task, DFHAPTIX, will wait, until the next ICE expires.
Control blocks
Expired time-ordered requests are processed by Interval Control when called from the DFHAPTIX module, which runs under a system task that has been resumed by the timer domain. The type of service represented by the expired ICE is initiated, if all resources required for the service are available, and the ICE is removed from the chain. If the resources are not available, the ICE remains on the chain and another attempt to initiate the requested service is made later.
Modules
| Module | Description |
|---|---|
| DFHAPTIM | Part of the interval control mechanism |
| DFHAPTIX | Part of the interval control mechanism |
| DFHICP | The interval control program |
| DFHICRC | |
| DFHTAJP | The time adjustment program |
Exits
- XICEXP
- XICREQ
- XICTENF
Trace
- AP 00F3, for which the trace level is IC 1.