Previous Topic: Receive a Deallocation Indication

Next Topic: Conversation Deallocation

Error Processing

Either conversation partner can send an error indication at any time by issuing &APPC SEND_ERROR.

When issued from send state, the remote end (in receive state) will get a return code indicating program_error_no_truncation, and &RETCODE is 8. This indicates that the error sent did not cause any loss of data. No state changes occur.

When issued from receive state, the remote end (in send or receive state) will get a return code indicating program_error_purging, and &RETCODE is 8. This indicates that the receiver is purging all subsequent data sent and the sender has an obligation to enter receive state (if it has not already done so).

The effect of a SEND_ERROR is to halt communication and place the error sender in send state. However it should be used with discretion as it is most disruptive of normal data flows. Usually a reason for the error will follow as a normal data send operation.

Some errors can be detected by the APPC Services layers, and will appear as svc_error_purging and so on. For example, if a procedure which is one end of a conversation terminates abnormally, a deallocate abend condition is raised and an error notification is sent to the other partner. A message accompanies such a condition and will appear in the log of the remote system. It can be accessed through the &ZAPPCELM system variable before the &APPC DEALLOCATE TYPE=LOCAL statement is issued.