z/OS Communications Server: SNA Programmer's LU 6.2 Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


What-received indicators

z/OS Communications Server: SNA Programmer's LU 6.2 Guide
SC27-3669-00

Table 1 shows the combinations of WHATRCV information that can be passed to the application program on one APPCCMD CONTROL=RECEIVE macroinstruction. The table also shows the valid conversation types for each combination.

Table 1. Valid combinations of what-received indicators
Returned Information Valid Conversation Type Meaning
DATA only Full-duplex and Half-duplex This value is returned when the application program is receiving data in terms of buffers instead of logical records. It indicates that data has been received. More data might remain in the logical record.
DATA and PS_HEADER Half-duplex These values are returned when the application program is receiving data in terms of buffers instead of logical records. It indicates that data and a complete PS header have been received. (The received data buffer is larger than or equal to any data preceding the PS header in the normal data queue plus the PS header.) The PS header is the last data in the buffer. The buffer might not be filled upon completion.
PS_HEADER Half-duplex This value indicates that a complete PS header has been received. (The received data buffer is larger than or equal to the PS header.) The PS header is the only data in the buffer. The buffer might not be filled upon completion.
DATA and PARTIAL_PS_HEADER Half-duplex These values are returned when the application program is receiving data in terms of buffers instead of logical records. It indicates that data and a portion of a PS header have been received. More data remains to be received to complete the PS header.
PARTIAL_PS_HEADER Half-duplex This value indicates that a portion of a PS header has been received. More data remains to be received to complete the PS header.
DATA_COMPLETE only Full-duplex and Half-duplex This value is returned when the application program is receiving data in terms of logical records, and it finishes receiving a logical record.
DATA_INCOMPLETE only Full-duplex and Half-duplex This value is returned when the application program is receiving data in terms of logical records, and a portion of a logical record is received. More data remains to be received to complete the logical record.
SEND only Half-duplex This value indicates that the partner LU has entered RECEIVE state, placing the local application program in SEND state. The local application program can now send conversation data.
SEND and PS_HEADER Half-duplex These values indicate that the partner LU has entered RECEIVE state, placing the local application program in SEND state. The local application program can now send conversation data. A complete PS header has also been received by the application program.
CONFIRM only Half-duplex This value indicates that the application program has received a confirmation request. The application program can respond positively to the confirmation request or report an error.
DEALLOCATE only Full-duplex and Half-duplex This value indicates that the partner LU has unconditionally deallocated the conversation.
DEALLOCATE and PS_HEADER Half-duplex These values indicate that the application has received a complete PS header and indicates that the partner LU has unconditionally deallocated the conversation.
DATA_INCOMPLETE and LOG_DATA Full-duplex and Half-duplex These values are returned when the application program is receiving data in terms of logical records, and a portion of an error log variable is received. More log data remains to be received to complete the error log variable, which is also a logical record.
CONFIRM and SEND Half-duplex These values indicate the partner LU will enter RECEIVE state after receiving a positive reply to a confirmation request. The application program can respond positively to the confirmation request or report an error.
CONFIRM and DEALLOCATE Half-duplex These values indicate that the partner LU will unconditionally deallocate the conversation after receiving a positive reply to a confirmation request. The application program is to respond either positively or negatively to the confirmation request.
DATA and SEND Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, and has received data along with an indication that the partner LU has entered RECEIVE state. The received data should complete a logical record.
DATA, SEND, and PS_HEADER Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, and an indication that the partner LU has entered RECEIVE state. The received data should complete a logical record, and the PS header is the last data in the buffer. The buffer might not be filled upon completion.
DATA and CONFIRM Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, and has received data along with a confirmation request. The data must complete a logical record. The application program is to respond to the confirmation request, either positively or negatively.
DATA, CONFIRM, and PS_HEADER Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, and a confirmation request. The data must complete a logical record, and the PS header is the last data in the buffer. The application program is to respond to the confirmation request, either positively or negatively.
CONFIRM and PS_HEADER Half-duplex These values indicate that the application program is receiving a complete PS header and a confirmation request. The PS header is the only data in the buffer. The application program is to respond to the confirmation request, either positively or negatively.
DATA and DEALLOCATE Full-duplex and Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, and has received data along with an indication that the partner LU has unconditionally deallocated the conversation.
DATA, DEALLOCATE, and PS_HEADER Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, has received a complete PS header, and an indication that the partner LU has unconditionally deallocated the conversation. The PS header is the last data in the buffer. The buffer might not be filled upon completion.
DEALLOCATE and PS_HEADER Half-duplex These values indicate that the application program has received a complete PS header and an indication that the partner LU has unconditionally deallocated the conversation. The PS header is the only data in the buffer. The buffer might not be filled upon completion.
DATA, CONFIRM, and SEND Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records. Indicates that the partner LU will enter RECEIVE state after receiving a positive reply to a confirmation request. The application program can respond positively to the confirmation request, or report an error.
DATA, CONFIRM, SEND, and PS_HEADER Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, and has received a complete PS header, a confirmation request, and an indicator that the partner LU will enter RECEIVE state after receiving a positive reply to a confirmation request. The application program can respond positively to the confirmation request, or report an error. The PS header is the only data in the buffer. The buffer might not be filled upon completion.
CONFIRM, SEND, and PS_HEADER Half-duplex These values indicate that the application program has received a complete PS header a confirmation request, and an indicator that the partner LU will enter RECEIVE state after receiving a positive reply to a confirmation request. The application program can respond positively to the confirmation request, or report an error. The PS header is the only data in the buffer. The buffer might not be filled upon completion.
DATA, CONFIRM, and DEALLOCATE Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records. The application program has received data, along with a confirmation request and an indicator that the partner LU is seeking to deallocate the conversation. The application program is to respond to the confirmation request.
DATA, CONFIRM, DEALLOCATE, and PS_HEADER Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records. The application program has received data and a complete PS header. (The received data buffer is larger than or equal to any data preceding the PS header in the normal data queue plus the PS header.) The PS header is the last data in the buffer. The buffer might not be filled upon completion. The application program has also received a confirmation request and an indication that the partner LU will unconditionally deallocate the conversation after receiving a positive reply to the confirmation request. The application program is to respond to the confirmation request.
CONFIRM, DEALLOCATE, and PS_HEADER Half-duplex These values indicate that the application program is receiving a complete PS header. (The received data buffer is larger than or equal to the PS header.) The PS header is the only data in the buffer. The buffer might not be filled upon completion. The application program has also received a confirmation request and an indication that the partner LU will unconditionally deallocate the conversation after receiving a positive reply to the confirmation request. The application program is to respond to the confirmation request.
DATA and LOG_DATA Full-duplex and Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records. The application program is receiving only error log data.
DATA, LOG_DATA, and CONFIRM Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records. The application program has received data, an indication that the data received is error log data, and a confirmation request. The data must complete the error log variable. The application program is to respond to the confirmation request.
DATA, CONFIRM, SEND, and LOG_DATA Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records. They indicate that the application program has received data, a confirmation request, an indicator that the partner LU is seeking to enter RECEIVE state, and an indicator that the received data was error log data. The application program is to respond to the confirmation request.
DATA, CONFIRM, DEALLOCATE, and LOG_DATA Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records. The application program has received data, a confirmation request, an indicator that the partner LU is seeking to deallocate the conversation, and an indicator that the received data was error log data. The application program is to respond to the confirmation request.
DATA, SEND, and LOG_DATA Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, and has received data, an indication that the partner LU has entered SEND state, and an indication that the received data was error log data. The received data should complete an error log variable.
DATA, DEALLOCATE, and LOG_DATA Full-duplex and Half-duplex These values indicate that the application program is receiving data in terms of buffers rather than logical records, and has received data, an indication that the partner LU has unconditionally deallocated the conversation, and an indication that the received data was error log data.
DATA_COMPLETE and SEND Half-duplex These values indicate that the application program is receiving data in terms of logical records. The application program has received all of a logical record and the partner LU has entered RECEIVE state.
DATA_COMPLETE and CONFIRM Half-duplex These values indicate that the application program is receiving data in terms of logical records. The application program has received a complete logical record, along with a confirmation request. The application program is to respond to the confirmation request.
DATA_COMPLETE and DEALLOCATE Full-duplex and Half-duplex These values indicate that the application program is receiving data in terms of logical records. It has finished receiving a logical record and has been notified that the partner LU has unconditionally deallocated the conversation.
DATA_COMPLETE, CONFIRM, and SEND Half-duplex These values indicate that the application program is receiving data in terms of logical records. It has finished receiving a logical record, and has received a confirmation request and an indicator that the partner LU wishes to enter RECEIVE state. The application program is to respond to the confirmation request.
DATA_COMPLETE, CONFIRM, and DEALLOCATE Half-duplex These values indicate that the application program is receiving data in terms of logical records. It has finished receiving a logical record, and has received a confirmation request along with an indicator that the partner LU will unconditionally deallocate the conversation. The application program is to respond to the confirmation request.
DATA_COMPLETE and LOG_DATA Full-duplex and Half-duplex These values indicate that the application program is receiving data in terms of logical records. The application program has finished receiving a logical record, along with an indication that the received data was error log data.
DATA_COMPLETE, LOG_DATA, and CONFIRM Half-duplex These values indicate that the application program is receiving data in terms of logical records. The application program has finished receiving a logical record, an indication that the data received was error log data, and a confirmation request. The data must complete the error log variable. The application program is to respond to the confirmation request.
DATA_COMPLETE, CONFIRM, SEND, and LOG_DATA Half-duplex These values indicate that the application program is receiving data in terms of logical records. They indicate that the application program has finished receiving a logical record, a confirmation request, an indicator that the partner LU is seeking to enter RECEIVE state, and an indicator that the received data was error log data. The application program is to respond to the confirmation request.
DATA_COMPLETE, CONFIRM, DEALLOCATE, and LOG_DATA Half-duplex These values indicate that the application program is receiving data in terms of logical records. The application program has finished receiving a logical record, a confirmation request, an indicator that the partner LU is seeking to deallocate the conversation, and an indicator that the received data was error log data. The application program is to respond to the confirmation request.
DATA_COMPLETE, SEND, and LOG_DATA Half-duplex This set of values indicates that the application program is receiving data in terms of logical records, and has finished receiving a logical record, an indication that the partner LU has entered SEND state, and an indication that the received data was error log data. The received data should complete an error log variable.
DATA_COMPLETE, DEALLOCATE, and LOG_DATA Full-duplex and Half-duplex These values indicate that the application program is receiving data in terms of logical records, and has finished receiving a logical record, an indication that the partner LU has unconditionally deallocated the conversation, and an indication that the received data was error log data.
For an APPCCMD CONTROL=RECEIVE specifying FILL=BUFF, VTAM® normally waits for enough data to fill the application's buffer as specified by the contents of the AREA and AREALEN parameters. However, VTAM may complete the macroinstruction with less data when any of the following conditions occurs:
  • A CONFIRM indication is in the What-Received field. The partner transaction program expects the local transaction to issue either positive or negative confirmation of the received data.
  • A SEND indication is in the What-Received field. The partner transaction program expects the local transaction to send data, possibly a reply to the data just received request.
  • A DEALLOC indication is in the What-Received field. The partner transaction program has initiated deallocation of the conversation.
  • For full duplex conversations only, if the partner transaction program issues a flush type of send, an APPCCMD CONTROL=RECEIVE specifying FILL=BUFF completes with the flushed data.
  • An FMH7 arrives in VTAM.
    Note: This will also result in a nonzero RCPRI, RCSEC return code.
  • A conversation failure occurs.
    Note: This will also result in a nonzero RCPRI, RCSEC return code.
  • Log data has arrived. This is done to isolate any prior data from the log data in the application's buffer. This specific situation is reported by VTAM by setting on the LOGRCV (RPL6RLOG) indicator in the RPL extension on the prior APPCCMD that reported the FMH-7.

