Open TCBs and external resource managers
In the CICS® open transaction environment (OTE), when application programs, task-related user exits (TRUEs), global user exit programs, and user-replaceable modules are defined to CICS as threadsafe, they can run concurrently on open TCBs in the OTE.
If a TRUE runs on an open TCB, it is freed from the constraints imposed by the QR TCB and avoids the need to create and manage its own set of subtask TCBs. If an operating system wait issued by an external resource manager halts the open TCB, CICS continues processing on the QR TCB, and on other open TCBs. A TRUE running on an open TCB nevertheless has obligations both to the CICS system as a whole and to future users of the open TCB it is using.
Obligations of TRUEs running on L8 open TCBs
An L8 TCB is dedicated for use by the CICS task to which it is allocated to, but when the CICS task has completed, the L8 TCB is returned to the dispatcher-managed pool of L8 mode TCBs, provided it is still in a clean state. An unclean TCB in this context means that the task using the L8 mode TCB suffered an unhandled abend in an TRUE, and not that the TRUE has broken the threadsafe restrictions, which CICS would not detect.
An L8 TCB is not dedicated for use by a particular TRUE, but is used by all TRUEs that are invoked by the CICS task and that require an L8 TCB. The L8 TCB is also used by the threadsafe application code executed by the task.
Obligations of TRUEs running on T8 and X8 open TCBs
For XPLINK programs and for Java programs running in an OSGi JVM, X8 and T8 TCBs are respectively dedicated for to use by the CICS task at that link level. When control returns to a higher link level, the TCB is freed and is available for use by another CICS task.
For Java programs running in a Liberty JVM, the T8 TCB is dedicated to use by a CICS task for the lifetime of that task in the same way as an L8 TCB. If T8 TCBs remain clean, they can be used by subsequent tasks. And the application code that is executed by the calling task runs on the same TCB as the TRUE.