MainframeKit

2051

MQRC_PUT_INHIBITED (X'0803')MQ REASON CODE

A put was refused because putting messages to this queue has been switched off.

MOST LIKELY

An administrator set PUT(DISABLED) on the queue or its alias.

FIRST CHECK

Display the queue and its alias (DISPLAY QLOCAL or QALIAS) and check the PUT attribute.

TRY IT ▸

MainframeKit assistant

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

  1. Display the queue and its alias (DISPLAY QLOCAL or QALIAS) and check the PUT attribute.
  2. If the block was not intended, run ALTER QLOCAL(name) PUT(ENABLED).
  3. If it is planned, have the program wait and retry instead of failing.
  4. 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)