The purge function, multiple-message output, and NAKs
After receiving a NAK response from a client application for one of multiple related messages for which the purge function is specified, IMS Connect issues purge requests for the remaining output messages without attempting to deliver them to the client application and OTMA discards them from the IOPCB.
How IMS Connect issues the purge requests differs slightly depending on whether the multiple messages are generated by a single application program or by program-to-program switches.
If there are multiple commit then send output messages for the same application program on the IOPCB and the client issues a NAK response for one of the messages, IMS Connect sends the purge request to OTMA. IMS Connect also sends purge requests to OTMA for the remaining output messages on the IOPCB without attempting to deliver the output to the client application.
If there are multiple commit then send output messages generated by program-to-program switches on the IOPCB and the client issues a NAK response for one of the messages, IMS Connect passes a purge request to OTMA and then generates additional purge requests for any other related output messages currently on the IOPCB queue. If program-to-program switches generate related output messages after the initial NAK response was received, IMS Connect issues purge requests for them as well without passing the output to the client application.