External CICS interface (EXCI)

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 with a communications area. The CICS program is invoked as if linked-to by another CICS program.

This programming interface allows a user to allocate and open sessions (pipes) to a CICS system and to pass distributed program link (DPL) requests over them. CICS interregion communication (IRC) supports these requests and each pipe maps onto one MRO session.

For programming information about EXCI, see Introduction to the external CICS interface.

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.

The external CICS interface provides two forms of programming interface:
  • The EXCI CALL interface consists of six commands that allow you to:
    • Allocate and open sessions to a CICS system from non-CICS programs running under MVS
    • Issue DPL requests on these sessions from the non-CICS programs
    • Close and de-allocate the sessions on completion of the DPL requests
  • The EXEC CICS interface provides:
    • A single composite command (LINK PROGRAM) that performs all six commands of the EXCI CALL interface in one invocation

    The command takes the same form as the distributed program link command of the CICS command-level application programming interface.

CICS supports MVS resource recovery services (RRS) in applications that use the external CICS interface. This means that:
  • The unit of work within which the CICS server program changes recoverable resources can now become part of the MVS unit of recovery associated with the EXCI client program.
  • The CICS server unit of work can be committed when the server program returns control to the client or continues over multiple EXCI DPL calls, until the EXCI client decides to commit or backout the unit of recovery.