This section provides an overview of the design of the external CICS® interface. For more information about the external CICS interface, see the CICS External Interfaces Guide.
The external CICS interface is an application programming interface that enables a non-CICS program (a client program) running in MVS™ to call a program (a server program) running in a CICS Transaction Server for z/OS®, Version 3 Release 1 region and to pass and receive data by means of a communications area. The CICS application program is invoked as if linked-to by another CICS application program.
This programming interface allows a user to allocate and open sessions (or pipes1) to a CICS region, and to pass distributed program link (DPL) requests over them. The multiregion operation (MRO) facility of CICS interregion communication (IRC) facility supports these requests, and each pipe maps onto one MRO session.
Unless the CICS region is running in a sysplex under MVS/ESA 5.1 and therefore able to use cross-system MRO (XCF/MRO), the client program and the CICS server region (the region where the server program runs or is defined) must be in the same MVS image. Although the external CICS interface does not support the cross-memory access method, it can use the XCF access method provided by XCF/MRO in CICS Transaction Server for z/OS, Version 3 Release 1. See the CICS Intercommunication Guide for information about XCF/MRO.
A client program that uses the external CICS interface can operate multiple sessions for different users (either under the same or separate TCBs) all coexisting in the same MVS address space without knowledge of, or interference from, each other.
Where a client program attaches another client program, the attached program runs under its own TCB.
The external CICS interface provides two forms of programming interface: the EXCI CALL interface and the EXEC CICS interface.
The six EXCI commands are:
The processing of an EXCI CALL-level command is shown in Figure 47.
This command takes the same form as the distributed program link command of the CICS command-level application programming interface.
A CICS server program invoked by an external CICS interface request is restricted to the DPL subset of the CICS application programming interface. This subset (the DPL subset) of the API commands is the same as for a CICS-to-CICS server program.
For details about the DPL subset for server programs, see the CICS Application Programming Guide.