Calling an OPENAPI task-related user exit

About this task

If a task-related user exit is enabled with the OPENAPI option, CICS® uses the following rules, based on the type of call, to determine the TCB on which it should invoke the TRUE—on the QR TCB, on the caller's TCB, or an L8 mode TCB:
Application program call (API)—UERTAPPL
For this call, CICS always invokes the TRUE on an L8 mode TCB
CICS syncpoint manager call—UERTSYNC
For this call, CICS always invokes the TRUE on an L8 mode TCB
CICS task manager call—UERTTASK
For this call, the TCB on which CICS invokes the TRUE is further determined by the type of task manager call:
UERTSOTR—Start of task
For this call, the open API option is ignored for performance reasons. Tasks that run as Liberty threads invoke the TRUE on the T8 TCB that CICS provided to the Liberty ThreadPool. All other tasks invoke it on the QR TCB.
UERTEOTR —End of task
For this call, CICS always invokes the TRUE on an L8 mode TCB.
EDF call—UERTFEDF
For this call, CICS always invokes the TRUE on an L8 mode TCB
CICS SPI call—UERTSPI
For this call, CICS always invokes the TRUE as a threadsafe TRUE on the TCB on which the task is currently running at the time of the call.

The SPI function, which is to satisfy EXEC CICS INQUIRE EXITPROGRAM commands on which the CONNECTST or QUALIFIER option are specified, is simple and does not require invocation on a specific TCB.

CICS termination call—UERTCTER
For this call the open API option is ignored and CICS always invokes the TRUE on the QR TCB.
Note: Even for call types that are invoked on an L8 TCB, it is possible that the L8 TCB could suffer an aynschronous abend and therefore not be available for subsequent use, with the following result:
  • If CICS is unable to switch to the L8 TCB for an API call to a TRUE, CICS abends the transaction.
  • If CICS is unable to switch to the L8 TCB for a syncpoint or end of task call, CICS invokes the TRUE on the QR TCB instead.
The TCB mode on which the task-related user exit is being called is provided in the second and third bytes of a three-byte filed addressed by the UEPTIND parameter. See User exit parameter lists for details.