When the log data itself is being received by using an APPCCMD CONTROL=RECEIVE specifying FILL=BUFF, the What-Received field indicates DATA as well as LOG_DATA (as opposed to LOGRCV(RPL6RLOG), which is not in the What-Received field).

Another way to view the above information is that VTAM will always insure that when APPCCMD CONTROL=RECEIVE FILL=BUFF completes, the contents of the application's buffer will contain one of the following items:
  • Nothing
  • Normal application data
  • Normal application data followed by all or part of a PS Header
  • All or part of a PS Header
    Note: No other data will follow a PS Header in the application's buffer.
  • All or part of LOG_DATA
    Note: No other data will follow or precede the LOG_DATA in the application's buffer.
Regarding the What-Received field, also note that:
  • The DATA indication in the What-Received field indicates that the receive macroinstruction specified FILL=BUFF.
  • The DATA_COMPLETE and DATA_INCOMPLETE indications in the What-Received field indicate that the receive macroinstruction specified FILL=LL.
  • The DATA indication together with the LOG_DATA in the What-Received field indicates that the receive macroinstruction specified FILL=BUFF.
  • The DATA_INCOMPLETE or DATA_COMPLETE indications together with the LOG_DATA in the What-Received field indicate that the receive macroinstruction specified FILL=LL.
  • The PS Header and PARTIAL_PS Header in the What-Received field does not indicate whether the receive macroinstruction specified FILL=BUFF or LL.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014