Language Environment-CICS and Language Environment-batch program models
The following illustration and notes describe the correlation between the Language Environment-CICS program model and the Language Environment-batch program model. In general, the CICS® Subsystem itself is not implemented as a Language Environment-enabled application. However, it is presented here in the form of a Language Environment-enabled application to illustrate the relationship of the two program models.
- Language Environment Process in the Language Environment-batch program model is the same as the CICS Partition in the Language Environment-CICS program model – an address space that consists of at least one enclave (CICS run unit), a collection of code and data. Unlike the Language Environment process, a character string argument (containing the runtime options) cannot be passed to the CICS partition. Also, default overrides cannot be passed to the CICS partition.
- As in Language Environment process initialization, the anchor vector is set up at CICS partition initialization.
- The Language Environment-batch program model does not provide an equivalent term to the CICS Thread in the Language Environment-CICS program model. The sequence of currently active CICS run units (Language Environment enclaves) for a single transaction is called a CICS Thread.
- The CICS run unit in
the Language Environment-CICS
program model is an equivalent of the Language Environment Enclave in
the Language Environment-batch
program model.
The CICS run unit initialization in the Language Environment-CICS program model is same as the Language Environment Enclave creation in the Language Environment-batch program model.
- Unlike the Language Environment-batch
program model, the Language Environment-CICS
program model only supports a single Language Environment thread
within an enclave (CICS run
unit). Multiple Language Environment enclaves
within a process (CICS partition)
are supported.
Transfer of control within an enclave in the Language Environment-CICS program model is only accomplished with the CALL statement. Unlike the Language Environment-batch program model, transfer of control within an enclave with Language Environment thread creation service is not supported in the Language Environment-CICS program model.
The Language Environment-CICS program model does not support the multitask function of the Language Environment-batch program model. It supports the multithread function of CICS.
- As in the Language Environment-batch program model, one enclave can transfer control to another enclave in the Language Environment-CICS program model. This happens as a result of running EXEC CICS LINK or EXEC CICS XCTL from the CICS run unit within the enclave.
- In the Language Environment-CICS program model, abend propagation continues to be allowed only if the enclave (run unit) was created using the EXEC CICS LINK command.
- All other definitions in the Language Environment-batch program model apply to the Language Environment-CICS program model.