The 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 distributed program link (DPL) requests on these sessions from the non-CICS programs.
  • Close and deallocate the sessions on completion of the DPL requests.

Illustration of the EXCI CALL interface

These four diagrams illustrate the EXCI interface using the EXCI CALL interface.

Stage 1: INITIALIZE_USER (initializing the user environment)
This diagram shows the MVS Client Application with the External CICS user environment established and the CICS server region with MRO EXCI CONNECTION installed with 3 sessions.
Figure 1. Stage 1: Status after an INITIALIZE_USER call
This diagram shows the MVS Client Application with External CICS user environment established, and the CICS Server region with MRO EXCI CONNECTION installed with 3 sessions (PROTOCOL= EXCI) (RECEIVECOUNT=3)
  1. In Figure 1, the target CICS region is running with IRC open, and one EXCI connection with three sessions installed, at the time the client application program issues an INITIALIZE_USER call.
  2. The client application program address space is initialized with the EXCI user environment. There is no MRO activity at this stage, and no pipe exists.
Stage 2: ALLOCATE_PIPE (allocating a pipe to CICS)
This diagram shows the MVS Client Application with a pipe allocated and the CICS server region with an MRO EXCI CONNECTION installed with 3 sessions.
Figure 2. Stage 2: Status after the first ALLOCATE_PIPE call
This diagram shows the MVS Client Application with a pipe allocated and the CICS Server region with an MRO EXCI CONNECTION installed with 3 sessions (PROTOCOL= EXCI) (RECEIVECOUNT=3)

In Figure 2, the external CICS interface logs on to MRO, identifying the target CICS server region.

Stage 3: OPEN_PIPE (connecting an allocated pipe to a receive session)
This diagram shows the MVS Client Application with a pipe opened and the CICS server region with an MRO EXCI CONNECTION installed with 3 sessions.
Figure 3. Stage 3: Status after the OPEN_PIPE call
This diagram shows the MVS Client Application with Pipe opened and the CICS Server region with an MRO EXCI CONNECTION installed with 3 sessions (PROTOCOL= EXCI) (RECEIVECOUNT=3)
  1. In Figure 3, the external CICS interface connects to the CICS server region, and the pipe is now available for use.
  2. The remaining two EXCI sessions are free, and can be used by further open pipe requests from the same, or a different, client application program (provided the connection is generic).
Stage 4: DPL_Request (issuing a DPL request across an open pipe)
This diagram shows that a DPL request and data flows from the client to the server and response and data flows back. The MVS Client Application has a pipe opened and the CICS server region has an MRO EXCI CONNECTION installed with 3 sessions.
Figure 4. Stage 4: Status with one open pipe, processing a DPL call
This diagram shows that a DPL Request and data flows from the client to the server and response and data flows back. The MVS Client Application has a pipe opened and the CICS Server region has an MRO EXCI CONNECTION installed with 3 sessions (PROTOCOL= EXCI) (RECEIVECOUNT=3)

In Figure 4, the external CICS interface passes the DPL request over the open pipe, with any associated data. The CICS server region returns a response and data over the open pipe.

Stage 5: Close_Pipe (closing pipes)
When the client application program closes a pipe, it remains allocated ready for use by the same user, and the status is as shown in Figure 2. At this stage, the MRO session is available for use by another open pipe request, from the same or from a different client application program (provided the connection is generic).
Stage 6: Deallocate_Pipe (deallocating pipes)
When the client application program deallocates a pipe, it logs off from MRO and frees all the storage associated with the session. This leaves the status as shown in Figure 1.

The application program stub, DFHXCSTB

The EXCI commands invoke the external CICS interface through an application programming stub, called DFHXCSTB, provided by CICS. You must include this stub when you link-edit your non-CICS program.