If you choose to use APPC, you must decide which application programming interface (API) to use; and then which conversation type (basic or mapped) to use. See the following sections.
CICS® Transaction Server for z/OS®, Version 3 Release 1 provides a choice of two application programming interfaces (APIs) for coding your DTP conversations on APPC sessions:
As an existing CICS user, you should not need to convert to the CPI Communications interface unless you have decided to adopt it as standard. You should continue to use EXEC CICS. However, to help you review the choices, Table 3 makes a general comparison between the two methods.
CICS API | CPI Communications interface |
---|---|
Portability between different members of the CICS family. | Portability between systems that support SAA. |
Basic conversations can be programmed only in assembler and C language. | Basic conversations can be programmed in any of the available SAA 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. |
Can be used on the principal facility to a transaction started by automatic transaction initiation (ATI). | Cannot be used on the principal facility to a transaction started by ATI. |
Limited compatibility with MRO. | No compatibility with MRO. |
Commands similar to those used to communicate with IBM 3270 terminals. | Commands similar to those used to define the APPC architecture. |
All parameters are passed on the relevant command. | Parameter values are set by special commands before the relevant command is issued. |
For further information about CPI Communications, see Common Programming Interface Communications, SC26-4399.
It is possible to mix CPI Communications calls and EXEC CICS commands in the same program, but not on the same side of the same conversation. It is possible to implement a distributed transaction where one partner to a conversation uses CPI Communications calls and the other uses the CICS API. To do this you have to know how the APIs on both sides map to the APPC architecture. See Appendix A. CICS mapping to the APPC architecture.
The communication commands you code in your application depend on whether you intend to use basic or mapped conversations. CICS-to-CICS applications need use only mapped conversations. Basic conversations (also referred to as "unmapped") are useful only when communicating with systems that do not support mapped conversations. These include some APPC devices.
The two conversation types are similar. The main difference lies in the way user data is formatted for transmission:
The CICS API uses the EXEC CICS GDS commands for basic conversations and terminal control type EXEC CICS commands for mapped conversations.
Table 4 summarizes the differences between mapped and basic conversations. Note that it only applies to the CICS API.
Mapped | Basic |
---|---|
The conversation partners exchange only data that is relevant to the application. | Both partners must package the user data in GDS records before sending and unpack it on receipt. |
All commands use the EXEC Interface Block for status reporting. | All commands use a RETCODE and CONVDATA for status reporting. |
The transaction can handle exception conditions or let them default. | The transaction must test for exceptional conditions in a RETCODE. |
A RECEIVE command issued in send state causes conversation turnaround. | A RECEIVE command is illegal in send state. |
Transactions may be written in COBOL, PL/I, C, or assembler. | Transactions may be written in C or assembler. |
By specifying the RTIMOUT option of the PROFILE definition, you can cause a conversation to time out if the partner does not respond. | You cannot cause a conversation to time out if the partner does not respond. |
If you use VTAM® persistent session support, after a CICS failure APPC sessions are held in "recovery pending" state until CICS restarts, or until the timeout value set on the PSDINT system initialization parameter expires.
If you enable persistent session support in the local CICS, DTP applications that use APPC sessions defined as persistent are affected as follows:
Actions on the partner system:
These methods are described in the CICS Intercommunication Guide.
Action on this system:
For further information about VTAM persistent session support, see the CICS Recovery and Restart Guide.
Depending on which APPC conversation type you select, see:
[[ Contents Previous Page | Next Page Index ]]