Open task control blocks (open TCBs)

The open transaction environment (OTE) is an environment where threadsafe application code can run on its own TCB inside the CICS® address space, without interference from other transactions. Applications that use the OTE can run on a class of TCB called an open TCB, as well as on the quasi-reentrant (QR TCB).

Using an open TCB provides the following advantages over using the QR TCB:

TCB modes

CICS manages open TCBs in separate pools, with each pool containing a different type, or mode, of open TCB. Each mode has a 2-character identifier to indicate its specific purpose, and is handled by CICS in a different way:
L8 mode TCBs and L9 mode TCBs
These TCBs are used to run threadsafe programs; that is, programs defined as CONCURRENCY(THREADSAFE) or CONCURRENCY(REQUIRED) in the PROGRAM resource definition.
  • L8 mode TCBs are used by CONCURRENCY(THREADSAFE) and CONCURRENCY(REQUIRED) CICSAPI application programs because CICS services do not require TCB key matching.
  • L8 mode TCBs are used for CICSKEY OPENAPI application programs.
  • L9 mode TCBs are used for USERKEY OPENAPI application programs.
SP mode TCB and S8 mode TCBs
These TCBs are used by CICS to manage SSL connections and requests to LDAP by using the DFHDDAPX XPI interface. The S8 TCBs run in a single enclave, which is owned by the SP TCB and also contains the SSL cache.
TP mode TCB and T8 mode TCBs
A TP mode TCB is used by a JVM server to perform system processing. T8 TCBs are used to run Java™ programs in a JVMSERVER resource.
X8 mode TCBs and X9 mode TCBs
These TCBs are used to run C and C++ programs compiled with the XPLINK option. X8 TCBs are used for programs in CICS key, and X9 mode TCBs are used for programs in user key. Each instance of an XPLINK program uses one X8 or X9 TCB. Programs compiled with the XPLINK option must also be defined in the PROGRAM resource definition as threadsafe. This indication, and the XPLINK “signature” in the load module, are the only things required to put the task on an X8 or X9 TCB.

A CICS task is allowed as many X8 and X9 TCBs as it requires, and these TCBs are kept only until the program finishes. Each CICS task is allowed at most one L8 and one L9 TCB, and it keeps an L8 and an L9 TCB from the time it is allocated to the end of the task. The TCBs then become free, and CICS can allocate them to another task or destroy them.

TCB storage requirements

The maximum number of TCBs allowed in each pool is specified by a MAXxxxxTCBS parameter.

When specifying any of the MAXxxxxTCBS parameters, take into account TCB storage requirements. All TCBs use real storage, and virtual storage below 16 MB, so the number of open TCBs that a CICS region can support is restricted by the amount of storage available both above and below 16 MB.

For more information about the MAXxxxxTCBS parameters, see Open TCB pools.



opentcb.html | Timestamp icon Last updated: Thursday, 27 June 2019