What it means
The queue, or the queue it resolves to, has puts inhibited. No program can add messages until it is enabled again. The code can also show in a report message when a channel could not deliver to a remote queue for this reason, and it names the Put Inhibited event.
Typical causes
- An administrator set PUT(DISABLED) on the queue or its alias.
- The queue was disabled on purpose during a cut-over or incident.
- On a remote route, the target queue on the other queue manager has puts disabled.
How to fix it
- Display the queue and its alias (DISPLAY QLOCAL or QALIAS) and check the PUT attribute.
- If the block was not intended, run ALTER QLOCAL(name) PUT(ENABLED).
- If it is planned, have the program wait and retry instead of failing.
- For remote queues, check the target queue on the receiving queue manager and the dead-letter queue.
Example
Illustrative only; names and values are invented.
MQPUT failed CompCode=2 Reason=2051 Queue=APP.REQUEST.QUEUE
DISPLAY QLOCAL(APP.REQUEST.QUEUE) PUT
QUEUE(APP.REQUEST.QUEUE) PUT(DISABLED)