If the message cannot be put to the IMS queue
Learn about actions to take if the message cannot be put to the IMS queue.
If the message cannot be put to the IMS queue, the following action is taken by IBM MQ :- If a message cannot be put to IMS because the message is invalid, the message is put to the dead-letter queue, and a message is sent to the system console.
- If the message is valid, but is rejected by IMS, IBM MQ sends an error message to the system console, the message includes the IMS sense code, and the IBM MQ message is put to the dead-letter queue. If the IMS sense code is 001A, IMS sends an IBM MQ message containing the reason for the failure to the reply-to queue.
Note: In the circumstances listed previously, if IBM MQ cannot put the message to the dead-letter queue for any reason, the message is returned to the originating IBM MQ queue. An error message is sent to the system console, and no further messages are sent from that queue.
To resend the messages, do one of the following:
- Stop and restart the Tpipes in IMS corresponding to the queue
- Alter the queue to GET(DISABLED), and again to GET(ENABLED)
- Stop and restart IMS or the OTMA
- Stop and restart the IBM MQ subsystem
- If the message is rejected by IMS for anything other than a message error, the IBM MQ message is returned to the originating queue, IBM MQ stops processing the queue, and an error message is sent to the system console.
If an exception report message is required, the bridge puts it to the reply-to queue with the authority of the originator. If the message cannot be put to the queue, the report message is put to the dead-letter queue with the authority of the bridge. If it cannot be put to the DLQ, it is discarded.
Parent topic: How the IMS bridge deals with messages