MainframeKit

2041

MQRC_OBJECT_CHANGED (X'07F9')MQ REASON CODE

The object handle is stale: the definitions behind the object changed after the program opened it.

MOST LIKELY

A queue or alias definition was altered or redefined while the program had it open.

FIRST CHECK

Close the handle with MQCLOSE, open the object again, and retry the call.

TRY IT ▸

MainframeKit assistant

What it means

The program opened an object and kept the handle. Since then something changed the definitions that affect it, so the queue manager no longer accepts that handle for this call. This can happen during REFRESH CLUSTER, when cluster information is rebuilt.

Typical causes

  • A queue or alias definition was altered or redefined while the program had it open.
  • REFRESH CLUSTER ran while the application was connected.
  • Cluster definitions changed so the resolved queue is different.

How to fix it

  1. Close the handle with MQCLOSE, open the object again, and retry the call.
  2. If the program depends on queue attributes, call MQINQ after reopening to get current values.
  3. Avoid running REFRESH CLUSTER while key applications are active unless it is needed.

Example

Illustrative only; names and values are invented.

MQPUT failed  CompCode=2  Reason=2041  Queue=APP.CLUSTER.QUEUE