MRO or APPC for DTP?

You can program DTP applications for both MRO and APPC links. The two conversation protocols are not identical. Although you seldom have the choice for a particular application, an awareness of the differences and similarities will help you to make decisions about compatibility.

Choosing between MRO and APPC can be quite simple. The options depend on the configuration of your CICS® complex and on the nature of the conversation partner. You cannot use MRO to communicate with a partner in a non-CICS system. Further, it supports communication between transactions running in CICS systems in different MVS™ images only if the MVS images are in the same MVS sysplex, and are joined by cross-system coupling facility (XCF) links. For full details of the hardware and software requirements for XCF/MRO, see Installation requirements for XCF/MRO.

For communication with a partner in another CICS system, where the CICS systems are either in the same MVS image, or in the same sysplex, you can use either the MRO or the APPC protocol. There are good performance reasons for using MRO. But if there is any possibility that the distributed transactions will need to communicate with partners in other operating systems, it is better to use APPC so that the transaction remains unchanged.

Table 1 summarizes the main differences between the two protocols.

Table 1. MRO compared with APPC
MRO APPC
Function is realized within CICS Depends on the z/OS® Communications Server or similar
Nonstandard architecture SNA architecture
CICS-to-CICS links only Links to non-CICS systems possible
Communicates within single MVS image, or (using XCF/MRO) between MVS images in same sysplex Communicates across multiple MVS images and other operating systems
PIP data not supported PIP data supported
Data transmission not deferred Deferred data transmission
Partner transaction identified in data Partner transaction defined by program command
RECEIVE can only be issued in receive state RECEIVE causes conversation turnaround when issued in send state on mapped conversations
No expedited flow possible ISSUE SIGNAL command flows expedited
WAIT command has no function WAIT command causes transmission of deferred data