Mainframe Path Start learning free
CoreError and abend codes2085

MQRC 2085 — unknown object name

The queue manager could not find the queue or object the program named. Usually a name, case or environment mismatch.

What happened

An MQOPEN or MQPUT1 call returned completion code 2 with reason 2085, MQRC_UNKNOWN_OBJECT_NAME. The program never got a handle to the queue.

Typical application log (illustrative)
MQOPEN failed  CompCode=2  Reason=2085
ObjectName: PAY.REQUEST.Q   QMgr: QM01

What it means

The queue manager looked for an object with exactly that name and type and found none. MQ names are case-sensitive and can be up to 48 characters, so a small difference counts. The program reached the queue manager — the connection worked — so this is about the object, not the connection.

Typical causes

Symptoms

Where to look

How to diagnose

  1. Record the exact name, including case and any trailing characters.
  2. Confirm which queue manager the program actually connected to.
  3. On that queue manager, run DISPLAY QUEUE(name) to see whether any queue type exists with that name; use DISPLAY QLOCAL, DISPLAY QALIAS or DISPLAY QREMOTE to narrow it.
  4. If it exists elsewhere but not here, compare environments.
  5. If the name looks right but is not found, check how the program builds it — field length, padding, case conversion.

How to fix

Correct the name in the configuration or program, or point the program at the right queue manager. If the object is genuinely missing, have it defined through the normal change process with its security profile. Then rerun. Because the open failed, nothing was put, so rerunning the step is normally safe unless the program did other updates first.

How to prevent

Production considerations

Interview question

After deploying to a new environment, a program gets reason code 2085. How do you approach it?

Stuck on something else?
Ask the community or search the full course.

Ask a question