CICS intercommunication

The areas to consider when you write applications that communicate with other CICS® systems are summarized.

For further information about CICS intercommunication, see Getting started with intercommunication.

You can run application programs in a CICS intercommunication environment using one or more of the following facilities:
Transaction routing
Transaction routing enables a terminal in one CICS system to run a transaction in another CICS system. See Transaction routing.
Function shipping
Function shipping enables your application program to access resources in another CICS system. See Function shipping.
Distributed program link (DPL)
DPL enables an application program running in one CICS region to link to another application program running in a remote CICS region. See Distributed program link (DPL).
Asynchronous processing
Asynchronous processing enables a CICS transaction to start another transaction in a remote system and optionally pass data to it. See Asynchronous processing.
Distributed transaction processing (DTP)
DTP enables a CICS transaction to communicate with a transaction running in another system. Two interfaces are available for DTP; command-level EXEC CICS and the SAA interface for DTP, known as Common Programming Interface Communications (CPI Communications). See Distributed transaction processing (DTP).
Common Programming Interface Communications (CPI-C)
CPI-C provides DTP on APPC connections and defines an API that can be used on multiple system platforms. See Common Programming Interface Communications (CPI Communications).
External CICS interface (EXCI)
EXCI enables a non-CICS program running in MVS™ to allocate and open sessions to a CICS system, and to issue DPL requests on these sessions. CICS supports MVS resource recovery services (RRS) in applications that use the external CICS interface. See External CICS interface (EXCI).

For details about the intercommunication aspects of the CICS Front End Programming Interface (FEPI), see Introduction to FEPI.

Design considerations

If your application program uses more than one of the facilities listed earlier, you must allow for the design considerations for each one. Also, if your program uses more than one intersystem session for distributed transaction processing, it must control each session according to the rules for that type of session.

Programming language

Generally, you can use COBOL, C, C++, PL/I, or assembler language to write application programs that use CICS intercommunication facilities. However, for DTP application programs that hold APPC unmapped conversations using the EXEC CICS API, you can use only C, C++, or assembler language.