EXEC CICS or CPI Communications?

CICS® gives you a choice of two application programming interfaces (APIs) for coding your DTP conversations on APPC sessions. The first, the CICS API, is the programming interface of the CICS implementation of the APPC architecture. It consists of EXEC CICS commands and can be used with all CICS-supported languages. The second, Common Programming Interface Communications (CPI Communications) is the communication interface defined for the SAA environment. It consists of a set of defined verbs, in the form of program calls, which are adapted for the language being used.

Table 5 compares the two methods to help you to decide which API to use for a particular application.

Table 5. CICS API compared with CPI Communications
CICS API CPI Communications
Portability between different members of the CICS family. Portability between systems that support SAA facilities.
Basic conversations can be programmed only in assembler language or C. Basic conversations can be programmed in any of the available languages.
Sync levels 0, 1, and 2 supported. Sync levels 0, 1, and 2 supported, except for transaction routing, for which only sync levels 0 and 1 are supported.
PIP data supported. PIP data not supported.
Only a few conversation characteristics are programmable. The rest are defined by resource definition. Most conversation characteristics can be changed dynamically by the transaction program.
Can be used on the principal facility to a transaction started by ATI. Cannot be used on the principal facility to a transaction started by ATI.
Limited compatibility with MRO. No compatibility with MRO.

You can mix CPI Communications calls and EXEC CICS commands in the same transaction, but not on the same side of the same conversation. You can implement a distributed transaction where one partner to a conversation uses CPI Communications calls and the other uses the CICS API. In such a case, it would be up to you to ensure that the APIs on both sides map consistently to the APPC architecture.

Related concepts
Overview of DTP
Advantages over function shipping and transaction routing
Why distributed transaction processing?
What is a conversation and what makes it necessary?
MRO or APPC for DTP?
APPC mapped or basic?
Related tasks
Defining remote resources for DTP
CICS-to-IMS applications--DTP
[[ Contents Previous Page | Next Page Index ]]