Interval control considerations - IBM - AS/400

The CICS interval control program, in conjunction with a time-of-day machine instruction (MI) interface maintained by CICS, provides functions that can be performed at a specific time; such functions are called time-controlled functions. The primary task of the CICS interval control facility is the handling, synchronization, and initiation of tasks requested by user application programs and CICS internal service modules. Other functions also include obtaining and formatting time requests for the user.

Timer-related tasks
Interval control includes timer event driven tasks that initiate actions scheduled by CICS commands. This facility examines the Interval Control Element (ICE) storage chain contained in the CICS shared system storage for expired events, and initiates the appropriate action. After the ICE has ended, its entry is removed from the chain.

A timer-related task can be in any of three states:

  • Unexpired—the expiration time for the task or event is still in the future
  • Expired but suspended due to a CICS/400 resource being unavailable
  • Expired and waiting to run

When a timer-related task expires, interval control attempts to schedule the task for execution if all the CICS resources that it requires are available. If any of the resources are not available, the entry is said to be suspended awaiting a resource to become available. When it is determined that all resources are available, the entry is then said to be enabled awaiting execution.

Protected interval control start requests
Protected interval control start requests are considered to be recoverable within a CICS/400 system. Interval control uses the TS/TD recoverable file to hold the information for protected interval control start requests, along with any data being passed to the starting task. The information related to protected interval control start requests is backed out during rollback.

You need to understand how CICS recoverable resources are registered to OS/400 journals and opened under OS/400 commitment control. Applications written to run under CICS/400 must conform to these rules.

Interval control elements
Interval control start requests are either protected or non-protected, depending on the START command options, and are held in the appropriate TS/TD files AAEGxxxxTR and AAEGxxxxTN. This information is also restored during a warm or emergency start of a CICS control region, depending on the SIT parameters. Interval control uses shared storage in the control region (AEGxxxxSYS object) to hold CICS/400 areas pertinent to interval control requests. If the applications in the CICS system perform frequent interval control requests, be sure to allocate more space for control region space objects (SHRSTG parameter in ADDCICSSIT).

If an interval control request for storage fails because of lack of space, a series of AEG08xx messages is written to the control region job log. If this occurs, be sure to increase the size of storage before starting the control region again.

Acquiring terminals
Many interval control start requests are scheduled against CICS/400 terminals. If the OS/400 terminal device is in use outside CICS, interval control keeps trying to acquire the device to process the start requests. If a terminal-related interval control start does not begin at the requested time, the most likely cause is that the terminal cannot be acquired. The terminal must be in use by the CICS system before the start request can be scheduled against the terminal.

Interval control batch shells
Interval control uses special CICS shells, called interval control batch shells, to process interval control requests. The number allowed for a CICS system is determined by the ITVCTL parameter of the ADDCICSSIT command. You need to be sure that the number of these shells allocated for the control region is high enough to handle peak interval control processing loads in a timely manner.

Interval control start requests may not necessarily begin at the requested time. Interval control cannot control the scheduling within the OS/400 of the interval control batch shells allocated by the system administrator. Interval control start requests may not begin for a number of reasons, including:

  • OS/400 job class for the interval control batch shells is inactive
  • Security failure
  • Interval control batch job failure

For timely processing of interval control start requests, you should ensure that the job queue for the interval control batch shells is set up to allow at least the minimum number of batch shells to be executed.

If there are not enough interval control batch shells allocated to handle all the outstanding requests, and you do not want to recycle the control region to change the number of interval control shells; you can use a special STRCICSUSR request to start an additional interval control shell. This request must be submitted in batch. The CL command is:


Note: The spacing in the DATA parameter must be exactly as listed above with five blanks between *CICS and ICB.

Request identifiers
The interval control facility computes request identifiers for its own requests. Interval control uses the name of the temporary storage queue as the request identifier. Temporary storage is also used for the data associated with an interval control request.

Start requests and autoinstalled terminals
Interval control start requests against autoinstalled terminals are deleted during startup of a CICS control region. The autoinstalled terminal definition no longer exists in the TCT during the startup, therefore the start request cannot be scheduled against an undefined terminal.

To prevent this, the terminal associated with the start request should not be defined as an autoinstall terminal. Instead it should be defined as a terminal in the TCT; it should not default to using an autoinstall model.

Note: Client terminals are always autoinstalled and, therefore, interval control requests for client terminals are deleted during startup of a CICS control region.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

IBM - AS/400 Topics