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.
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
° 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 external CICS interface (EXCI for short) allows programs running in batch, to execute a program that exists in an CICS environment.
Two forms of interface are provided by the External CICS Interface:
1) The EXCI Call Interface. This consists of six commands which let you initialize and open the interface, submit a request or requests and close the interface.
2) The EXEC CICS interface. This provides a single command (EXEC CICS LINK) to submit a request, the opening , closing and initialization is done automatically.
Choosing the correct Interface.
Your choice of interface will depend on the requirements of the application.
For single requests or infrequent requests it is recommended that you use the EXEC CICS LINK command. This should be used in these circumstances because all DPL functions must be executed for each invocation of the LINK command causing additional overheads.
Where your application requires frequent or multiple requests you should use the EXCI Call Interface. This is more efficient because you only have to perform the Initialize and Allocate once at the beginning of your program. You can then open and close the pipe as necessary and issue as many DPL calls as required, before de-allocating the pipe at the end of the program.