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 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 pipes ( a one-way communication path between
a sending process and a receiving process) 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, where the client program represents
the sending process and the CICS server region represents the receiving
process. There is a default
limit of 100 pipes per EXCI address space; the limit can be changed when MVS is
IPLed.
This limit is implemented to avoid EXCI clients monopolising MRO resources, which could prevent CICS systems from using MRO. The limit is applied in both MRO and cross system MRO (XCF/MRO) environments. An ALLOCATE_PIPE request results in an MRO LOGON request being issued and there is a limit on the total number of MRO LOGON requests allowed from all address spaces. This is particularly critical when using XCF/MRO, where the limit on the number of members in a XCF group also limits the total number of MRO LOGONs
The
external CICS interface identifies the CICS region to communicate with by
the CICS region's applid, as defined in the SIT APPLID parameter. (In an XRF
environment, it is the generic applid that must be used). You can specify
the applid either on an EXCI API call or by means of the DFHXCURM user-replaceable
program. (For more information about DFHXCURM, see The EXCI user-replaceable module.)
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 unless:
Although the external CICS interface does not support the cross-memory access method, it can use the XCF access method provided by the CICS XCF/MRO facility. SeeUsing the EXCI options table, DFHXCOPT 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.