Thread initialization

Processing a transaction can involve a single run unit or several run units in the same or different languages. The sequence of currently active run units for a single transaction is called a CICS® thread. Thread initialization is performed when the first transaction run unit is encountered in a thread, and CICS calls the Language Environment-CICS interface module to request it. This request is made through the Thread Initialization Call. If the thread cannot be initialized then CICS abends the task.

Syntax

Call CEECCICS (20, rsncode, syseib, preasa, ptoken, ttoken, preatwa, pgminfo1, pgminfo2, statusflags) Retcode (rc)

rsncode (output)
A fullword integer in nnnffrr format to contain the member language-specific thread initialization reason code or one of the following Language Environment reason codes:
12000
Invalid parameter was passed
12020
Thread work area was not preallocated
12030
Language-specific thread initialization was not done
syseib
The system EXEC interface block, as defined by CICS. Its address is above 16M.
preasa
A preallocated save area supplied by CICS. The size of this save area is 248 (DFHEISTG length) bytes. It can be used for issuing CICS commands if necessary.
ptoken
A doubleword value containing the Language Environment partition token passed back to CICS at partition initialization.
ttoken (output)
A doubleword value to contain the Language Environment thread token.
preatwa
The address of the preallocated thread work area. The length of this work area was passed to CICS at Language Environment partition initialization.
pgminfo1
The same structure of information supplied by CICS to Language Environment in an establish ownership type call; see Figure 1.
pgminfo2
The same structure of information supplied by CICS to Language Environment in an establish ownership type call; see pgminfo2.
statusflags
The same structure of information supplied by CICS to Language Environment, as shown in Figure 1.
Figure 1. Structure of information supplied to CICS by Language Environment for STATUSFLAGS
    1 CEECICS_STATUS_FLAGS     BIT(32) BASED(CEECICS_ARG11PTR),
      3 CEECICS_CICS_AP_TRACE,          /* State of AP trace           */
        5 CEECICS_TRACE_LEVEL1 BIT(1),  /* Level 1 trace is requested  */
        5 CEECICS_TRACE_LEVEL2 BIT(1),  /* Level 2 trace is requested  */

If the initial program in a transaction is a reusable enclave, then the CICS thread (Language Environment process) is marked as a Language Environment/CICS reusable process.