Run unit (program) termination

After the Language Environment-CICS interface routine returns from the run unit end invocation call to CICS®, CICS can the drive Language Environment-CICS interface routine with the run unit termination call. Run unit termination call can occur as frequent as the run unit end invocation call or it might only occur when CICS is under stress.

Syntax

Call CEECCICS (31, rsncode, syseib, preasa, ptoken, ttoken, rtoken, terminfo) Retcode (rc)

rsncode (output)
A fullword integer that contains one of the following Language Environment reason codes:
13100
Invalid parameter was passed
13110
Wrong thread token was passed
13140
No PTB was passed
syseib
The system EXEC interface block, as defined by CICS for use by Language Environment and language-specific interface routines. The system EIB address is above 16M.
preasa
A fullword value containing the preallocated save area address to be used by Language Environment to issue the last EXEC CICS FREEMAIN command. The size of this save area is 248 bytes.
ptoken
A doubleword value containing the Language Environment partition token established at partition initialization.
ttoken
A doubleword value containing the Language Environment thread token established at thread initialization.
rtoken
A doubleword value containing the Language Environment run unit token established at run unit initialization.
terminfo
A 32 bit structure that communicates termination information from CICS to Language Environment. See Figure 1.
Figure 1. Termination information supplied from CICS to Language Environment
DCL 1 TERMINFO     BIT(32),             /* CICS termination information */
      2 TCB_SWITCH BIT(1),              /* Indicates TCB has been       */
                                        /* switched and clean-up should */
                                        /* be bypassed                  */
                                        /* For OTE and reusable enclaves*/
                                        /* CICS may or may not call Lang*/
                                        /* Env for the proper TCB that  */
                                        /* original task (TCB) was      */
                                        /* dubbed on                    */