Interval control program exits XICREQ, XICEXP, and XICTENF

You can use some XPI calls in exit programs invoked from the interval control program. However, when any of these exits are invoked for expiry analysis, any actions that delay the execution of the interval control program can have adverse effects on other transactions that are waiting for intervals to expire. You can determine whether the exits have been invoked for expiry analysis by examining the type-of-request field, TCAICTR, a copy of which is pointed to by the UEPICRQ1 exit-specific parameter.

Note:
The XICREQ exit is invoked by internal requests made by CICS® code, as well as by requests made by applications. For example, if you use the CICS extended recovery facility (XRF), the XRF surveillance program uses interval control services. DFHXRSP issues an interval control WAIT every 2 seconds; this means that any interval control exit programs are also invoked every 2 seconds.

Exit XICREQ

When invoked
At the beginning of the interval control program, before request analysis.
Exit-specific parameters
UEPICQID
Address of an 8-byte field containing the request ID parameter on request. See notes below.
UEPICTID
Address of a 4-byte field containing the terminal ID, if any, specified on an EXEC CICS START command. See notes below.
UEPICTI
Address of 4 bytes containing the transaction ID specified on an EXEC CICS START command. See notes below.
UEPICRQ1
Address of a 1-byte field containing a copy of TCAICTR, the first request code field for requests to the interval control program.
UEPICRQ2
Address of a 1-byte field containing a copy of TCAICTR2, the second request code field for requests to the interval control program.
UEPICRT
Address of a 4-byte field containing the expiry time or interval, in packed decimal format. The value is in the form 0HHMMSSF, where H=hours, M=minutes, S=seconds, and F is a positive sign.
Notes:
  1. The contents of the fields addressed by UEPICQID and UEPICTID are unpredictable if the associated data items were not specified on the request. You must test the copy of TCAICTR to determine whether they contain meaningful values.
  2. Your exit program can change the values of the fields addressed by UEPICQID, UEPICTID UEPICTI, and UEPICRT. Changing the values of the fields addressed by UEPICRQ1 or UEPICRQ2 has no effect.
Return codes
UERCNORM
Continue processing.
UERCPURG
Task purged during XPI call.
XPI calls
The following must not be used:

Exit XICEXP

When invoked
After an interval control time interval has expired.
Exit-specific parameters
UEPICE
Address of the interval control element (ICE) that has just expired. The ICE can be mapped using the DSECT DFHICEDS.
Return codes
UERCNORM
Continue processing.
UERCPURG
Task purged during XPI call.
XPI calls
The following must not be used:

Exit XICTENF

When invoked
Exit XICTENF is also invoked from the interval control program. However, this exit relates to the ‘terminal not known’ condition and so is considered in detail in ‘Terminal not known’ condition exits XALTENF and XICTENF.

Related concepts
Overview -- what is a global user exit?
Overview of the XPI
Global user exit XPI examples, showing the use of storage
Related tasks
Writing global user exit programs
Making an XPI call
Related reference
List of global user exit points
The XPI functions
[[ Contents Previous Page | Next Page Index ]]