z/OS MVS Programming: Sysplex Services Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


One data area per response

z/OS MVS Programming: Sysplex Services Guide
SA23-1400-00

Instead of one large contiguous data area, the receiver can provide a separate data area for each response. The IXCRECV DATADESC keyword indicates the location of a data descriptor table. A data descriptor table is an array with an entry for each requested response. Consider the following:
  • Each entry of the array contains a "data descriptor" that identifies where the response data for the corresponding response is to be stored.
  • There must be an entry in the table for each requested response. Furthermore, the storage area identified by any one data descriptor must be large enough to contain the response data for the corresponding response. If not, no response data is stored and the IXCRECV service routine returns with a warning return code.
  • The answer area header indicates the number of response descriptors.
  • The response descriptor for each response indicates the size of its response data.
  • The caller needs to set up the necessary storage areas and data descriptors and reissue the IXCRECV macro to receive the responses.
  • The response data for a response is to be stored at offset 0 in the storage area that is identified by the corresponding data descriptor in the data area. Thus, if the receiver requires that the response data be on a certain storage boundary (for example, a doubleword boundary), the receiver must ensure that the data area resides on that boundary.
When a message has more than one response, the entries in the data descriptor table can be associated with the responses in one of two ways:
  • BIND=TARGET indicates that the data descriptor "i" is to be used when storing the response data from target "i" .
  • BIND=NEXT indicates that each successive data descriptor is to be used for whatever response XCF happens to process next.
A client might choose to use BIND=NEXT, for example, if it learns from the response descriptors that some targets did not provide response data. This way the client only needs to provide a data descriptor table with enough entries for all available responses rather than for all targets.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014