The programming interfaces
The external CICS interface provides two forms of programming interface:
the EXCI CALL interface and the EXEC CICS interface.
- The EXCI CALL interface
- This 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 deallocate the sessions on completion of the DPL requests.
The six EXCI commands are:- Initialize_User
- Allocate_Pipe
- Open_Pipe
- DPL call
- Close_Pipe
- Deallocate_Pipe
The processing of an EXCI CALL-level command is shown in Figure 1.
- The EXEC CICS interface
- The external CICS interface provides a single,
composite command–EXEC CICS LINK PROGRAM– that performs
all six commands of the EXCI CALL interface in one invocation. The
processing of an EXEC CICS LINK command is shown in Figure 2.
This command takes the same form as the distributed program link command of the CICS command-level application programming 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.
For details about the DPL subset for server programs, see the Distributed Program Link (DPL).

Note:
- An EXCI CALL API request is issued, and invokes the DFHXCIS entry point in the EXCI stub, DFHXCSTB.
- DFHXCSTB locates DFHXCPRH, and invokes it to process the EXCI request. If DFHXCPRH is not found, DFHXCSTB loads DFHXCPRH before invoking it.
- DFHXCPRH sets up the control blocks needed for the EXCI request. For a DPL request, DFHXCPRH invokes DFHIRP to pass control to CICS.

Note:
- An EXCI EXEC API request is issued, and invokes the DFHXCEI entry point in the EXCI stub, DFHXCSTB.
- DFHXCSTB locates DFHXCEIP, and invokes it to process the EXCI request. If DFHXCEIP is not found, DFHXCSTB loads DFHXCEIP before invoking it.
- DFHXCEIP converts the EXCI EXEC-level request into a series of EXCI CALL-level requests.
- The CALL-level requests result in calls to the EXCI stub, DFHXCSTB (as in Figure 1).