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.

Figure 1. Language Environment-CICS and Language Environment-batch program model
-CICS and -batch program model
Note:
  1. 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.
  2. As in Language Environment process initialization, the anchor vector is set up at CICS partition initialization.
  3. 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.
  4. 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.

  5. 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.

  6. 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.
  7. 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.
  8. All other definitions in the Language Environment-batch program model apply to the Language Environment-CICS program model.