2017 (07E1) (RC2017): MQRC_HANDLE_NOT_AVAILABLE


Explanation

An MQOPEN, MQPUT1 or MQSUB call was issued, but the maximum number of open handles allowed for the current task has already been reached. Be aware that when a distribution list is specified on the MQOPEN or MQPUT1 call, each queue in the distribution list uses one handle.

  • On z/OS®, "task᾿ means a CICS® task, a z/OS task, or an IMS-dependent region.

In addition, the MQSUB call allocates two handles when we do not provide an object handle on input.


Completion code

MQCC_FAILED


Programmer response

Check whether the application is issuing MQOPEN calls without corresponding MQCLOSE calls. If it is, modify the application to issue the MQCLOSE call for each open object as soon as that object is no longer needed.

Also check whether the application is specifying a distribution list containing a large number of queues that are consuming all of the available handles. If it is, increase the maximum number of handles that the task can use, or reduce the size of the distribution list. The maximum number of open handles that a task can use is given by the MaxHandles queue manager attribute.