The EXCI programming interfaces

The external CICS® interface (EXCI) provides two forms of programming interface: the EXCI CALL interface and the EXEC CICS interface.

EXCI CALL interface

The EXCI CALL interface consists of six commands that you can use for the following actions:
  • 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 deallocate the sessions on completion of the DPL requests.
Here is the list of the six EXCI commands:
  • Initialize_User
  • Allocate_Pipe
  • Open_Pipe
  • DPL_Request
  • Close_Pipe
  • Deallocate_Pipe

For detailed descriptions of these commands and an EXCI CALL example, see The EXCI CALL interface.

EXEC CICS interface

The EXEC CICS interface provides several commands.

For example, the interface provides a single, composite command, EXEC CICS LINK PROGRAM , that performs all six commands of the EXCI CALL interface in one invocation. Each time you issue an EXEC CICS LINK PROGRAM command in a client application program, the external CICS interface invokes each of the six EXCI calls on your behalf.

The EXEC CICS LINK PROGRAM command is similar but not identical to the distributed program link command of the CICS command-level application programming interface.

EXCI also provides the ability to process data using channel and container commands. A channel together with its set of containers can then be passed on the EXEC CICS LINK PROGRAM command or on a call API DPL_REQUEST , as an alternative to using a communications area to transfer data or information from one program to another.

For detailed descriptions of the commands that are available with the EXEC CICS interface, see The EXCI EXEC CICS interface.

API restrictions for server programs: 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. See Distributed Program Link (DPL) for details of the DPL subset for server programs.