z/OS MVS Programming: Writing Transaction Programs for APPC/MVS
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Obtaining Information about the Conversation

z/OS MVS Programming: Writing Transaction Programs for APPC/MVS
SA23-1397-00

After accepting the conversation, the partner TP can then use the conversation ID as input to these services to obtain more information about the conversation:
Get_Type
Tells the caller what type of conversation is in effect (basic or mapped). This service allows a TP to handle requests from callers who might specify either type of conversation. The TP can use conditional logic to send and receive basic or mapped data depending on the type in use.
Get_Attributes
Tells the caller the LU, mode name, sync_level, the conversation correlator, and other information that applies to the caller in the current conversation. This allows the TP to run under different combinations of the above, using conditional logic to function appropriately. For example, a partner TP can use the conversation correlator, which uniquely identifies a conversation, to correlate requests with responses from an alternate transaction scheduler.

When a partner TP allocates a conversation with a TP running on MVS, the system on which the partner TP is running generates the conversation correlator, and sends the correlator to APPC/MVS in the FMH-5 for the Allocate request. After the scheduler processes the request, the scheduler sends the correlator back to the partner TP as data over the conversation. The partner TP can then correlate the original request with the response from the scheduler.

Note: When MVS is the partner system, it only generates unique conversation correlators for syncpoint conversations. For all others, MVS always provides a conversation correlator that has the value zero.
Figure 1 shows an example of how a scheduler can process a conversation correlator. The figure illustrates the following scenario:
  1. The partner TP allocates a conversation with a local TP on MVS. The partner system sends the conversation correlator to APPC/MVS in the FMH-5 that contains the request.
  2. The partner TP calls the Send_Data service to put a block of data in a buffer for sending.
  3. The partner TP calls the Get_Attributes service to receive the conversation correlator assigned to the conversation.
  4. The partner TP calls the Deallocate service to end the conversation and force the LU to send the buffered data.
  5. The transaction scheduler receives the request and schedules the transaction. The scheduler receives the correlator from the IXCMSGI message buffer.
  6. The scheduler allocates a conversation back to the partner TP.
  7. The scheduler sends the conversation correlator to the partner TP as data over the conversation. The scheduler also sends the message that results from the execution of the TP.
  8. The scheduler calls the Deallocate service, with a Deallocate_type of Confirm, to end the conversation and force the LU to send the buffered data.
  9. The partner TP receives the conversation correlator.
  10. The partner TP validates that the conversation correlator that it is the same as the correlator returned on the call to Get_Attributes in step 3 above.
  11. The partner TP calls the Confirmed service to send a confirmation reply to the transaction scheduler.

In Figure 1, "CC" indicates the conversation correlator.

Figure 1. Example Use of the Conversation Correlator

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014