Interval control

The CICS® interval control services provide functions that are related to time.

Java and C++

The application programming interface described here is the EXEC CICS API, which is not used in Java™ programs. For information about Java programs using the JCICS classes to access Interval Control services, see Java programming using JCICS and the JCICS Javadoc documentation. For information about C++ programs using the CICS C++ classes, see Using the CICS C++ OO foundation classes.

Using interval control commands, you can:
  • Start a task at a specified time or after a specified interval, and pass data to it (START command).
  • Retrieve data passed on a START command (RETRIEVE command).
  • Delay the processing of a task (DELAY command).
  • Request notification when a specified time has expired (POST command).
  • Wait for an event to occur (WAIT EVENT command).
  • Cancel the effect of previous interval control commands (CANCEL command).
  • Request the current date and time of day (ASKTIME command).
  • Select the format of date and time (FORMATTIME command). Options are available that help you to handle dates in the 21st century.
Note: Do not use EXEC CICS START TRANSID() TERMID(EIBTRMID) to start a remote transaction. Use EXEC CICS RETURN TRANSID() IMMEDIATE instead. START, used in this way, ties up communications resources unnecessarily and can lead to performance degradation across the connected regions.

If you use WAIT EVENT, START, RETRIEVE with the WAIT option, CANCEL, DELAY, or POST commands, you could create inter-transaction affinities that adversely affect your ability to perform dynamic transaction routing.

Storage for the timer-event control area on WAIT EVENT must reside in shared storage if you have specified ISOLATE(YES).

If CICS is executing with or without transaction isolation, CICS checks that the timer-event control area is not in read-only storage.

To help you identify potential problems with programs that issue these commands, you can use the CICS Interdependency Analyzer. See CICS Interdependency Analyzer for more information about this utility and Affinity for more information about transaction affinity.

Request identifiers

As a means of identifying the request and any data associated with it, a unique request identifier is assigned by CICS to each DELAY , POST, and START command. You can specify your own request identifier with the REQID option. If you do not, CICS assigns (for POST and START commands only) a unique request identifier and places it in field EIBREQID in the EXEC interface block (EIB). You should specify a request identifier if you want the request to be canceled at some later time by a CANCEL command.