The application program initiates the abnormal deallocation
by issuing one of the APPCCMD CONTROL=DEALLOC|DEALLOCQ macroinstructions.
Processing of these macroinstructions causes the send buffer to be
flushed and an FMH-7 and any error log data to be sent to the partner.
The conversation is ended and enters FDX_RESET state.
Note: An FMH-7 and any error log data are not sent to the
partner when the conversation is in RECEIVE-ONLY state.
There are four types of the APPCCMD CONTROL=DEALLOC and
the APPCCMD CONTROL=DEALLOCQ macroinstructions that can be used to
abnormally deallocate a full-duplex conversation:
- QUALIFY=ABNDPROG
- QUALIFY=ABNDSERV
- QUALIFY=ABNDTIME
- QUALIFY=ABNDUSER
Each of these types is described in the following section.
- ABNDPROG
- Specifies
that an error makes it impossible to continue meaningful communication
over the conversation. It is issued for errors detected by the processing
threads in the application program that correspond to transaction
programs. An example of this type of error could be the receipt of
incorrect data on a CONTROL=RECEIVE macroinstruction. This type of
error causes a sense code of X'08640000' to be generated
in the FMH-7 used by VTAM® in
processing the error. (See Sense codes for FMH-7 for
a list of FMH-7 sense codes.)
- ABNDSERV
- Specifies
that an LU services component has detected an error. This type of
error occurs when the application program has implemented an LU 6.2
function in addition to that provided by VTAM. For example, an application program might
implement mapped conversations. Errors relating to the application's
implementation would be service errors. If the errors were serious
enough to deallocate the conversation, the application program would
issue this QUALIFY variation. This type of error causes a sense code
of X'08640001' to be generated in the FMH-7 used by VTAM in processing the error. (See Sense codes for FMH-7 for a list of FMH-7 sense codes.)
- ABNDTIME
- Specifies
that the application program has not received expected information
within an application-determined length of time. This type of error
causes a sense code of X'08640002' to be generated in the
FMH-7 used by VTAM in processing
the error. (See Sense codes for FMH-7 for a list
of FMH-7 sense codes.) ABNDTIME can be used by the application program
to handle errors originating on its side of the conversation or when
it fails to receive information from a partner LU. Its primary intent
is to handle timing errors on the local side of a conversation. For
example, if an application program has been waiting for one of its
transaction programs to send data, and the wait exceeds the time limit,
it would use this type of deallocation to end the conversation.
- ABNDUSER
- Specifies
that the application program is ending the conversation and provides VTAM with a user-specified sense
code. The sense code must be valid for an FMH-7. The application program
must ensure that it is valid. An example of the type of error this
is used for would be the receipt of an FMH-5 with errors. (See Sense codes for FMH-7 for a list of FMH-7 sense codes.)