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 and migration.
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 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 3 summarizes the main differences between the two protocols.
MRO | APPC |
---|---|
Function is realized within CICS | Depends on VTAM® 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 |