Expiration times

The time at which a time-controlled function is to be started is known as the expiration time. You can specify expiration times absolutely, as a time of day (using the TIME option), or as an interval that is to elapse before the function is to be performed (using the INTERVAL option).

For DELAY commands, you can use the FOR and UNTIL options; and for POST and START commands, you can use the AFTER and AT options.

Note: The C and C++ languages do not provide the support for the packed decimal types used by the TIME and INTERVAL options.
You use an interval to tell CICS® when to start a transaction in a specified number of hours, minutes, and seconds from the current time. A nonzero INTERVAL value always indicates a time in the future—the current time plus the interval you specify. The hours can be 0–99, but the minutes and seconds must not be greater than 59. For example, to start a task in 40 hours and 10 minutes, you would code:
EXEC CICS START INTERVAL(401000)
You can use an absolute time to tell CICS to start a transaction at a specific time, again using hhmmss. For example, to start a transaction at 3:30 in the afternoon, you would code:
EXEC CICS START TIME(153000)
An absolute time is always relative to the midnight before the current time and can therefore be earlier than the current time. TIME can be in the future or the past relative to the time at which the command is executed. CICS uses the following rules:
  • If you specify a task to start at any time within the previous six hours, it starts immediately. This happens regardless of whether the previous six hours includes a midnight. For example:
    EXEC CICS START TIME(123000)
    This command, issued at 05:00 or 07:00 on Monday, expires at 12:30 on the same day.
    EXEC CICS START TIME(020000)
    This command, issued at 05:00 or 07:00 on Monday expires immediately because the specified time is within the preceding six hours.
    EXEC CICS START TIME(003000)
    This command, issued at 05:00 on Monday, expires immediately because the specified time is within the preceding six hours. However, if it is issued at 07:00 on Monday, it expires at 00:30 on Tuesday, because the specified time is not within the preceding six hours.
    EXEC CICS START TIME(230000)

    This command, issued at 02:00 on Monday, expires immediately because the specified time is within the preceding six hours.

  • If you specify a time with an hours component that is greater than 23, you are specifying a time on a day following the current one. For example, a time of 250000 means 1 a.m. on the day following the current one, and 490000 means 1 a.m. on the day after that.

If you do not specify an expiration time or interval option on DELAY, POST, or START commands, CICS responds using the default of INTERVAL(0), which means immediately.

Because each end of an intersystem link can be in a different time zone, you should use the INTERVAL form of expiration time when the transaction to be started is in a remote system.

If the system fails, the times associated with unexpired START commands are remembered across the restart.

Note:
  1. On a lightly used system, the interval time specified can be exceeded by as much as a quarter of a second.
  2. If your expiration time falls within a possible CICS shutdown, you should consider whether your task should test the status of CICS before attempting to run. You can do this using the CICSSTATUS option of the INQUIRE SYSTEM. During a normal shutdown, your task could run at the same time as the PLT programs with consequences known only to you.