SNAX/HLS Application Programming Manual

RECEIVE DATA Verb
SNAX/HLS Verbs
104707 Tandem Computers Incorporated 5–81
If VERB–CODE in REQUEST–HEADER has the value VERB–RECEIVE–DATA,
SNAX/HLS delivers the message in a format that expects the user–data field to be a
variable–length array (this is an OCCURS DEPENDING ON clause in
COBOL/SCOBOLX). In this way, the user does not have to furnish the data length
expected in the verb–request code.
The interpretation of TRANSACTION–IN–PROGRESS–IND requires some care. When
partner data is returned, the indicator reflects the state of the transaction as of the end
of the message. If your application does not use the LMO option, then
TRANSACTION–IN–PROGRESS–IND contains Y, indicating that a transaction is still in
progress, only if your session is using brackets and the message just delivered to your
program did not contain the end–bracket indicator that SNA uses.
If, however, your application is using the LMO option, the
TRANSACTION–IN–PROGRESS–IND reflects whether the message (whose elements
you are now receiving) constitutes the end of the transaction. This situation is forced
upon SNAX/HLS because SNA requires the end–transaction signal to accompany the
start of the message. For example, if your partner sends a message that constitutes the
end of the transaction and you receive it in pieces,
TRANSACTION–IN–PROGRESS–IND contains N on all pieces of the message you
receive. Your program can thus examine the TRANSACTION–IN–PROGRESS–IND only
when MESSAGE–COMPLETE–IND is Y.
If, however, you do not actually receive partner data, either because some other data
type is delivered or you use the RECEIVE–CONTROL or
RECEIVE–CONTROL–WAIT request, TRANSACTION–IN–PROGRESS–IND reflects the
current state of the transactions and is most likely meaningless if any data is queued
for receipt.
There is one restriction on the use of the RECEIVE–DATA verb: if a RECEIVE–DATA
verb is issued while a RECEIVE–CONTROL–WAIT verb is outstanding on the session,
the RECEIVE–DATA verb is rejected with a return code of
RC–RCWT–ALREADY–QUEUED.