Reason codes

The reason code parameter (REASON) is a qualification to the completion code parameter (CMPCOD).

If there is no special reason to report, RCNONE is returned. A successful call returns CCOK and RCNONE.

If the completion code is either CCWARN or CCFAIL, the queue manager always reports a qualifying reason; details are given under each call description.

Where user exit routines set completion codes and reasons, they should adhere to these rules. In addition, any special reason values defined by user exits should be less than zero, to ensure that they do not conflict with values defined by the queue manager. Exits can set reasons already defined by the queue manager, where these are appropriate.

Reason codes also occur in:

The following is a list of reason codes, in alphabetic order, with more detail than is given in the call descriptions.

RCNONE
(0)
Explanation:

The call completed normally. The completion code (CMPCOD) is CCOK.

Completion Code:

CCOK

Programmer Response:

None.

RC0900
(900)
Explanation:

This is the lowest value for an application-defined reason code returned by a data-conversion exit. Data-conversion exits can return reason codes in the range RC0900 through RC0999 to indicate particular conditions that the exit has detected.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

As defined by the writer of the data-conversion exit.

RC0999
(999)
Explanation:

This is the highest value for an application-defined reason code returned by a data-conversion exit. Data-conversion exits can return reason codes in the range RC0900 through RC0999 to indicate particular conditions that the exit has detected.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

As defined by the writer of the data-conversion exit.

RC2001
(2001)
Explanation:

An MQOPEN or MQPUT1 call was issued specifying an alias queue as the destination, but the BaseQName in the alias queue definition resolves to a queue that is not a local queue, a local definition of a remote queue, or a cluster queue.

Completion Code:

CCFAIL

Programmer Response:

Correct the queue definitions.

RC2002
(2002)
Explanation:

An MQCONN or MQCONNX call was issued, but the application is already connected to the queue manager.

Completion Code:

CCWARN

Programmer Response:

None. The HCONN parameter returned has the same value as was returned for the previous MQCONN or MQCONNX call.

An MQCONN or MQCONNX call that returns this reason code does not mean that an additional MQDISC call must be issued in order to disconnect from the queue manager. If this reason code is returned because the application has been called in a situation where the connect has already been done, a corresponding MQDISC should not be issued, because this will cause the application that issued the original MQCONN or MQCONNX call to be disconnected as well.

RC2003
(2003)
Explanation:

The current unit of work encountered a fatal error or was backed out. This occurs in the following cases:

  • On an MQCMIT or MQDISC call, when the commit operation has failed and the unit of work has been backed out. All resources that participated in the unit of work have been returned to their state at the start of the unit of work. The MQCMIT or MQDISC call completes with CCWARN in this case.

  • On an MQGET, MQPUT, or MQPUT1 call that is operating within a unit of work, when the unit of work has already encountered an error that prevents the unit of work being committed (for example, when the log space is exhausted). The application must issue the appropriate call to back out the unit of work. (For a unit of work coordinated by the queue manager, this call is the MQBACK call, although the MQCMIT call has the same effect in these circumstances.) The MQGET, MQPUT, or MQPUT1 call completes with CCFAIL in this case.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Check the returns from previous calls to the queue manager. For example, a previous MQPUT call may have failed.

RC2004
(2004)
Explanation:

The BUFFER parameter is not valid for one of the following reasons:

  • The parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The parameter pointer points to storage that cannot be accessed for the entire length specified by BUFLEN.

  • For calls where BUFFER is an output parameter: the parameter pointer points to read-only storage.

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2005
(2005)
Explanation:

The BUFLEN parameter is not valid, or the parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

This reason can also be returned to an MQ client program on the MQCONN or MQCONNX call if the negotiated maximum message size for the channel is smaller than the fixed part of any call structure.

Completion Code:

CCFAIL

Programmer Response:

Specify a value that is zero or greater. For the mqAddString and mqSetString calls, the special value MQBL_NULL_TERMINATED is also valid.

RC2006
(2006)
Explanation:

CALEN is negative (for MQINQ or MQSET calls), or is not large enough to hold all selected attributes (MQSET calls only). This reason also occurs if the parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Specify a value large enough to hold the concatenated strings for all selected attributes.

RC2007
(2007)
Explanation:

CHRATR is not valid. The parameter pointer is not valid, or points to read-only storage for MQINQ calls or to storage that is not as long as implied by CALEN. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2008
(2008)
Explanation:

For MQINQ calls, CALEN is not large enough to contain all of the character attributes for which CA* selectors are specified in the SELS parameter.

The call still completes, with the CHRATR parameter string filled in with as many character attributes as there is room for. Only complete attribute strings are returned: if there is insufficient space remaining to accommodate an attribute in its entirety, that attribute and subsequent character attributes are omitted. Any space at the end of the string not used to hold an attribute is unchanged.

An attribute that represents a set of values (for example, the namelist Names attribute) is treated as a single entity--either all of its values are returned, or none.

Completion Code:

CCWARN

Programmer Response:

Specify a large enough value, unless only a subset of the values is needed.

RC2009
(2009)
Explanation:

Connection to the queue manager has been lost. This can occur because the queue manager has ended. If the call is an MQGET call with the GMWT option, the wait has been canceled. All connection and object handles are now invalid.

For MQ client applications, it is possible that the call did complete successfully, even though this reason code is returned with a CMPCOD of CCFAIL.

Completion Code:

CCFAIL

Programmer Response:

Applications can attempt to reconnect to the queue manager by issuing the MQCONN or MQCONNX call. It may be necessary to poll until a successful response is received.

Any uncommitted changes in a unit of work should be backed out. A unit of work that is coordinated by the queue manager is backed out automatically.

RC2010
(2010)
Explanation:

The DATLEN parameter is not valid. Either the parameter pointer is not valid, or it points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

This reason code can also be returned to an MQ client program on the MQGET, MQPUT, or MQPUT1 call, if the BUFLEN parameter exceeds the maximum message size that was negotiated for the client channel.

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

If the error occurs for an MQ client program, also check that the maximum message size for the channel is big enough to accommodate the message being sent; if it is not big enough, increase the maximum message size for the channel.

RC2011
(2011)
Explanation:

On the MQOPEN call, a model queue is specified in the ODON field of the OBJDSC parameter, but the ODDN field is not valid, for one of the following reasons:

  • ODDN is completely blank (or blank up to the first null character in the field).

  • Characters are present that are not valid for a queue name.

  • An asterisk is present beyond the 33rd position (and before any null character).

  • An asterisk is present followed by characters that are not null and not blank.

This reason code can also sometimes occur when a server application opens the reply queue specified by the MDRQ and MDRM fields in the MQMD of a message that the server has just received. In this case the reason code indicates that the application that sent the original message placed incorrect values into the MDRQ and MDRM fields in the MQMD of the original message.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid name.

RC2012
(2012)
Explanation:

The call is not valid for the current environment.

  • On i5/OS, one of the following applies:

    • The application is linked to the wrong libraries (threaded or nonthreaded).

    • An MQCMIT or MQBACK call was issued, but an external unit-of-work manager is in use. This reason code also occurs if the queue manager does not support units of work.

Completion Code:

CCFAIL

Programmer Response:

Do one of the following (as appropriate):

  • Link the application with the correct libraries (threaded or nonthreaded).

  • Remove from the application the call that is not supported.

RC2013
(2013)
Explanation:

On an MQPUT or MQPUT1 call, the value specified for the MDEXP field in the message descriptor MQMD is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a value that is greater than zero, or the special value EIULIM.

RC2014
(2014)
Explanation:

On an MQPUT or MQPUT1 call, the value specified for the MDFB field in the message descriptor MQMD is not valid. The value is not FBNONE, and is outside both the range defined for system feedback codes and the range defined for application feedback codes.

Completion Code:

CCFAIL

Programmer Response:

Specify FBNONE, or a value in the range FBSFST through FBSLST, or FBAFST through FBALST.

RC2016
(2016)
Explanation:

MQGET calls are currently inhibited for the queue, or for the queue to which this queue resolves. See the InhibitGet queue attribute described in Attributes for queues.

Completion Code:

CCFAIL

Programmer Response:

If the system design allows get requests to be inhibited for short periods, retry the operation later.

RC2017
(2017)
Explanation:

An MQOPEN or MQPUT1 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.

Completion Code:

CCFAIL

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 (see Attributes for the queue manager).

RC2018
(2018)
Explanation:

The connection handle HCONN is not valid, for one of the following reasons:

  • The parameter pointer is not valid, or (for the MQCONN or MQCONNX call) points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The value specified was not returned by a preceding MQCONN or MQCONNX call.

  • The value specified has been made invalid by a preceding MQDISC call.

  • The handle is a shared handle that has been made invalid by another thread issuing the MQDISC call.

  • The handle is a shared handle that is being used on the MQBEGIN call (only nonshared handles are valid on MQBEGIN).

  • The handle is a nonshared handle that is being used a thread that did not create the handle.

  • The call was issued in the MTS environment in a situation where the handle is not valid (for example, passing the handle between processes or packages; note that passing the handle between library packages is supported).

Completion Code:

CCFAIL

Programmer Response:

Ensure that a successful MQCONN or MQCONNX call is performed for the queue manager, and that an MQDISC call has not already been performed for it. Ensure that the handle is being used within its valid scope (see MQCONN - Connect queue manager).

RC2019
(2019)
Explanation:

The object handle HOBJ is not valid, for one of the following reasons:

  • The parameter pointer is not valid, or (for the MQOPEN call) points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The value specified was not returned by a preceding MQOPEN call.

  • The value specified has been made invalid by a preceding MQCLOSE call.

  • The handle is a shared handle that has been made invalid by another thread issuing the MQCLOSE call.

  • The handle is a nonshared handle that is being used a thread that did not create the handle.

  • The call is MQGET or MQPUT, but the object represented by the handle is not a queue.

Completion Code:

CCFAIL

Programmer Response:

Ensure that a successful MQOPEN call is performed for this object, and that an MQCLOSE call has not already been performed for it. Ensure that the handle is being used within its valid scope (see MQOPEN - Open object).

RC2020
(2020)
Explanation:

On an MQSET call, the value specified for either the IAIGET attribute or the IAIPUT attribute is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid value. See the InhibitGet or InhibitPut attribute described in Attributes for queues.

RC2021
(2021)
Explanation:

On an MQINQ or MQSET call, the IACNT parameter is negative (MQINQ or MQSET), or smaller than the number of integer attribute selectors (IA*) specified in the SELS parameter (MQSET only). This reason also occurs if the parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Specify a value large enough for all selected integer attributes.

RC2022
(2022)
Explanation:

On an MQINQ call, the IACNT parameter is smaller than the number of integer attribute selectors (IA*) specified in the SELS parameter.

The call completes with CCWARN, with the INTATR array filled in with as many integer attributes as there is room for.

Completion Code:

CCWARN

Programmer Response:

Specify a large enough value, unless only a subset of the values is needed.

RC2023
(2023)
Explanation:

On an MQINQ or MQSET call, the INTATR parameter is not valid. The parameter pointer is not valid (MQINQ and MQSET), or points to read-only storage or to storage that is not as long as indicated by the IACNT parameter (MQINQ only). (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2024
(2024)
Explanation:

An MQGET, MQPUT, or MQPUT1 call failed because it would have caused the number of uncommitted messages in the current unit of work to exceed the limit defined for the queue manager (see the MaxUncommittedMsgs queue manager attribute). The number of uncommitted messages is the sum of the following since the start of the current unit of work:

  • Messages put by the application with the PMSYP option

  • Messages retrieved by the application with the GMSYP option

  • Trigger messages and COA report messages generated by the queue manager for messages put with the PMSYP option

  • COD report messages generated by the queue manager for messages retrieved with the GMSYP option

Completion Code:

CCFAIL

Programmer Response:

Check whether the application is looping. If it is not, consider reducing the complexity of the application. Alternatively, increase the queue manager limit for the maximum number of uncommitted messages within a unit of work.

  • On i5/OS, the limit for the maximum number of uncommitted messages can be changed by using the CHGMQM command.

RC2025
(2025)
Explanation:

The MQCONN or MQCONNX call was rejected because the maximum number of concurrent connections has been exceeded.

  • On i5/OS, this reason code can also occur on the MQOPEN call.

Completion Code:

CCFAIL

Programmer Response:

Either increase the size of the appropriate install parameter value, or reduce the number of concurrent connections.

RC2026
(2026)
Explanation:

The MQMD structure is not valid, for one of the following reasons:

  • The MDSID field is not MDSIDV.

  • The MDVER field specifies a value that is not valid or not supported.

  • The parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The queue manager cannot copy the changed structure to application storage, even though the call is successful. This can occur, for example, if the pointer points to read-only storage.

Completion Code:

CCFAIL

Programmer Response:

Ensure that input fields in the MQMD structure are set correctly.

RC2027
(2027)
Explanation:

On an MQPUT or MQPUT1 call, the MDRQ field in the message descriptor MQMD is blank, but one or both of the following is true:

  • A reply was requested (that is, MTRQST was specified in the MDMT field of the message descriptor).

  • A report message was requested in the MDREP field of the message descriptor.

Completion Code:

CCFAIL

Programmer Response:

Specify the name of the queue to which the reply message or report message is to be sent.

RC2029
(2029)
Explanation:

On an MQPUT or MQPUT1 call, the value specified for the MDMT field in the message descriptor (MQMD) is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid value. See the MDMT field described in MQMD - Message descriptor for details.

RC2030
(2030)
Explanation:

An MQPUT or MQPUT1 call was issued to put a message on a queue, but the message was too long for the queue and MFSEGA was not specified in the MDMFL field in MQMD. If segmentation is not allowed, the length of the message cannot exceed the lesser of the queue MaxMsgLength attribute and queue manager MaxMsgLength attribute.

This reason code can also occur when MFSEGA is specified, but the nature of the data present in the message prevents the queue manager splitting it into segments that are small enough to place on the queue:

  • For a user-defined format, the smallest segment that the queue manager can create is 16 bytes.

  • For a built-in format, the smallest segment that the queue manager can create depends on the particular format, but is greater than 16 bytes in all cases other than FMSTR (for FMSTR the minimum segment size is 16 bytes).

RC2030 can also occur in the MDFB field in the message descriptor of a report message; in this case it indicates that the error was encountered by a message channel agent when it attempted to put the message on a remote queue.

Completion Code:

CCFAIL

Programmer Response:

Check whether the BUFLEN parameter is specified correctly; if it is, do one of the following:

  • Increase the value of the queue's MaxMsgLength attribute; the queue manager's MaxMsgLength attribute may also need increasing.

  • Break the message into several smaller messages.

  • Specify MFSEGA in the MDMFL field in MQMD; this will allow the queue manager to break the message into segments.

RC2031
(2031)
Explanation:

An MQPUT or MQPUT1 call was issued to put a message on a queue, but the message was too long for the queue manager and MFSEGA was not specified in the MDMFL field in MQMD. If segmentation is not allowed, the length of the message cannot exceed the lesser of the queue manager MaxMsgLength attribute and queue MaxMsgLength attribute.

This reason code can also occur when MFSEGA is specified, but the nature of the data present in the message prevents the queue manager splitting it into segments that are small enough for the queue manager limit:

  • For a user-defined format, the smallest segment that the queue manager can create is 16 bytes.

  • For a built-in format, the smallest segment that the queue manager can create depends on the particular format, but is greater than 16 bytes in all cases other than FMSTR (for FMSTR the minimum segment size is 16 bytes).

RC2031 can also occur in the MDFB field in the message descriptor of a report message; in this case it indicates that the error was encountered by a message channel agent when it attempted to put the message on a remote queue.

This reason also occurs if a channel, through which the message is to pass, has restricted the maximum message length to a value that is actually less than that supported by the queue manager, and the message length is greater than this value.

Completion Code:

CCFAIL

Programmer Response:

Check whether the BUFLEN parameter is specified correctly; if it is, do one of the following:

  • Increase the value of the queue manager's MaxMsgLength attribute; the queue's MaxMsgLength attribute may also need increasing.

  • Break the message into several smaller messages.

  • Specify MFSEGA in the MDMFL field in MQMD; this will allow the queue manager to break the message into segments.

  • Check the channel definitions.

RC2033
(2033)
Explanation:

An MQGET call was issued, but there is no message on the queue satisfying the selection criteria specified in MQMD (the MDMID and MDCID fields), and in MQGMO (the GMOPT and GMMO fields). Either the GMWT option was not specified, or the time interval specified by the GMWI field in MQGMO has expired. This reason is also returned for an MQGET call for browse, when the end of the queue has been reached.

This reason code can also be returned by the mqGetBag and mqExecute calls. mqGetBag is similar to MQGET. For the mqExecute call, the completion code can be either MQCC_WARNING or MQCC_FAILED:

  • If the completion code is MQCC_WARNING, some response messages were received during the specified wait interval, but not all. The response bag contains system-generated nested bags for the messages that were received.

  • If the completion code is MQCC_FAILED, no response messages were received during the specified wait interval.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

If this is an expected condition, no corrective action is required.

If this is an unexpected condition, check that:

  • The message was put on the queue successfully.

  • The unit of work (if any) used for the MQPUT or MQPUT1 call was committed successfully.

  • The options controlling the selection criteria are specified correctly. All of the following can affect the eligibility of a message for return on the MQGET call:

    • GMLOGO

    • GMAMSA

    • GMASGA

    • GMCMPM

    • MOMSGI

    • MOCORI

    • MOGRPI

    • MOSEQN

    • MOOFFS

    • Value of MDMID field in MQMD

    • Value of MDCID field in MQMD

Consider waiting longer for the message.

RC2034
(2034)
Explanation:

An MQGET call was issued with either the GMMUC or the GMBRWC option. However, the browse cursor is not positioned at a retrievable message. This is caused by one of the following:

  • The cursor is positioned logically before the first message (as it is before the first MQGET call with a browse option has been successfully performed).

  • The message the browse cursor was positioned on has been locked or removed from the queue (probably by some other application) since the browse operation was performed.

  • The message the browse cursor was positioned on has expired.

Completion Code:

CCFAIL

Programmer Response:

Check the application logic. This may be an expected reason if the application design allows multiple servers to compete for messages after browsing. Consider also using the GMLK option with the preceding browse MQGET call.

RC2035
(2035)
Explanation:

The user is not authorized to perform the operation attempted:

  • On an MQCONN or MQCONNX call, the user is not authorized to connect to the queue manager.

  • On an MQOPEN or MQPUT1 call, the user is not authorized to open the object for the option(s) specified.

  • On an MQCLOSE call, the user is not authorized to delete the object, which is a permanent dynamic queue, and the HOBJ parameter specified on the MQCLOSE call is not the handle returned by the MQOPEN call that created the queue.

This reason code can also occur in the MDFB field in the message descriptor of a report message; in this case it indicates that the error was encountered by a message channel agent when it attempted to put the message on a remote queue.

Completion Code:

CCFAIL

Programmer Response:

Ensure that the correct queue manager or object was specified, and that appropriate authority exists.

RC2036
(2036)
Explanation:

An MQGET call was issued with one of the following options:

  • GMBRWF

  • GMBRWN

  • GMBRWC

  • GMMUC

but the queue had not been opened for browse.

Completion Code:

CCFAIL

Programmer Response:

Specify OOBRW when the queue is opened.

RC2037
(2037)
Explanation:

An MQGET call was issued to retrieve a message from a queue, but the queue had not been opened for input.

Completion Code:

CCFAIL

Programmer Response:

Specify one of the following when the queue is opened:

  • OOINPS

  • OOINPX

  • OOINPQ

RC2038
(2038)
Explanation:

An MQINQ call was issued to inquire object attributes, but the object had not been opened for inquire.

Completion Code:

CCFAIL

Programmer Response:

Specify OOINQ when the object is opened.

RC2039
(2039)
Explanation:

An MQPUT call was issued to put a message on a queue, but the queue had not been opened for output.

Completion Code:

CCFAIL

Programmer Response:

Specify OOOUT when the queue is opened.

RC2040
(2040)
Explanation:

An MQSET call was issued to set queue attributes, but the queue had not been opened for set.

Completion Code:

CCFAIL

Programmer Response:

Specify OOSET when the object is opened.

RC2041
(2041)
Explanation:

Object definitions that affect this object have been changed since the HOBJ handle used on this call was returned by the MQOPEN call. See MQOPEN - Open object for more information.

This reason does not occur if the object handle is specified in the PMCT field of the PMO parameter on the MQPUT or MQPUT1 call.

Completion Code:

CCFAIL

Programmer Response:

Issue an MQCLOSE call to return the handle to the system. It is then usually sufficient to reopen the object and retry the operation. However, if the object definitions are critical to the application logic, an MQINQ call can be used after reopening the object, to obtain the new values of the object attributes.

RC2042
(2042)
Explanation:

An MQOPEN call was issued, but the object in question has already been opened by this or another application with options that conflict with those specified in the OPTS parameter. This arises if the request is for shared input, but the object is already open for exclusive input; it also arises if the request is for exclusive input, but the object is already open for input (of any sort).

MCAs for receiver channels, or the intra-group queuing agent (IGQ agent), may keep the destination queues open even when messages are not being transmitted; this results in the queues appearing to be "in use". Use the MQSC command DISPLAY QSTATUS to find out who is keeping the queue open.

Completion Code:

CCFAIL

Programmer Response:

System design should specify whether an application is to wait and retry, or take other action.

RC2043
(2043)
Explanation:

On the MQOPEN or MQPUT1 call, the ODOT field in the object descriptor MQOD specifies a value that is not valid. For the MQPUT1 call, the object type must be OTQ.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid object type.

RC2044
(2044)
Explanation:

On the MQOPEN or MQPUT1 call, the object descriptor MQOD is not valid, for one of the following reasons:

  • The ODSID field is not ODSIDV.

  • The ODVER field specifies a value that is not valid or not supported.

  • The parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The queue manager cannot copy the changed structure to application storage, even though the call is successful. This can occur, for example, if the pointer points to read-only storage.

Completion Code:

CCFAIL

Programmer Response:

Ensure that input fields in the MQOD structure are set correctly.

RC2045
(2045)
Explanation:

On an MQOPEN or MQCLOSE call, an option is specified that is not valid for the type of object or queue being opened or closed.

For the MQOPEN call, this includes the following cases:

  • An option that is inappropriate for the object type (for example, OOOUT for an OTPRO object).

  • An option that is unsupported for the queue type (for example, OOINQ for a remote queue that has no local definition).

  • One or more of the following options:

    • OOINPQ

    • OOINPS

    • OOINPX

    • OOBRW

    • OOINQ

    • OOSET

    when either:

    • the queue name is resolved through a cell directory, or

    • ODMN in the object descriptor specifies the name of a local definition of a remote queue (in order to specify a queue manager alias), and the queue named in the RemoteQMgrName attribute of the definition is the name of the local queue manager.

For the MQCLOSE call, this includes the following case:

  • The CODEL or COPURG option when the queue is not a dynamic queue.

This reason code can also occur on the MQOPEN call when the object being opened is of type OTNLST, OTPRO, or OTQM, but the ODMN field in MQOD is neither blank nor the name of the local queue manager.

Completion Code:

CCFAIL

Programmer Response:

Specify the correct option; see Table 54 for open options, and Table 49 for close options. For the MQOPEN call, ensure that the ODMN field is set correctly. For the MQCLOSE call, either correct the option or change the definition type of the model queue that is used to create the new queue.

RC2046
(2046)
Explanation:

The OPTS parameter or field contains options that are not valid, or a combination of options that is not valid.

  • For the MQOPEN, MQCLOSE, MQXCNVC, mqBagToBuffer, mqBufferToBag, mqCreateBag, and mqExecute calls, GMOPT is a separate parameter on the call.

    This reason also occurs if the parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • For the MQCONNX, MQGET, MQPUT, and MQPUT1 calls, GMOPT is a field in the relevant options structure (MQCNO, MQGMO or MQPMO).

Completion Code:

CCFAIL

Programmer Response:

Specify valid options. Check the description of the OPTS parameter or field to determine which options and combinations of options are valid. If multiple options are being set by adding the individual options together, ensure that the same option is not added twice.

RC2047
(2047)
Explanation:

On an MQPUT or MQPUT1 call, the value specified for the MDPER field in the message descriptor MQMD is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify one of the following values:

  • PEPER

  • PENPER

  • PEQDEF

RC2048
(2048)
Explanation:

On an MQPUT or MQPUT1 call, the value specified for the MDPER field in MQMD (or obtained from the DefPersistence queue attribute) specifies PEPER, but the queue on which the message is being placed does not support persistent messages. Persistent messages cannot be placed on temporary dynamic queues.

This reason code can also occur in the MDFB field in the message descriptor of a report message; in this case it indicates that the error was encountered by a message channel agent when it attempted to put the message on a remote queue.

Completion Code:

CCFAIL

Programmer Response:

Specify PENPER if the message is to be placed on a temporary dynamic queue. If persistence is required, use a permanent dynamic queue or predefined queue in place of a temporary dynamic queue.

Be aware that server applications are recommended to send reply messages (message type MTRPLY) with the same persistence as the original request message (message type MTRQST). If the request message is persistent, the reply queue specified in the MDRQ field in the message descriptor MQMD cannot be a temporary dynamic queue. Use a permanent dynamic queue or predefined queue as the reply queue in this situation.

RC2049
(2049)
Explanation:

An MQPUT or MQPUT1 call was issued, but the value of the MDPRI field in the message descriptor MQMD exceeds the maximum priority supported by the local queue manager (see the MaxPriority queue manager attribute described in Attributes for the queue manager). The message is accepted by the queue manager, but is placed on the queue at the queue manager's maximum priority. The MDPRI field in the message descriptor retains the value specified by the application that put the message.

Completion Code:

CCWARN

Programmer Response:

None required, unless this reason code was not expected by the application that put the message.

RC2050
(2050)
Explanation:

An MQPUT or MQPUT1 call was issued, but the value of the MDPRI field in the message descriptor MQMD is not valid. The maximum priority supported by the queue manager is given by the MaxPriority queue manager attribute.

Completion Code:

CCFAIL

Programmer Response:

Specify a value in the range zero through MaxPriority, or the special value PRQDEF.

RC2051
(2051)
Explanation:

MQPUT and MQPUT1 calls are currently inhibited for the queue, or for the queue to which this queue resolves. See the InhibitPut queue attribute described in Attributes for queues.

This reason code can also occur in the MDFB field in the message descriptor of a report message; in this case it indicates that the error was encountered by a message channel agent when it attempted to put the message on a remote queue.

Completion Code:

CCFAIL

Programmer Response:

If the system design allows put requests to be inhibited for short periods, retry the operation later.

RC2052
(2052)
Explanation:

An HOBJ queue handle specified on a call refers to a dynamic queue that has been deleted since the queue was opened. (See MQCLOSE - Close object for information about the deletion of dynamic queues.)

Completion Code:

CCFAIL

Programmer Response:

Issue an MQCLOSE call to return the handle and associated resources to the system (the MQCLOSE call will succeed in this case). Check the design of the application that caused the error.

RC2053
(2053)
Explanation:

On an MQPUT or MQPUT1 call, the call failed because the queue is full, that is, it already contains the maximum number of messages possible (see the MaxQDepth queue attribute described in Attributes for queues).

This reason code can also occur in the MDFB field in the message descriptor of a report message; in this case it indicates that the error was encountered by a message channel agent when it attempted to put the message on a remote queue.

Completion Code:

CCFAIL

Programmer Response:

Retry the operation later. Consider increasing the maximum depth for this queue, or arranging for more instances of the application to service the queue.

RC2055
(2055)
Explanation:

An MQCLOSE call was issued for a permanent dynamic queue, but the call failed because the queue is not empty or still in use. One of the following applies:

  • The CODEL option was specified, but there are messages on the queue.

  • The CODEL or COPURG option was specified, but there are uncommitted get or put calls outstanding against the queue.

See the usage notes pertaining to dynamic queues for the MQCLOSE call for more information.

This reason code is also returned from a Programmable Command Format (PCF) command to clear or delete a queue, if the queue contains uncommitted messages (or committed messages in the case of delete queue without the purge option).

Completion Code:

CCFAIL

Programmer Response:

Check why there might be messages on the queue. Be aware that the CurrentQDepth queue attribute might be zero even though there are one or more messages on the queue; this can happen if the messages have been retrieved as part of a unit of work that has not yet been committed. If the messages can be discarded, try using the MQCLOSE call with the COPURG option. Consider retrying the call later.

RC2056
(2056)
Explanation:

An MQPUT or MQPUT1 call was issued, but there is no space available for the queue on disk or other storage device.

This reason code can also occur in the MDFB field in the message descriptor of a report message; in this case it indicates that the error was encountered by a message channel agent when it attempted to put the message on a remote queue.

Completion Code:

CCFAIL

Programmer Response:

Check whether an application is putting messages in an infinite loop. If not, make more disk space available for the queue.

RC2057
(2057)
Explanation:

One of the following occurred:

  • On an MQOPEN call, the ODMN field in the object descriptor MQOD or object record MQOR specifies the name of a local definition of a remote queue (in order to specify a queue manager alias), and in that local definition the RemoteQMgrName attribute is the name of the local queue manager. However, the ODON field in MQOD or MQOR specifies the name of a model queue on the local queue manager; this is not allowed. See the WebSphere MQ Application Programming Guide for more information.

  • On an MQPUT1 call, the object descriptor MQOD or object record MQOR specifies the name of a model queue.

  • On a previous MQPUT or MQPUT1 call, the MDRQ field in the message descriptor specified the name of a model queue, but a model queue cannot be specified as the destination for reply or report messages. Only the name of a predefined queue, or the name of the dynamic queue created from the model queue, can be specified as the destination. In this situation the reason code RC2057 is returned in the DLREA field of the MQDLH structure when the reply message or report message is placed on the dead-letter queue.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid queue.

RC2058
(2058)
Explanation:

On an MQCONN or MQCONNX call, the value specified for the QMNAME parameter is not valid or not known. This reason also occurs if the parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

This reason code can also occur if an MQ client application attempts to connect to a queue manager within an MQ-client queue manager group (see the QMNAME parameter of MQCONN), and either:

  • Queue-manager groups are not supported.

  • There is no queue manager group with the specified name.

Completion Code:

CCFAIL

Programmer Response:

Use an all-blank name if possible, or verify that the name used is valid.

RC2059
(2059)
Explanation:

On an MQCONN or MQCONNX call, the queue manager identified by the QMNAME parameter is not available for connection.

On i5/OS, this reason can also be returned by the MQOPEN and MQPUT1 calls, when HCDEFH is specified for the HCONN parameter by an application running in compatibility mode.

This reason code can also occur if an MQ client application attempts to connect to a queue manager within an MQ-client queue manager group when none of the queue managers in the group is available for connection (see the QMNAME parameter of the MQCONN call).

This reason code can also occur if the call is issued by an MQ client application and there is an error with the client-connection or the corresponding server-connection channel definitions.

Completion Code:

CCFAIL

Programmer Response:

Ensure that the queue manager has been started. If the connection is from a client application, check the channel definitions.

RC2061
(2061)
Explanation:

An MQPUT or MQPUT1 call was issued, but the MDREP field in the message descriptor MQMD contains one or more options that are not recognized by the local queue manager. The options that cause this reason code to be returned depend on the destination of the message; see Appendix D. Report options and message flags for more details.

This reason code can also occur in the MDFB field in the MQMD of a report message, or in the DLREA field in the MQDLH structure of a message on the dead-letter queue; in both cases it indicates that the destination queue manager does not support one or more of the report options specified by the sender of the message.

Completion Code:

CCFAIL

Programmer Response:

Do the following:

  • Ensure that the MDREP field in the message descriptor is initialized with a value when the message descriptor is declared, or is assigned a value prior to the MQPUT or MQPUT1 call. Specify RONONE if no report options are required.

  • Ensure that the report options specified are ones that are documented in this book; see the MDREP field described in MQMD - Message descriptor for valid report options. Remove any report options that are not documented in this book.

  • If multiple report options are being set by adding the individual report options together, ensure that the same report option is not added twice.

  • Check that conflicting report options are not specified. For example, do not add both ROEXC and ROEXCD to the MDREP field; only one of these can be specified.

RC2063
(2063)
Explanation:

An MQCONN, MQCONNX, MQOPEN, MQPUT1, or MQCLOSE call was issued, but it failed because a security error occurred.

Completion Code:

CCFAIL

Programmer Response:

Note the error from the security manager, and contact your system programmer or security administrator.

On i5/OS, the FFST log will contain the error information.

RC2065
(2065)
Explanation:

On an MQINQ or MQSET call, the SELCNT parameter specifies a value that is not valid. This reason also occurs if the parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Specify a value in the range 0 through 256.

RC2066
(2066)
Explanation:

On an MQINQ or MQSET call, the SELCNT parameter specifies a value that is larger than the maximum supported (256).

Completion Code:

CCFAIL

Programmer Response:

Reduce the number of selectors specified on the call; the valid range is 0 through 256.

RC2067
(2067)
Explanation:

An MQINQ or MQSET call was issued, but the SELS array contains a selector that is not valid for one of the following reasons:

  • The selector is not supported or out of range.

  • The selector is not applicable to the type of object whose attributes are being inquired or set.

  • The selector is for an attribute that cannot be set.

This reason also occurs if the parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Ensure that the value specified for the selector is valid for the object type represented by HOBJ. For the MQSET call, also ensure that the selector represents an integer attribute that can be set.

RC2068
(2068)
Explanation:

On the MQINQ call, one or more selectors in the SELS array is not applicable to the type of the queue whose attributes are being inquired.

This reason also occurs when the queue is a cluster queue that resolved to a remote instance of the queue. In this case only a subset of the attributes that are valid for local queues can be inquired. See the usage notes in MQINQ - Inquire about object attributes for further details.

The call completes with CCWARN, with the attribute values for the inapplicable selectors set as follows:

  • For integer attributes, the corresponding elements of INTATR are set to IAVNA.

  • For character attributes, the appropriate parts of the CHRATR string are set to a character string consisting entirely of asterisks (*).

Completion Code:

CCWARN

Programmer Response:

Verify that the selector specified is the one that was intended.

If the queue is a cluster queue, specifying one of the OOBRW, OOINP*, or OOSET options in addition to OOINQ forces the queue to resolve to the local instance of the queue. However, if there is no local instance of the queue the MQOPEN call fails.

RC2071
(2071)
Explanation:

The call failed because there is insufficient main storage available.

Completion Code:

CCFAIL

Programmer Response:

Ensure that active applications are behaving correctly, for example, that they are not looping unexpectedly. If no problems are found, make more main storage available.

RC2072
(2072)
Explanation:

Either GMSYP was specified on an MQGET call or PMSYP was specified on an MQPUT or MQPUT1 call, but the local queue manager was unable to honor the request. If the queue manager does not support units of work, the SyncPoint queue manager attribute will have the value SPNAVL.

This reason code can also occur on the MQGET, MQPUT, and MQPUT1 calls when an external unit-of-work coordinator is being used. If that coordinator requires an explicit call to start the unit of work, but the application has not issued that call prior to the MQGET, MQPUT, or MQPUT1 call, reason code RC2072 is returned.

On i5/OS, this reason codes means that i5/OS Commitment Control is not started, or is unavailable for use by the queue manager.

Completion Code:

CCFAIL

Programmer Response:

Remove the specification of GMSYP or PMSYP, as appropriate.

  • On i5/OS, ensure that Commitment Control has been started. If this reason code occurs after Commitment Control has been started, contact your systems programmer.

RC2075
(2075)
Explanation:

On an MQSET call, the value specified for the IATRGC attribute selector is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid value. See Attributes for queues.

RC2076
(2076)
Explanation:

On an MQSET call, the value specified for the IATRGD attribute selector is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a value that is greater than zero. See Attributes for queues.

RC2077
(2077)
Explanation:

On an MQSET call, the value specified for the IATRGP attribute selector is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a value in the range zero through the value of MaxPriority queue manager attribute. See Attributes for queues.

RC2078
(2078)
Explanation:

On an MQSET call, the value specified for the IATRGT attribute selector is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid value. See Attributes for queues.

RC2079
(2079)
Explanation:

On an MQGET call, the message length was too large to fit into the supplied buffer. The GMATM option was specified, so the call completes. The message is removed from the queue (subject to unit-of-work considerations), or, if this was a browse operation, the browse cursor is advanced to this message.

The DATLEN parameter is set to the length of the message before truncation, the BUFFER parameter contains as much of the message as fits, and the MQMD structure is filled in.

Completion Code:

CCWARN

Programmer Response:

None, because the application expected this situation.

RC2080
(2080)
Explanation:

On an MQGET call, the message length was too large to fit into the supplied buffer. The GMATM option was not specified, so the message has not been removed from the queue. If this was a browse operation, the browse cursor remains where it was before this call, but if GMBRWF was specified, the browse cursor is positioned logically before the highest-priority message on the queue.

The DATLEN field is set to the length of the message before truncation, the BUFFER parameter contains as much of the message as fits, and the MQMD structure is filled in.

Completion Code:

CCWARN

Programmer Response:

Supply a buffer that is at least as large as DATLEN, or specify GMATM if not all of the message data is required.

RC2082
(2082)
Explanation:

An MQOPEN or MQPUT1 call was issued specifying an alias queue as the target, but the BaseQName in the alias queue attributes is not recognized as a queue name.

This reason code can also occur when BaseQName is the name of a cluster queue that cannot be resolved successfully.

Completion Code:

CCFAIL

Programmer Response:

Correct the queue definitions.

RC2085
(2085)
Explanation:

An MQOPEN or MQPUT1 call was issued, but the object identified by the ODON and ODMN fields in the object descriptor MQOD cannot be found. One of the following applies:

  • The ODMN field is one of the following:

    • Blank

    • The name of the local queue manager

    • The name of a local definition of a remote queue (a queue manager alias) in which the RemoteQMgrName attribute is the name of the local queue manager

    but no object with the specified ODON and ODOT exists on the local queue manager.

  • The object being opened is a cluster queue that is hosted on a remote queue manager, but the local queue manager does not have a defined route to the remote queue manager.

  • The object being opened is a queue definition that has QSGDISP(GROUP). Such definitions cannot be used with the MQOPEN and MQPUT1 calls.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid object name. Ensure that the name is padded to the right with blanks if necessary. If this is correct, check the queue definitions.

RC2086
(2086)
Explanation:

On an MQOPEN or MQPUT1 call, the ODMN field in the object descriptor MQOD does not satisfy the naming rules for objects. For more information, see the WebSphere MQ Application Programming Guide.

This reason also occurs if the ODOT field in the object descriptor has the value OTQM, and the ODMN field is not blank, but the name specified is not the name of the local queue manager.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid queue manager name. To refer to the local queue manager, a name consisting entirely of blanks or beginning with a null character can be used. Ensure that the name is padded to the right with blanks or terminated with a null character if necessary.

RC2087
(2087)
Explanation:

On an MQOPEN or MQPUT1 call, an error occurred with the queue-name resolution, for one of the following reasons:

  • ODMN is blank or the name of the local queue manager, ODON is the name of a local definition of a remote queue (or an alias to one), and one of the following is true:

    • RemoteQMgrName is blank or the name of the local queue manager. Note that this error occurs even if XmitQName is not blank.

    • XmitQName is blank, but there is no transmission queue defined with the name of RemoteQMgrName, and the DefXmitQName queue manager attribute is blank.

    • RemoteQMgrName and RemoteQName specify a cluster queue that cannot be resolved successfully, and the DefXmitQName queue manager attribute is blank.

  • ODMN is the name of a local definition of a remote queue (containing a queue manager alias definition), and one of the following is true:

    • RemoteQName is not blank.

    • XmitQName is blank, but there is no transmission queue defined with the name of RemoteQMgrName, and the DefXmitQName queue manager attribute is blank.

  • ODMN is not:

    • Blank

    • The name of the local queue manager

    • The name of a transmission queue

    • The name of a queue manager alias definition (that is, a local definition of a remote queue with a blank RemoteQName)

    but the DefXmitQName queue manager attribute is blank.

  • ODMN is the name of a model queue.

  • The queue name is resolved through a cell directory. However, there is no queue defined with the same name as the remote queue manager name obtained from the cell directory, and the DefXmitQName queue manager attribute is blank.

Completion Code:

CCFAIL

Programmer Response:

Check the values specified for ODMN and ODON. If these are correct, check the queue definitions.

RC2090
(2090)
Explanation:

On the MQGET call, the value specified for the GMWI field in the GMO parameter is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a value greater than or equal to zero, or the special value WIULIM if an indefinite wait is required.

RC2091
(2091)
Explanation:

On an MQOPEN or MQPUT1 call, a message is to be sent to a remote queue manager. The ODON or ODMN field in the object descriptor specifies the name of a local definition of a remote queue but one of the following applies to the XmitQName attribute of the definition:

  • XmitQName is not blank, but specifies a queue that is not a local queue

  • XmitQName is blank, but RemoteQMgrName specifies a queue that is not a local queue

This reason also occurs if the queue name is resolved through a cell directory, and the remote queue manager name obtained from the cell directory is the name of a queue, but this is not a local queue.

Completion Code:

CCFAIL

Programmer Response:

Check the values specified for ODON and ODMN. If these are correct, check the queue definitions. For more information on transmission queues, see the WebSphere MQ Application Programming Guide.

RC2092
(2092)
Explanation:

On an MQOPEN or MQPUT1 call, a message is to be sent to a remote queue manager, but one of the following occurred:

  • ODMN specifies the name of a local queue, but it does not have a Usage attribute of USTRAN.

  • The ODON or ODMN field in the object descriptor specifies the name of a local definition of a remote queue but one of the following applies to the XmitQName attribute of the definition:

    • XmitQName is not blank, but specifies a queue that does not have a Usage attribute of USTRAN

    • XmitQName is blank, but RemoteQMgrName specifies a queue that does not have a Usage attribute of USTRAN

  • The queue name is resolved through a cell directory, and the remote queue manager name obtained from the cell directory is the name of a local queue, but it does not have a Usage attribute of USTRAN.

Completion Code:

CCFAIL

Programmer Response:

Check the values specified for ODON and ODMN. If these are correct, check the queue definitions. For more information on transmission queues, see the WebSphere MQ Application Programming Guide.

RC2093
(2093)
Explanation:

An MQPUT call was issued with the PMPASA option specified in the PMO parameter, but the queue had not been opened with the OOPASA option.

Completion Code:

CCFAIL

Programmer Response:

Specify OOPASA (or another option that implies it) when the queue is opened.

RC2094
(2094)
Explanation:

An MQPUT call was issued with the PMPASI option specified in the PMO parameter, but the queue had not been opened with the OOPASI option.

Completion Code:

CCFAIL

Programmer Response:

Specify OOPASI (or another option that implies it) when the queue is opened.

RC2095
(2095)
Explanation:

An MQPUT call was issued with the PMSETA option specified in the PMO parameter, but the queue had not been opened with the OOSETA option.

Completion Code:

CCFAIL

Programmer Response:

Specify OOSETA when the queue is opened.

RC2096
(2096)
Explanation:

An MQPUT call was issued with the PMSETI option specified in the PMO parameter, but the queue had not been opened with the OOSETI option.

Completion Code:

CCFAIL

Programmer Response:

Specify OOSETI (or another option that implies it) when the queue is opened.

RC2097
(2097)
Explanation:

On an MQPUT or MQPUT1 call, PMPASI or PMPASA was specified, but the handle specified in the PMCT field of the PMO parameter is either not a valid queue handle, or it is a valid queue handle but the queue was not opened with OOSAVA.

Completion Code:

CCFAIL

Programmer Response:

Specify OOSAVA when the queue referred to is opened.

RC2098
(2098)
Explanation:

On an MQPUT or MQPUT1 call, PMPASI or PMPASA was specified, but the queue handle specified in the PMCT field of the PMO parameter has no context associated with it. This arises if no message has yet been successfully retrieved with the queue handle referred to, or if the last successful MQGET call was a browse.

This condition does not arise if the message that was last retrieved had no context associated with it.

Completion Code:

CCFAIL

Programmer Response:

Ensure that a successful nonbrowse get call has been issued with the queue handle referred to.

RC2100
(2100)
Explanation:

An MQOPEN call was issued to create a dynamic queue, but a queue with the same name as the dynamic queue already exists.

Completion Code:

CCFAIL

Programmer Response:

If supplying a dynamic queue name in full, ensure that it obeys the naming conventions for dynamic queues; if it does, either supply a different name, or delete the existing queue if it is no longer required. Alternatively, allow the queue manager to generate the name.

If the queue manager is generating the name (either in part or in full), reissue the MQOPEN call.

RC2101
(2101)
Explanation:

The object accessed by the call is damaged and cannot be used. For example, this may be because the definition of the object in main storage is not consistent, or because it differs from the definition of the object on disk, or because the definition on disk cannot be read. The object can be deleted, although it may not be possible to delete the associated user space.

Completion Code:

CCFAIL

Programmer Response:

It may be necessary to stop and restart the queue manager, or to restore the queue manager data from back-up storage.

Consult the FFST record to obtain more detail about the problem.

RC2102
(2102)
Explanation:

There are insufficient system resources to complete the call successfully.

Completion Code:

CCFAIL

Programmer Response:

Run the application when the machine is less heavily loaded.

Consult the FFST record to obtain more detail about the problem.

RC2103
(2103)
Explanation:

An MQCONN or MQCONNX call was issued, but the thread or process is already connected to a different queue manager. The thread or process can connect to only one queue manager at a time.

Completion Code:

CCFAIL

Programmer Response:

Use the MQDISC call to disconnect from the queue manager that is already connected, and then issue the MQCONN or MQCONNX call to connect to the new queue manager.

Disconnecting from the existing queue manager will close any queues that are currently open; it is recommended that any uncommitted units of work should be committed or backed out before the MQDISC call is issued.

RC2104
(2104)
Explanation:

An MQPUT or MQPUT1 call was issued, but the MDREP field in the message descriptor MQMD contains one or more options that are not recognized by the local queue manager. The options are accepted.

The options that cause this reason code to be returned depend on the destination of the message; see Appendix D. Report options and message flags for more details.

Completion Code:

CCWARN

Programmer Response:

If this reason code is expected, no corrective action is required. If this reason code is not expected, do the following:

  • Ensure that the MDREP field in the message descriptor is initialized with a value when the message descriptor is declared, or is assigned a value prior to the MQPUT or MQPUT1 call.

  • Ensure that the report options specified are ones that are documented in this book; see the MDREP field described in MQMD - Message descriptor for valid report options. Remove any report options that are not documented in this book.

  • If multiple report options are being set by adding the individual report options together, ensure that the same report option is not added twice.

  • Check that conflicting report options are not specified. For example, do not add both ROEXC and ROEXCD to the MDREP field; only one of these can be specified.

RC2110
(2110)
Explanation:

An MQGET call was issued with the GMCONV option specified in the GMO parameter, but the message cannot be converted successfully due to an error associated with the message format. Possible errors include:

  • The format name in the message is FMNONE.

  • A user-written exit with the name specified by the MDFMT field in the message cannot be found.

  • The message contains data that is not consistent with the format definition.

The message is returned unconverted to the application issuing the MQGET call, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

If the message consists of several parts, each of which is described by its own character-set and encoding fields (for example, a message with format name FMDLH), some parts may be converted and other parts not converted. However, the values returned in the various character-set and encoding fields always correctly describe the relevant message data.

Completion Code:

CCWARN

Programmer Response:

Check the format name that was specified when the message was put. If this is not one of the built-in formats, check that a suitable exit with the same name as the format is available for the queue manager to load. Verify that the data in the message corresponds to the format expected by the exit.

RC2111
(2111)
Explanation:

The coded character-set identifier from which character data is to be converted is not valid or not supported.

This can occur on the MQGET call when the GMCONV option is included in the GMO parameter; the coded character-set identifier in error is the MDCSI field in the message being retrieved. In this case, the message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

This reason can also occur on the MQGET call when the message contains one or more MQ header structures (MQCIH, MQDLH, MQIIH, MQRMH), and the MDCSI field in the message specifies a character set that does not have SBCS characters for the characters that are valid in queue names. MQ header structures containing such characters are not valid, and so the message is returned unconverted. The Unicode character set UCS-2 is an example of such a character set.

If the message consists of several parts, each of which is described by its own character-set and encoding fields (for example, a message with format name FMDLH), some parts may be converted and other parts not converted. However, the values returned in the various character-set and encoding fields always correctly describe the relevant message data.

This reason can also occur on the MQXCNVC call; the coded character-set identifier in error is the SRCCSI parameter. Either the SRCCSI parameter specifies a value that is not valid or not supported, or the SRCCSI parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Check the character-set identifier that was specified when the message was put, or that was specified for the SRCCSI parameter on the MQXCNVC call. If this is correct, check that it is one for which queue manager conversion is supported. If queue manager conversion is not supported for the specified character set, conversion must be carried out by the application.

RC2112
(2112)
Explanation:

On an MQGET call, with the GMCONV option included in the GMO parameter, the MDENC value in the message being retrieved specifies an integer encoding that is not recognized. The message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

If the message consists of several parts, each of which is described by its own character-set and encoding fields (for example, a message with format name FMDLH), some parts may be converted and other parts not converted. However, the values returned in the various character-set and encoding fields always correctly describe the relevant message data.

This reason code can also occur on the MQXCNVC call, when the OPTS parameter contains an unsupported DCCS* value, or when DCCSUN is specified for a UCS-2 code page.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Check the integer encoding that was specified when the message was put. If this is correct, check that it is one for which queue manager conversion is supported. If queue manager conversion is not supported for the required integer encoding, conversion must be carried out by the application.

RC2113
(2113)
Explanation:

On an MQGET call with the GMCONV option included in the GMO parameter, the MDENC value in the message being retrieved specifies a decimal encoding that is not recognized. The message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

If the message consists of several parts, each of which is described by its own character-set and encoding fields (for example, a message with format name FMDLH), some parts may be converted and other parts not converted. However, the values returned in the various character-set and encoding fields always correctly describe the relevant message data.

Completion Code:

CCWARN

Programmer Response:

Check the decimal encoding that was specified when the message was put. If this is correct, check that it is one for which queue manager conversion is supported. If queue manager conversion is not supported for the required decimal encoding, conversion must be carried out by the application.

RC2114
(2114)
Explanation:

On an MQGET call, with the GMCONV option included in the GMO parameter, the MDENC value in the message being retrieved specifies a floating-point encoding that is not recognized. The message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

If the message consists of several parts, each of which is described by its own character-set and encoding fields (for example, a message with format name FMDLH), some parts may be converted and other parts not converted. However, the values returned in the various character-set and encoding fields always correctly describe the relevant message data.

Completion Code:

CCWARN

Programmer Response:

Check the floating-point encoding that was specified when the message was put. If this is correct, check that it is one for which queue manager conversion is supported. If queue manager conversion is not supported for the required floating-point encoding, conversion must be carried out by the application.

RC2115
(2115)
Explanation:

The coded character-set identifier to which character data is to be converted is not valid or not supported.

This can occur on the MQGET call when the GMCONV option is included in the GMO parameter; the coded character-set identifier in error is the MDCSI field in the MSGDSC parameter. In this case, the message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

This reason can also occur on the MQGET call when the message contains one or more MQ header structures (MQCIH, MQDLH, MQIIH, MQRMH), and the MDCSI field in the MSGDSC parameter specifies a character set that does not have SBCS characters for the characters that are valid in queue names. The Unicode character set UCS-2 is an example of such a character set.

This reason can also occur on the MQXCNVC call; the coded character-set identifier in error is the TGTCSI parameter. Either the TGTCSI parameter specifies a value that is not valid or not supported, or the TGTCSI parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Check the character-set identifier that was specified for the MDCSI field in the MSGDSC parameter on the MQGET call, or that was specified for the SRCCSI parameter on the MQXCNVC call. If this is correct, check that it is one for which queue manager conversion is supported. If queue manager conversion is not supported for the specified character set, conversion must be carried out by the application.

RC2116
(2116)
Explanation:

On an MQGET call with the GMCONV option included in the GMO parameter, the MDENC value in the MSGDSC parameter specifies an integer encoding that is not recognized. The message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message being retrieved, and the call completes with CCWARN.

This reason code can also occur on the MQXCNVC call, when the OPTS parameter contains an unsupported DCCT* value, or when DCCTUN is specified for a UCS-2 code page.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Check the integer encoding that was specified. If this is correct, check that it is one for which queue manager conversion is supported. If queue manager conversion is not supported for the required integer encoding, conversion must be carried out by the application.

RC2117
(2117)
Explanation:

On an MQGET call with the GMCONV option included in the GMO parameter, the MDENC value in the MSGDSC parameter specifies a decimal encoding that is not recognized. The message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

Completion Code:

CCWARN

Programmer Response:

Check the decimal encoding that was specified. If this is correct, check that it is one for which queue manager conversion is supported. If queue manager conversion is not supported for the required decimal encoding, conversion must be carried out by the application.

RC2118
(2118)
Explanation:

On an MQGET call with the GMCONV option included in the GMO parameter, the MDENC value in the MSGDSC parameter specifies a floating-point encoding that is not recognized. The message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

Completion Code:

CCWARN

Programmer Response:

Check the floating-point encoding that was specified. If this is correct, check that it is one for which queue manager conversion is supported. If queue manager conversion is not supported for the required floating-point encoding, conversion must be carried out by the application.

RC2119
(2119)
Explanation:

An MQGET call was issued with the GMCONV option specified in the GMO parameter, but an error occurred during conversion of the data in the message. The message data is returned unconverted, the values of the MDCSI and MDENC fields in the MSGDSC parameter are set to those of the message returned, and the call completes with CCWARN.

If the message consists of several parts, each of which is described by its own character-set and encoding fields (for example, a message with format name FMDLH), some parts may be converted and other parts not converted. However, the values returned in the various character-set and encoding fields always correctly describe the relevant message data.

This error may also indicate that a parameter to the data-conversion service is not supported.

Completion Code:

CCWARN

Programmer Response:

Check that the message data is correctly described by the MDFMT, MDCSI and MDENC parameters that were specified when the message was put. Also check that these values, and the MDCSI and MDENC specified in the MSGDSC parameter on the MQGET call, are supported for queue manager conversion. If the required conversion is not supported, conversion must be carried out by the application.

RC2120
(2120)
Explanation:

On an MQGET call with the GMCONV option included in the GMO parameter, the message data expanded during data conversion and exceeded the size of the buffer provided by the application. However, the message had already been removed from the queue because prior to conversion the message data could be accommodated in the application buffer without truncation.

The message is returned unconverted, with the CMPCOD parameter of the MQGET call set to CCWARN. If the message consists of several parts, each of which is described by its own character-set and encoding fields (for example, a message with format name FMDLH), some parts may be converted and other parts not converted. However, the values returned in the various character-set and encoding fields always correctly describe the relevant message data.

This reason can also occur on the MQXCNVC call, when the TGTBUF parameter is too small too accommodate the converted string, and the string has been truncated to fit in the buffer. The length of valid data returned is given by the DATLEN parameter; in the case of a DBCS string or mixed SBCS/DBCS string, this length may be less than the length of TGTBUF.

Completion Code:

CCWARN

Programmer Response:

For the MQGET call, check that the exit is converting the message data correctly and setting the output length DATLEN to the appropriate value. If it is, the application issuing the MQGET call must provide a larger buffer for the BUFFER parameter.

For the MQXCNVC call, if the string must be converted without truncation, provide a larger output buffer.

RC2121
(2121)
Explanation:

An MQBEGIN call was issued to start a unit of work coordinated by the queue manager, but no participating resource managers have been registered with the queue manager. As a result, only changes to MQ resources can be coordinated by the queue manager in the unit of work.

Completion Code:

CCWARN

Programmer Response:

If the application does not require non-MQ resources to participate in the unit of work, this reason code can be ignored or the MQBEGIN call removed. Otherwise consult your system support programmer to determine why the required resource managers have not been registered with the queue manager; the queue manager's configuration file may be in error.

RC2122
(2122)
Explanation:

An MQBEGIN call was issued to start a unit of work coordinated by the queue manager, but one or more of the participating resource managers that had been registered with the queue manager is not available. As a result, changes to those resources cannot be coordinated by the queue manager in the unit of work.

Completion Code:

CCWARN

Programmer Response:

If the application does not require non-MQ resources to participate in the unit of work, this reason code can be ignored. Otherwise consult your system support programmer to determine why the required resource managers are not available. The resource manager may have been halted temporarily, or there may be an error in the queue manager's configuration file.

RC2123
(2123)
Explanation:

The queue manager is acting as the unit-of-work coordinator for a unit of work that involves other resource managers, but one of the following occurred:

  • An MQCMIT or MQDISC call was issued to commit the unit of work, but one or more of the participating resource managers backed-out the unit of work instead of committing it. As a result, the outcome of the unit of work is mixed.

  • An MQBACK call was issued to back out a unit of work, but one or more of the participating resource managers had already committed the unit of work.

Completion Code:

CCFAIL

Programmer Response:

Examine the queue manager error logs for messages relating to the mixed outcome; these messages identify the resource managers that are affected. Use procedures local to the affected resource managers to resynchronize the resources.

This reason code does not prevent the application initiating further units of work.

RC2124
(2124)
Explanation:

The queue manager is acting as the unit-of-work coordinator for a unit of work that involves other resource managers, and an MQCMIT or MQDISC call was issued to commit the unit of work, but one or more of the participating resource managers has not confirmed that the unit of work was committed successfully.

The completion of the commit operation will happen at some point in the future, but there remains the possibility that the outcome will be mixed.

Completion Code:

CCWARN

Programmer Response:

Use the normal error-reporting mechanisms to determine whether the outcome was mixed. If it was, take appropriate action to resynchronize the resources.

This reason code does not prevent the application initiating further units of work.

RC2125
(2125)
Explanation:

The IMS bridge has been started.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2126
(2126)
Explanation:

The IMS bridge has been stopped.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2128
(2128)
Explanation:

An MQBEGIN call was issued to start a unit of work coordinated by the queue manager, but a unit of work is already in existence for the connection handle specified. This may be a global unit of work started by a previous MQBEGIN call, or a unit of work that is local to the queue manager or one of the cooperating resource managers. No more than one unit of work can exist concurrently for a connection handle.

Completion Code:

CCFAIL

Programmer Response:

Review the application logic to determine why there is a unit of work already in existence. Move the MQBEGIN call to the appropriate place in the application.

RC2134
(2134)
Explanation:

On an MQBEGIN call, the begin-options structure MQBO is not valid, for one of the following reasons:

  • The BOSID field is not BOSIDV.

  • The BOVER field is not BOVER1.

  • The parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The queue manager cannot copy the changed structure to application storage, even though the call is successful. This can occur, for example, if the pointer points to read-only storage.

Completion Code:

CCFAIL

Programmer Response:

Ensure that input fields in the MQBO structure are set correctly.

RC2135
(2135)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQDH structure that is not valid. Possible errors include the following:

  • The MESID field is not DHSIDV.

  • The MEVER field is not DHVER1.

  • The MELEN field specifies a value that is too small to include the structure plus the arrays of MQOR and MQPMR records.

  • The MECSI field is zero, or a negative value that is not valid.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly. Ensure that the application sets the MECSI field to a valid value (note: CSDEF, CSEMBD, CSQM, and CSUNDF are not valid in this field).

RC2136
(2136)
Explanation:

An MQOPEN, MQPUT or MQPUT1 call was issued to open a distribution list or put a message to a distribution list, but the result of the call was not the same for all of the destinations in the list. One of the following applies:

  • The call succeeded for some of the destinations but not others. The completion code is CCWARN in this case.

  • The call failed for all of the destinations, but for differing reasons. The completion code is CCFAIL in this case.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Examine the MQRR response records to identify the destinations for which the call failed, and the reason for the failure. Ensure that sufficient response records are provided by the application on the call to enable the error(s) to be determined. For the MQPUT1 call, the response records must be specified using the MQOD structure, and not the MQPMO structure.

RC2137
(2137)
Explanation:

A queue or other MQ object could not be opened successfully, for one of the following reasons:

  • An MQCONN or MQCONNX call was issued, but the queue manager was unable to open an object that is used internally by the queue manager. As a result, processing cannot continue. The error log will contain the name of the object that could not be opened.

  • An MQPUT call was issued to put a message to a distribution list, but the message could not be sent to the destination to which this reason code applies because that destination was not opened successfully by the MQOPEN call. This reason occurs only in the RRREA field of the MQRR response record.

Completion Code:

CCFAIL

Programmer Response:

Do one of the following:

  • If the error occurred on the MQCONN or MQCONNX call, ensure that the required objects exist by running the following command and then retrying the application:

    STRMQM -c qmgr
    where

    qmgr should be replaced by the name of the queue manager.

  • If the error occurred on the MQPUT call, examine the MQRR response records specified on the MQOPEN call to determine the reason that the queue failed to open. Ensure that sufficient response records are provided by the application on the call to enable the error(s) to be determined.

RC2139
(2139)
Explanation:

On an MQCONNX call, the connect-options structure MQCNO is not valid, for one of the following reasons:

  • The CNSID field is not CNSIDV.

  • The CNVER field specifies a value that is not valid or not supported.

  • The parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The queue manager cannot copy the changed structure to application storage, even though the call is successful. This can occur, for example, if the parameter pointer points to read-only storage.

Completion Code:

CCFAIL

Programmer Response:

Ensure that input fields in the MQCNO structure are set correctly.

RC2141
(2141)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQDLH structure that is not valid. Possible errors include the following:

  • The MESID field is not DLSIDV.

  • The MEVER field is not DLVER1.

  • The MECSI field is zero, or a negative value that is not valid.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly. Ensure that the application sets the MECSI field to a valid value (note: CSDEF, CSEMBD, CSQM, and CSUNDF are not valid in this field).

RC2142
(2142)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQ header structure that is not valid. Possible errors include the following:

  • The MESID field is not valid.

  • The MEVER field is not valid.

  • The MELEN field specifies a value that is too small.

  • The MECSI field is zero, or a negative value that is not valid.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly. Ensure that the application sets the MECSI field to a valid value (note: CSDEF, CSEMBD, CSQM, and CSUNDF are not valid in this field).

RC2143
(2143)
Explanation:

On the MQXCNVC call, the SRCLEN parameter specifies a length that is less than zero or not consistent with the string's character set or content (for example, the character set is a double-byte character set, but the length is not a multiple of two). This reason also occurs if the SRCLEN parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

This reason code can also occur on the MQGET call when the GMCONV option is specified. In this case it indicates that the RC2143 reason was returned by an MQXCNVC call issued by the data conversion exit.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Specify a length that is zero or greater. If the reason code occurs on the MQGET call, check that the logic in the data-conversion exit is correct.

RC2144
(2144)
Explanation:

On the MQXCNVC call, the TGTLEN parameter is not valid for one of the following reasons:

  • TGTLEN is less than zero.

  • The TGTLEN parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The DCCFIL option is specified, but the value of TGTLEN is such that the target buffer cannot be filled completely with valid characters. This can occur when TGTCSI is a pure DBCS character set (such as UCS-2), but TGTLEN specifies a length that is an odd number of bytes.

This reason code can also occur on the MQGET call when the GMCONV option is specified. In this case it indicates that the RC2144 reason was returned by an MQXCNVC call issued by the data conversion exit.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Specify a length that is zero or greater. If the DCCFIL option is specified, and TGTCSI is a pure DBCS character set, ensure that TGTLEN specifies a length that is a multiple of two.

If the reason code occurs on the MQGET call, check that the logic in the data-conversion exit is correct.

RC2145
(2145)
Explanation:

On the MQXCNVC call, the SRCBUF parameter pointer is not valid, or points to storage that cannot be accessed for the entire length specified by SRCLEN. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

This reason code can also occur on the MQGET call when the GMCONV option is specified. In this case it indicates that the RC2145 reason was returned by an MQXCNVC call issued by the data conversion exit.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Specify a valid buffer. If the reason code occurs on the MQGET call, check that the logic in the data-conversion exit is correct.

RC2146
(2146)
Explanation:

On the MQXCNVC call, the TGTBUF parameter pointer is not valid, or points to read-only storage, or to storage that cannot be accessed for the entire length specified by TGTLEN. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

This reason code can also occur on the MQGET call when the GMCONV option is specified. In this case it indicates that the RC2146 reason was returned by an MQXCNVC call issued by the data conversion exit.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Specify a valid buffer. If the reason code occurs on the MQGET call, check that the logic in the data-conversion exit is correct.

RC2148
(2148)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQIIH structure that is not valid. Possible errors include the following:

  • The MESID field is not IISIDV.

  • The MEVER field is not IIVER1.

  • The MELEN field is not IILEN1.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2149
(2149)
Explanation:

An MQPUT or MQPUT1 call was issued to put a message containing PCF data, but the length of the message does not equal the sum of the lengths of the PCF structures present in the message. This can occur for messages with the following format names:

  • FMADMN

  • FMEVNT

  • FMPCF

Completion Code:

CCFAIL

Programmer Response:

Ensure that the length of the message specified on the MQPUT or MQPUT1 call equals the sum of the lengths of the PCF structures contained within the message data.

RC2150
(2150)
Explanation:

An error was encountered attempting to convert a double-byte character set (DBCS) string. This can occur in the following cases:

  • On the MQXCNVC call, when the SRCCSI parameter specifies the coded character-set identifier of a double-byte character set, but the SRCBUF parameter does not contain a valid DBCS string. This may be because the string contains characters that are not valid DBCS characters, or because the string is a mixed SBCS/DBCS string and the shift-out/shift-in characters are not correctly paired. The completion code is CCFAIL in this case.

  • On the MQGET call, when the GMCONV option is specified. In this case it indicates that the RC2150 reason code was returned by an MQXCNVC call issued by the data conversion exit. The completion code is CCWARN in this case.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Specify a valid string.

If the reason code occurs on the MQGET call, check that the data in the message is valid, and that the logic in the data-conversion exit is correct.

RC2152
(2152)
Explanation:

An MQOPEN or MQPUT1 call was issued to open a distribution list (that is, the ODREC field in MQOD is greater than zero), but the ODON field is neither blank nor the null string.

Completion Code:

CCFAIL

Programmer Response:

If it is intended to open a distribution list, set the ODON field to blanks or the null string. If it is not intended to open a distribution list, set the ODREC field to zero.

RC2153
(2153)
Explanation:

An MQOPEN or MQPUT1 call was issued to open a distribution list (that is, the ODREC field in MQOD is greater than zero), but the ODMN field is neither blank nor the null string.

Completion Code:

CCFAIL

Programmer Response:

If it is intended to open a distribution list, set the ODMN field to blanks or the null string. If it is not intended to open a distribution list, set the ODREC field to zero.

RC2154
(2154)
Explanation:

An MQOPEN or MQPUT1 call was issued, but the call failed for one of the following reasons:

  • ODREC in MQOD is less than zero.

  • ODOT in MQOD is not OTQ, and ODREC is not zero. ODREC must be zero if the object being opened is not a queue.

Completion Code:

CCFAIL

Programmer Response:

If it is intended to open a distribution list, set the ODOT field to OTQ and ODREC to the number of destinations in the list. If it is not intended to open a distribution list, set the ODREC field to zero.

RC2155
(2155)
Explanation:

An MQOPEN or MQPUT1 call was issued to open a distribution list (that is, the ODREC field in MQOD is greater than zero), but the MQOR object records are not specified correctly. One of the following applies:

  • ODORO is zero and ODORP is zero or the null pointer.

  • ODORO is not zero and ODORP is not zero and not the null pointer.

  • ODORP is not a valid pointer.

  • ODORP or ODORO points to storage that is not accessible.

Completion Code:

CCFAIL

Programmer Response:

Ensure that one of ODORO and ODORP is zero and the other nonzero. Ensure that the field used points to accessible storage.

RC2156
(2156)
Explanation:

An MQOPEN or MQPUT1 call was issued to open a distribution list (that is, the ODREC field in MQOD is greater than zero), but the MQRR response records are not specified correctly. One of the following applies:

  • ODRRO is not zero and ODRRP is not zero and not the null pointer.

  • ODRRP is not a valid pointer.

  • ODRRP or ODRRO points to storage that is not accessible.

Completion Code:

CCFAIL

Programmer Response:

Ensure that at least one of ODRRO and ODRRP is zero. Ensure that the field used points to accessible storage.

RC2158
(2158)
Explanation:

An MQPUT or MQPUT1 call was issued to put a message, but the PMPRF field in the MQPMO structure is not valid, for one of the following reasons:

  • The field contains flags that are not valid.

  • The message is being put to a distribution list, and put message records have been provided (that is, PMREC is greater than zero, and one of PMPRO or PMPRP is nonzero), but PMPRF has the value PFNONE.

  • PFACC is specified without either PMSETI or PMSETA.

Completion Code:

CCFAIL

Programmer Response:

Ensure that PMPRF is set with the appropriate PF* flags to indicate which fields are present in the put message records. If PFACC is specified, ensure that either PMSETI or PMSETA is also specified. Alternatively, set both PMPRO and PMPRP to zero.

RC2159
(2159)
Explanation:

An MQPUT or MQPUT1 call was issued to put a message to a distribution list, but the MQPMR put message records are not specified correctly. One of the following applies:

  • PMPRO is not zero and PMPRP is not zero and not the null pointer.

  • PMPRP is not a valid pointer.

  • PMPRP or PMPRO points to storage that is not accessible.

Completion Code:

CCFAIL

Programmer Response:

Ensure that at least one of PMPRO and PMPRP is zero. Ensure that the field used points to accessible storage.

RC2161
(2161)
Explanation:

An MQI call was issued, but the call failed because the queue manager is quiescing (preparing to shut down).

When the queue manager is quiescing, the MQOPEN, MQPUT, MQPUT1, and MQGET calls can still complete successfully, but the application can request that they fail by specifying the appropriate option on the call:

  • OOFIQ on MQOPEN

  • PMFIQ on MQPUT or MQPUT1

  • GMFIQ on MQGET

Specifying these options enables the application to become aware that the queue manager is preparing to shut down.

On i5/OS for applications running in compatibility mode, this reason can be returned when no connection was established.

Completion Code:

CCFAIL

Programmer Response:

The application should tidy up and end. If the application specified the OOFIQ, PMFIQ, or GMFIQ option on the failing call, the relevant option can be removed and the call reissued. By omitting these options, the application can continue working in order to complete and commit the current unit of work, but the application should not start a new unit of work.

RC2162
(2162)
Explanation:

An MQI call was issued, but the call failed because the queue manager is shutting down. If the call was an MQGET call with the GMWT option, the wait has been canceled. No more MQI calls can be issued.

For MQ client applications, it is possible that the call did complete successfully, even though this reason code is returned with a CMPCOD of CCFAIL.

Completion Code:

CCFAIL

Programmer Response:

The application should tidy up and end. If the application is in the middle of a unit of work coordinated by an external unit-of-work coordinator, the application should issue the appropriate call to back out the unit of work. Any unit of work that is coordinated by the queue manager is backed out automatically.

RC2173
(2173)
Explanation:

On an MQPUT or MQPUT1 call, the MQPMO structure is not valid, for one of the following reasons:

  • The PMSID field is not PMSIDV.

  • The PMVER field specifies a value that is not valid or not supported.

  • The parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The queue manager cannot copy the changed structure to application storage, even though the call is successful. This can occur, for example, if the pointer points to read-only storage.

Completion Code:

CCFAIL

Programmer Response:

Ensure that input fields in the MQPMO structure are set correctly.

RC2184
(2184)
Explanation:

On an MQOPEN or MQPUT1 call, one of the following occurred:

  • A local definition of a remote queue (or an alias to one) was specified, but the RemoteQName attribute in the remote queue definition is entirely blank. Note that this error occurs even if the XmitQName in the definition is not blank.

  • The ODMN field in the object descriptor is not blank and not the name of the local queue manager, but the ODON field is blank.

Completion Code:

CCFAIL

Programmer Response:

Alter the local definition of the remote queue and supply a valid remote queue name, or supply a nonblank ODON in the object descriptor, as appropriate.

RC2185
(2185)
Explanation:

An MQPUT call was issued to put a message in a group or a segment of a logical message, but the value specified or defaulted for the MDPER field in MQMD is not consistent with the current group and segment information retained by the queue manager for the queue handle. All messages in a group and all segments in a logical message must have the same value for persistence, that is, all must be persistent, or all must be nonpersistent.

If the current call specifies PMLOGO, the call fails. If the current call does not specify PMLOGO, but the previous MQPUT call for the queue handle did, the call succeeds with completion code CCWARN.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Modify the application to ensure that the same value of persistence is used for all messages in the group, or all segments of the logical message.

RC2186
(2186)
Explanation:

On an MQGET call, the MQGMO structure is not valid, for one of the following reasons:

  • The GMSID field is not GMSIDV.

  • The GMVER field specifies a value that is not valid or not supported.

  • The parameter pointer is not valid. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

  • The queue manager cannot copy the changed structure to application storage, even though the call is successful. This can occur, for example, if the pointer points to read-only storage.

Completion Code:

CCFAIL

Programmer Response:

Ensure that input fields in the MQGMO structure are set correctly.

RC2187
(2187)
Explanation:

It is not permitted to issue MQI calls from user transactions that are run in an MQ/CICS-bridge environment where the bridge exit also issues MQI calls. The MQI call fails. If this occurs in the bridge exit, it will result in a transaction abend. If it occurs in the user transaction, this may result in a transaction abend.

Completion Code:

CCFAIL

Programmer Response:

The transaction cannot be run using the MQ/CICS bridge. Refer to the appropriate CICS manual for information about restrictions in the MQ/CICS bridge environment.

RC2188
(2188)
Explanation:

An MQOPEN, MQPUT, or MQPUT1 call was issued to open or put a message on a cluster queue, but the cluster workload exit rejected the call.

Completion Code:

CCFAIL

Programmer Response:

Check the cluster workload exit to ensure that it has been written correctly. Determine why it rejected the call and correct the problem.

RC2189
(2189)
Explanation:

An MQOPEN, MQPUT, or MQPUT1 call was issued to open or put a message on a cluster queue, but the queue definition could not be resolved correctly because a response was required from the repository manager but none was available.

Completion Code:

CCFAIL

Programmer Response:

Check that the repository manager is operating and that the queue and channel definitions are correct.

RC2190
(2190)
Explanation:

On an MQGET call with the GMCONV option included in the GMO parameter, a string in a fixed-length field in the message expanded during data conversion and exceeded the size of the field. When this happens, the queue manager tries discarding trailing blank characters and characters following the first null character in order to make the string fit, but in this case there were insufficient characters that could be discarded.

This reason code can also occur for messages with a format name of FMIMVS. When this happens, it indicates that the IMS variable string expanded such that its length exceeded the capacity of the 2-byte binary length field contained within the structure of the IMS variable string. (The queue manager never discards trailing blanks in an IMS variable string.)

The message is returned unconverted, with the CMPCOD parameter of the MQGET call set to CCWARN. If the message consists of several parts, each of which is described by its own character-set and encoding fields (for example, a message with format name FMDLH), some parts may be converted and other parts not converted. However, the values returned in the various character-set and encoding fields always correctly describe the relevant message data.

This reason code does not occur if the string could be made to fit by discarding trailing blank characters.

Completion Code:

CCWARN

Programmer Response:

Check that the fields in the message contain the correct values, and that the character-set identifiers specified by the sender and receiver of the message are correct. If they are, the layout of the data in the message must be modified to increase the lengths of the field(s) so that there is sufficient space to allow the string(s) to expand when converted.

RC2191
(2191)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQTMC2 structure that is not valid. Possible errors include the following:

  • The MESID field is not TCSIDV.

  • The MEVER field is not TCVER2.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2194
(2194)
Explanation:

An MQOPEN call was issued to open the queue manager definition, but the ODON field in the OBJDSC parameter is not blank.

Completion Code:

CCFAIL

Programmer Response:

Ensure that the ODON field is set to blanks.

RC2195
(2195)
Explanation:

The call was rejected because an unexpected error occurred.

Completion Code:

CCFAIL

Programmer Response:

Check the application's parameter list to ensure, for example, that the correct number of parameters was passed, and that data pointers and storage keys are valid. If the problem cannot be resolved, contact your system programmer.

Consult the FFST record to obtain more detail about the problem.

RC2196
(2196)
Explanation:

On an MQOPEN or MQPUT1 call, a message is to be sent to a remote queue manager. The ODON or the ODMN in the object descriptor specifies the name of a local definition of a remote queue (in the latter case queue manager aliasing is being used), but the XmitQName attribute of the definition is not blank and not the name of a locally-defined queue.

Completion Code:

CCFAIL

Programmer Response:

Check the values specified for ODON and ODMN. If these are correct, check the queue definitions. For more information on transmission queues, see the WebSphere MQ Application Programming Guide.

RC2197
(2197)
Explanation:

An MQOPEN or MQPUT1 call was issued specifying a remote queue as the destination. If a local definition of the remote queue was specified, or if a queue manager alias is being resolved, the XmitQName attribute in the local definition is blank.

Because there is no queue defined with the same name as the destination queue manager, the queue manager has attempted to use the default transmission queue. However, the name defined by the DefXmitQName queue manager attribute is not the name of a locally-defined queue.

Completion Code:

CCFAIL

Programmer Response:

Correct the queue definitions, or the queue manager attribute. See the WebSphere MQ Application Programming Guide for more information.

RC2198
(2198)
Explanation:

An MQOPEN or MQPUT1 call was issued specifying a remote queue as the destination. Either a local definition of the remote queue was specified, or a queue manager alias was being resolved, but in either case the XmitQName attribute in the local definition is blank.

Because there is no transmission queue defined with the same name as the destination queue manager, the local queue manager has attempted to use the default transmission queue. However, although there is a queue defined by the DefXmitQName queue manager attribute, it is not a local queue.

Completion Code:

CCFAIL

Programmer Response:

Do one of the following:

  • Specify a local transmission queue as the value of the XmitQName attribute in the local definition of the remote queue.

  • Define a local transmission queue with a name that is the same as that of the remote queue manager.

  • Specify a local transmission queue as the value of the DefXmitQName queue manager attribute.

See the WebSphere MQ Application Programming Guide for more information.

RC2199
(2199)
Explanation:

An MQOPEN or MQPUT1 call was issued specifying a remote queue as the destination. Either a local definition of the remote queue was specified, or a queue manager alias was being resolved, but in either case the XmitQName attribute in the local definition is blank.

Because there is no transmission queue defined with the same name as the destination queue manager, the local queue manager has attempted to use the default transmission queue. However, the queue defined by the DefXmitQName queue manager attribute does not have a Usage attribute of USTRAN.

Completion Code:

CCFAIL

Programmer Response:

Do one of the following:

  • Specify a local transmission queue as the value of the XmitQName attribute in the local definition of the remote queue.

  • Define a local transmission queue with a name that is the same as that of the remote queue manager.

  • Specify a different local transmission queue as the value of the DefXmitQName queue manager attribute.

  • Change the Usage attribute of the DefXmitQName queue to USTRAN.

See the WebSphere MQ Application Programming Guide for more information.

RC2209
(2209)
Explanation:

An MQGET call was issued with the GMUNLK option, but no message was currently locked.

Completion Code:

CCWARN

Programmer Response:

Check that a message was locked by an earlier MQGET call with the GMLK option for the same handle, and that no intervening call has caused the message to become unlocked.

RC2218
(2218)
Explanation:

A message was put to a remote queue, but the message is larger than the maximum message length allowed by the channel. This reason code is returned in the MDFB field in the message descriptor of a report message.

Completion Code:

CCFAIL

Programmer Response:

Check the channel definitions. Increase the maximum message length that the channel can accept, or break the message into several smaller messages.

RC2219
(2219)
Explanation:

The application issued an MQI call whilst another MQI call was already being processed for that connection. Only one call per application connection can be processed at a time.

Concurrent calls can arise when an application uses multiple threads, or when an exit is invoked as part of the processing of an MQI call. For example, a data-conversion exit invoked as part of the processing of the MQGET call may try to issue an MQI call.

Completion Code:

CCFAIL

Programmer Response:

Ensure that an MQI call cannot be issued while another one is active. Do not issue MQI calls from within a data-conversion exit.

RC2220
(2220)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQRMH structure that is not valid. Possible errors include the following:

  • The MESID field is not RMSIDV.

  • The MEVER field is not RMVER1.

  • The MELEN field specifies a value that is too small to include the structure plus the variable-length data at the end of the structure.

  • The MECSI field is zero, or a negative value that is not valid.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly. Ensure that the application sets the MECSI field to a valid value (note: CSDEF, CSEMBD, CSQM, and CSUNDF are not valid in this field).

RC2222
(2222)
Explanation:

This condition is detected when a queue manager becomes active.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2223
(2223)
Explanation:

This condition is detected when a queue manager is requested to stop or quiesce.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2224
(2224)
Explanation:

An MQPUT or MQPUT1 call has caused the queue depth to be incremented to or above the limit specified in the QDepthHighLimit attribute.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2225
(2225)
Explanation:

An MQGET call has caused the queue depth to be decremented to or below the limit specified in the QDepthLowLimit attribute.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2226
(2226)
Explanation:

No successful gets or puts have been detected within an interval that is greater than the limit specified in the QServiceInterval attribute.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2227
(2227)
Explanation:

A successful get has been detected within an interval that is less than or equal to the limit specified in the QServiceInterval attribute.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2232
(2232)
Explanation:

An MQGET, MQPUT or MQPUT1 call was issued to get or put a message within a unit of work, but no TM/MP transaction had been started. If GMNSYP is not specified on MQGET, or PMNSYP is not specified on MQPUT or MQPUT1 (the default), the call requires a unit of work.

Completion Code:

CCFAIL

Programmer Response:

Ensure a TM/MP transaction is available, or issue the MQGET call with the GMNSYP option, or the MQPUT or MQPUT1 call with the PMNSYP option, which will cause a transaction to be started automatically.

RC2233
(2233)
Explanation:

This condition is detected when the automatic definition of a channel is successful. The channel is defined by the MCA.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2234
(2234)
Explanation:

This condition is detected when the automatic definition of a channel fails; this may be because an error occurred during the definition process, or because the channel automatic-definition exit inhibited the definition. Additional information is returned in the event message indicating the reason for the failure.

Completion Code:

CCWARN

Programmer Response:

Examine the additional information returned in the event message to determine the reason for the failure.

RC2235
(2235)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQCFH structure that is not valid.

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2236
(2236)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQCFIL structure that is not valid.

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2237
(2237)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQCFIN structure that is not valid.

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2238
(2238)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQCFSL structure that is not valid.

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2239
(2239)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQCFST structure that is not valid.

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2241
(2241)
Explanation:

An operation was attempted on a queue using a queue handle that had an incomplete message group. This reason code can arise in the following situations:

  • On the MQPUT call, when the application specifies PMLOGO and attempts to put a message that is not in a group. The completion code is CCFAIL in this case.

  • On the MQPUT call, when the application does not specify PMLOGO, but the previous MQPUT call for the queue handle did specify PMLOGO. The completion code is CCWARN in this case.

  • On the MQGET call, when the application does not specify GMLOGO, but the previous MQGET call for the queue handle did specify GMLOGO. The completion code is CCWARN in this case.

  • On the MQCLOSE call, when the application attempts to close the queue that has the incomplete message group. The completion code is CCWARN in this case.

If there is an incomplete logical message as well as an incomplete message group, reason code RC2242 is returned in preference to RC2241.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

If this reason code is expected, no corrective action is required. Otherwise, ensure that the MQPUT call for the last message in the group specifies MFLMIG.

RC2242
(2242)
Explanation:

An operation was attempted on a queue using a queue handle that had an incomplete logical message. This reason code can arise in the following situations:

  • On the MQPUT call, when the application specifies PMLOGO and attempts to put a message that is not a segment, or that has a setting for the MFLMIG flag that is different from the previous message. The completion code is CCFAIL in this case.

  • On the MQPUT call, when the application does not specify PMLOGO, but the previous MQPUT call for the queue handle did specify PMLOGO. The completion code is CCWARN in this case.

  • On the MQGET call, when the application does not specify GMLOGO, but the previous MQGET call for the queue handle did specify GMLOGO. The completion code is CCWARN in this case.

  • On the MQCLOSE call, when the application attempts to close the queue that has the incomplete logical message. The completion code is CCWARN in this case.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

If this reason code is expected, no corrective action is required. Otherwise, ensure that the MQPUT call for the last segment specifies MFLSEG.

RC2243
(2243)
Explanation:

An MQGET call was issued specifying the GMCMPM option, but the message to be retrieved consists of two or more segments that have differing values for the MDCSI field in MQMD. This can arise when the segments take different paths through the network, and some of those paths have MCA sender conversion enabled. The call succeeds with a completion code of CCWARN, but only the first few segments that have identical character-set identifiers are returned.

Completion Code:

CCWARN

Programmer Response:

Remove the GMCMPM option from the MQGET call and retrieve the remaining message segments one by one.

RC2244
(2244)
Explanation:

An MQGET call was issued specifying the GMCMPM option, but the message to be retrieved consists of two or more segments that have differing values for the MDENC field in MQMD. This can arise when the segments take different paths through the network, and some of those paths have MCA sender conversion enabled. The call succeeds with a completion code of CCWARN, but only the first few segments that have identical encodings are returned.

Completion Code:

CCWARN

Programmer Response:

Remove the GMCMPM option from the MQGET call and retrieve the remaining message segments one by one.

RC2245
(2245)
Explanation:

One of the following applies:

  • An MQPUT call was issued to put a message in a group or a segment of a logical message, but the value specified or defaulted for the PMSYP option is not consistent with the current group and segment information retained by the queue manager for the queue handle.

    If the current call specifies PMLOGO, the call fails. If the current call does not specify PMLOGO, but the previous MQPUT call for the queue handle did, the call succeeds with completion code CCWARN.

  • An MQGET call was issued to remove from the queue a message in a group or a segment of a logical message, but the value specified or defaulted for the GMSYP option is not consistent with the current group and segment information retained by the queue manager for the queue handle.

    If the current call specifies GMLOGO, the call fails. If the current call does not specify GMLOGO, but the previous MQGET call for the queue handle did, the call succeeds with completion code CCWARN.

Completion Code:

CCWARN or CCFAIL

Programmer Response:

Modify the application to ensure that the same unit-of-work specification is used for all messages in the group, or all segments of the logical message.

RC2246
(2246)
Explanation:

An MQGET call was issued specifying the GMCMPM option with either GMMUC or GMBRWC, but the message that is under the cursor has an MQMD with an MDOFF field that is greater than zero. Because GMCMPM was specified, the message is not valid for retrieval.

Completion Code:

CCFAIL

Programmer Response:

Reposition the browse cursor so that it is located on a message whose MDOFF field in MQMD is zero. Alternatively, remove the GMCMPM option.

RC2247
(2247)
Explanation:

An MQGET call was issued, but the value of the GMMO field in the GMO parameter is not valid, for one of the following reasons:

  • An undefined option is specified.

  • All of the following are true:

    • GMLOGO is specified.

    • There is a current message group or logical message for the queue handle.

    • Neither GMBRWC nor GMMUC is specified.

    • One or more of the MO* options is specified.

    • The values of the fields in the MSGDSC parameter corresponding to the MO* options specified, differ from the values of those fields in the MQMD for the message to be returned next.

Completion Code:

CCFAIL

Programmer Response:

Ensure that only valid options are specified for the field.

RC2248
(2248)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQMDE structure that is not valid. Possible errors include the following:

  • The MESID field is not MESIDV.

  • The MEVER field is not MEVER2.

  • The MELEN field is not MELEN2.

  • The MECSI field is zero, or a negative value that is not valid.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly. Ensure that the application sets the MECSI field to a valid value (note: CSDEF, CSEMBD, CSQM, and CSUNDF are not valid in this field).

RC2249
(2249)
Explanation:

An MQPUT or MQPUT1 call was issued, but the MDMFL field in the message descriptor MQMD contains one or more message flags that are not recognized by the local queue manager. The message flags that cause this reason code to be returned depend on the destination of the message; see Appendix D. Report options and message flags for more details.

This reason code can also occur in the MDFB field in the MQMD of a report message, or in the DLREA field in the MQDLH structure of a message on the dead-letter queue; in both cases it indicates that the destination queue manager does not support one or more of the message flags specified by the sender of the message.

Completion Code:

CCFAIL

Programmer Response:

Do the following:

  • Ensure that the MDMFL field in the message descriptor is initialized with a value when the message descriptor is declared, or is assigned a value prior to the MQPUT or MQPUT1 call. Specify MFNONE if no message flags are needed.

  • Ensure that the message flags specified are ones that are documented in this book; see the MDMFL field described in MQMD - Message descriptor for valid message flags. Remove any message flags that are not documented in this book.

  • If multiple message flags are being set by adding the individual message flags together, ensure that the same message flag is not added twice.

RC2250
(2250)
Explanation:

An MQGET, MQPUT, or MQPUT1 call was issued, but the value of the MDSEQ field in the MQMD or MQMDE structure is less than one or greater than 999 999 999.

This error can also occur on the MQPUT call if the MDSEQ field would have become greater than 999 999 999 as a result of the call.

Completion Code:

CCFAIL

Programmer Response:

Specify a value in the range 1 through 999 999 999. Do not attempt to create a message group containing more than 999 999 999 messages.

RC2251
(2251)
Explanation:

An MQPUT or MQPUT1 call was issued, but the value of the MDOFF field in the MQMD or MQMDE structure is less than zero or greater than 999 999 999.

This error can also occur on the MQPUT call if the MDOFF field would have become greater than 999 999 999 as a result of the call.

Completion Code:

CCFAIL

Programmer Response:

Specify a value in the range 0 through 999 999 999. Do not attempt to create a message segment that would extend beyond an offset of 999 999 999.

RC2252
(2252)
Explanation:

An MQPUT or MQPUT1 call was issued to put a report message that is a segment, but the MDOLN field in the MQMD or MQMDE structure is either:

  • Less than the length of data in the message, or

  • Less than one (for a segment that is not the last segment), or

  • Less than zero (for a segment that is the last segment)

Completion Code:

CCFAIL

Programmer Response:

Specify a value that is greater than zero. Zero is valid only for the last segment.

RC2253
(2253)
Explanation:

An MQPUT or MQPUT1 call was issued to put the first or an intermediate segment of a logical message, but the length of the application message data in the segment (excluding any MQ headers that may be present) is zero. The length must be at least one for the first or intermediate segment.

Completion Code:

CCFAIL

Programmer Response:

Check the application logic to ensure that segments are put with a length of one or greater. Only the last segment of a logical message is permitted to have a length of zero.

RC2255
(2255)
Explanation:

An MQGET, MQPUT, or MQPUT1 call was issued to get or put a message outside a unit of work, but the options specified on the call required the queue manager to process the call within a unit of work. Because there is already a user-defined unit of work in existence, the queue manager was unable to create a temporary unit of work for the duration of the call.

This reason occurs in the following circumstances:

  • On an MQGET call, when the GMCMPM option is specified in MQGMO and the logical message to be retrieved is persistent and consists of two or more segments.

  • On an MQPUT or MQPUT1 call, when the MFSEGA flag is specified in MQMD and the message requires segmentation.

Completion Code:

CCFAIL

Programmer Response:

Issue the MQGET, MQPUT, or MQPUT1 call inside the user-defined unit of work. Alternatively, for the MQPUT or MQPUT1 call, reduce the size of the message so that it does not require segmentation by the queue manager.

RC2256
(2256)
Explanation:

An MQGET call was issued specifying options that required an MQGMO with a version number not less than GMVER2, but the MQGMO supplied did not satisfy this condition.

Completion Code:

CCFAIL

Programmer Response:

Modify the application to pass a version-2 MQGMO. Check the application logic to ensure that the GMVER field in MQGMO has been set to GMVER2. Alternatively, remove the option that requires the version-2 MQGMO.

RC2257
(2257)
Explanation:

An MQGET, MQPUT, or MQPUT1 call was issued specifying options that required an MQMD with a version number not less than MDVER2, but the MQMD supplied did not satisfy this condition.

Completion Code:

CCFAIL

Programmer Response:

Modify the application to pass a version-2 MQMD. Check the application logic to ensure that the MDVER field in MQMD has been set to MDVER2. Alternatively, remove the option that requires the version-2 MQMD.

RC2258
(2258)
Explanation:

An MQPUT or MQPUT1 call was issued to put a distribution-list message that is also a message in a group, a message segment, or has segmentation allowed, but an invalid combination of options and values was specified. All of the following are true:

  • PMLOGO is not specified in the PMOPT field in MQPMO.

  • Either there are too few MQPMR records provided by MQPMO, or the PRGID field is not present in the MQPMR records.

  • One or more of the following flags is specified in the MDMFL field in MQMD or MQMDE:

    • MFSEGA

    • MF*MIG

    • MF*SEG

  • The MDGID field in MQMD or MQMDE is not GINONE.

This combination of options and values would result in the same group identifier being used for all of the destinations in the distribution list; this is not permitted by the queue manager.

Completion Code:

CCFAIL

Programmer Response:

Specify GINONE for the MDGID field in MQMD or MQMDE. Alternatively, if the call is MQPUT specify PMLOGO in the PMOPT field in MQPMO.

RC2259
(2259)
Explanation:

An MQGET call was issued with the GMBRWN option specified, but the specification of the GMLOGO option for the call is different from the specification of that option for the previous call for the queue handle. Either both calls must specify GMLOGO, or neither call must specify GMLOGO.

Completion Code:

CCFAIL

Programmer Response:

Add or remove the GMLOGO option as appropriate. Alternatively, to switch between logical order and physical order, specify the GMBRWF option to restart the scan from the beginning of the queue, omitting or specifying GMLOGO as required.

RC2260
(2260)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQXQH structure that is not valid. Possible errors include the following:

  • The MESID field is not XQSIDV.

  • The MEVER field is not XQVER1.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2261
(2261)
Explanation:

This reason occurs when a channel exit that processes reference messages detects an error in the source environment data of a reference message header (MQRMH). One of the following is true:

  • RMSEL is less than zero.

  • RMSEL is greater than zero, but there is no source environment data.

  • RMSEL is greater than zero, but RMSEO is negative, zero, or less than the length of the fixed part of MQRMH.

  • RMSEL is greater than zero, but RMSEO plus RMSEL is greater than RMLEN.

The exit returns this reason in the CXFB field of the MQCXP structure. If an exception report is requested, it is copied to the CXFB field of the MQMD associated with the report.

Completion Code:

CCFAIL

Programmer Response:

Specify the source environment data correctly.

RC2262
(2262)
Explanation:

This reason occurs when a channel exit that processes reference messages detects an error in the source name data of a reference message header (MQRMH). One of the following is true:

  • RMSNL is less than zero.

  • RMSNL is greater than zero, but there is no source name data.

  • RMSNL is greater than zero, but RMSNO is negative, zero, or less than the length of the fixed part of MQRMH.

  • RMSNL is greater than zero, but RMSNO plus RMSNL is greater than RMLEN.

The exit returns this reason in the CXFB field of the MQCXP structure. If an exception report is requested, it is copied to the CXFB field of the MQMD associated with the report.

Completion Code:

CCFAIL

Programmer Response:

Specify the source name data correctly.

RC2263
(2263)
Explanation:

This reason occurs when a channel exit that processes reference messages detects an error in the destination environment data of a reference message header (MQRMH). One of the following is true:

  • RMDEL is less than zero.

  • RMDEL is greater than zero, but there is no destination environment data.

  • RMDEL is greater than zero, but RMDEO is negative, zero, or less than the length of the fixed part of MQRMH.

  • RMDEL is greater than zero, but RMDEO plus RMDEL is greater than RMLEN.

The exit returns this reason in the CXFB field of the MQCXP structure. If an exception report is requested, it is copied to the CXFB field of the MQMD associated with the report.

Completion Code:

CCFAIL

Programmer Response:

Specify the destination environment data correctly.

RC2264
(2264)
Explanation:

This reason occurs when a channel exit that processes reference messages detects an error in the destination name data of a reference message header (MQRMH). One of the following is true:

  • RMDNL is less than zero.

  • RMDNL is greater than zero, but there is no destination name data.

  • RMDNL is greater than zero, but RMDNO is negative, zero, or less than the length of the fixed part of MQRMH.

  • RMDNL is greater than zero, but RMDNO plus RMDNL is greater than RMLEN.

The exit returns this reason in the CXFB field of the MQCXP structure. If an exception report is requested, it is copied to the CXFB field of the MQMD associated with the report.

Completion Code:

CCFAIL

Programmer Response:

Specify the destination name data correctly.

RC2265
(2265)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQTM structure that is not valid. Possible errors include the following:

  • The MESID field is not TMSIDV.

  • The MEVER field is not TMVER1.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly.

RC2266
(2266)
Explanation:

An MQOPEN, MQPUT, or MQPUT1 call was issued to open or put a message on a cluster queue, but the cluster workload exit defined by the queue manager's ClusterWorkloadExit attribute failed unexpectedly or did not respond in time. Subsequent MQOPEN, MQPUT, and MQPUT1 calls for this queue handle are processed as though the ClusterWorkloadExit attribute were blank.

Completion Code:

CCFAIL

Programmer Response:

Check the cluster workload exit to ensure that it has been written correctly.

RC2267
(2267)
Explanation:

An MQCONN or MQCONNX call was issued to connect to a queue manager, but the queue manager was unable to load the cluster workload exit. Execution continues without the cluster workload exit.

Completion Code:

CCWARN

Programmer Response:

Ensure that the queue manager's ClusterWorkloadExit attribute has the correct value, and that the exit has been installed into the correct location.

RC2268
(2268)
Explanation:

An MQOPEN call with the OOOUT and OOBNDO options in effect was issued for a cluster queue, but the call failed because all of the following are true:

  • All instances of the cluster queue are currently put-inhibited (that is, all of the queue instances have the InhibitPut attribute set to QAPUTI).

  • There is no local instance of the queue. (If there is a local instance, the MQOPEN call succeeds, even if the local instance is put-inhibited.)

  • There is no cluster workload exit for the queue, or there is a cluster workload exit but it did not choose a queue instance. (If the cluster workload exit does choose a queue instance, the MQOPEN call succeeds, even if that instance is put-inhibited.)

If the OOBNDN option is specified on the MQOPEN call, the call can succeed even if all of the queues in the cluster are put-inhibited. However, a subsequent MQPUT call may fail if all of the queues are still put-inhibited at the time of the MQPUT call.

Completion Code:

CCFAIL

Programmer Response:

If the system design allows put requests to be inhibited for short periods, retry the operation later. If the problem persists, determine why all of the queues in the cluster are put-inhibited.

RC2269
(2269)
Explanation:

An MQOPEN, MQPUT, or MQPUT1 call was issued for a cluster queue, but an error occurred whilst trying to use a resource required for clustering.

Completion Code:

CCFAIL

Programmer Response:

Do the following:

  • Check that the SYSTEM.CLUSTER.* queues are not put inhibited or full.

  • Check the event queues for any events relating to the SYSTEM.CLUSTER.* queues, as these may give guidance as to the nature of the failure.

  • Check that the repository queue manager is available.

RC2270
(2270)
Explanation:

An MQPUT or MQPUT1 call was issued to put a message on a cluster queue, but at the time of the call there were no longer any instances of the queue in the cluster. The message therefore could not be sent.

This situation can occur when OOBNDN is specified on the MQOPEN call that opens the queue, or MQPUT1 is used to put the message.

Completion Code:

CCFAIL

Programmer Response:

Check the queue definition and queue status to determine why all instances of the queue were removed from the cluster. Correct the problem and rerun the application.

RC2272
(2272)
Explanation:

On an MQGET call with the GMCONV option included in the GMO parameter, one or more MQ header structures in the message data could not be converted to the specified target character set or encoding. In this situation, the MQ header structures are converted to the queue manager's character set and encoding, and the application data in the message is converted to the target character set and encoding. On return from the call, the values returned in the various character-set and encoding fields in the MSGDSC parameter and MQ header structures indicate the character set and encoding that apply to each part of the message. The call completes with CCWARN.

This reason code usually occurs when the specified target character set is one that causes the character strings in the MQ header structures to expand beyond the lengths of their fields. Unicode character set UCS-2 is an example of a character set that causes this to happen.

Completion Code:

CCFAIL

Programmer Response:

If this is an expected situation, no corrective action is required.

If this is an unexpected situation, check that the MQ header structures contain valid data. If they do, specify as the target character set a character set that does not cause the strings to expand.

RC2277
(2277)
Explanation:

An MQCONNX call was issued to connect to a queue manager, but the MQCD channel definition structure addressed by the CNCCO or CNCCP field in MQCNO contains data that is not valid. Consult the error log for more information about the nature of the error.

Completion Code:

CCFAIL

Programmer Response:

Ensure that input fields in the MQCD structure are set correctly.

RC2278
(2278)
Explanation:

An MQCONNX call was issued to connect to a queue manager, but the MQCD channel definition structure is not specified correctly. One of the following applies:

  • CNCCO is not zero and CNCCP is not zero and not the null pointer.

  • CNCCP is not a valid pointer.

  • CNCCP or CNCCO points to storage that is not accessible.

Completion Code:

CCFAIL

Programmer Response:

Ensure that at least one of CNCCO and CNCCP is zero. Ensure that the field used points to accessible storage.

RC2279
(2279)
Explanation:

This condition is detected when the channel has been stopped by an operator. The reason qualifier identifies the reasons for stopping.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2282
(2282)
Explanation:

One of the following has occurred:

  • An operator has issued a Start Channel command.

  • An instance of a channel has been successfully established. This condition is detected when Initial Data negotiation is complete and resynchronization has been performed where necessary such that message transfer can proceed.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2283
(2283)
Explanation:

This condition is detected when the channel has been stopped. The reason qualifier identifies the reasons for stopping.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2284
(2284)
Explanation:

This condition is detected when a channel is unable to do data conversion and the MQGET call to get a message from the transmission queue resulted in a data conversion error. The conversion reason code identifies the reason for the failure.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2295
(2295)
Explanation:

This condition is detected when a channel that has been waiting to become active, and for which a Channel Not Activated event has been generated, is now able to become active because an active slot has been released by another channel.

This event is not generated for a channel that is able to become active without waiting for an active slot to be released.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2296
(2296)
Explanation:

This condition is detected when a channel is required to become active, either because it is starting or because it is about to make another attempt to establish connection with its partner. However, it is unable to do so because the limit on the number of active channels has been reached. The channel waits until it is able to take over an active slot released when another channel ceases to be active. At that time a Channel Activated event is generated.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2298
(2298)
Explanation:

The function requested is not available in the current environment.

Completion Code:

CCFAIL

Programmer Response:

Remove the call from the application.

RC2299
(2299)
Explanation:

The Selector parameter has the wrong data type; it must be of type

Long.

Completion Code:

CCFAIL

Programmer Response:

Declare the Selector parameter as Long.

RC2300
(2300)
Explanation:

The mqExecute call was issued, but the value of the MQIASY_TYPE data item in the administration bag is not MQCFT_COMMAND.

Completion Code:

CCFAIL

Programmer Response:

Ensure that the MQIASY_TYPE data item in the administration bag has the value MQCFT_COMMAND.

RC2301
(2301)
Explanation:

The Selector parameter specifies a system selector (one of the MQIASY_* values), but the value of the ItemIndex parameter is not MQIND_NONE. Only one instance of each system selector can exist in the bag.

Completion Code:

CCFAIL

Programmer Response:

Specify MQIND_NONE for the ItemIndex parameter.

RC2302
(2302)
Explanation:

A call was issued to modify the value of a system data item in a bag (a data item with one of the MQIASY_* selectors), but the call failed because the data item is one that cannot be altered by the application.

Completion Code:

CCFAIL

Programmer Response:

Specify the selector of a user-defined data item, or remove the call.

RC2303
(2303)
Explanation:

The mqBufferToBag or mqGetBag call was issued, but the data in the buffer or message could not be converted into a bag. This occurs when the data to be converted is not valid PCF.

Completion Code:

CCFAIL

Programmer Response:

Check the logic of the application that created the buffer or message to ensure that the buffer or message contains valid PCF.

If the message contains PCF that is not valid, the message cannot be retrieved using the mqGetBag call:

  • If one of the GMBRW* options was specified, the message remains on the queue and can be retrieved using the MQGET call.

  • In other cases, the message has already been removed from the queue and discarded. If the message was retrieved within a unit of work, the unit of work can be backed out and the message retrieved using the MQGET call.

RC2304
(2304)
Explanation:

The Selector parameter has a value that is outside the valid range for the call. If the bag was created with the MQCBO_CHECK_SELECTORS option:

  • For the mqAddInteger call, the value must be within the range MQIA_FIRST through MQIA_LAST.

  • For the mqAddString call, the value must be within the range MQCA_FIRST through MQCA_LAST.

If the bag was not created with the MQCBO_CHECK_SELECTORS option. The value must be zero or greater.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid value.

RC2305
(2305)
Explanation:

The ItemIndex parameter has the value MQIND_NONE, but the bag contains more than one data item with the selector value specified by the Selector parameter. MQIND_NONE requires that the bag contain only one occurrence of the specified selector.

This reason code also occurs on the mqExecute call when the administration bag contains two or more occurrences of a selector for a required parameter that permits only one occurrence.

Completion Code:

CCFAIL

Programmer Response:

Check the logic of the application that created the bag. If correct, specify for ItemIndex a value that is zero or greater, and add application logic to process all of the occurrences of the selector in the bag.

Review the description of the administration command being issued, and ensure that all required parameters are defined correctly in the bag.

RC2306
(2306)
Explanation:

The specified index is not present:

  • For a bag, this means that the bag contains one or more data items that have the selector value specified by the Selector parameter, but none of them has the index value specified by the ItemIndex parameter. The data item identified by the Selector and ItemIndex parameters must exist in the bag.

  • For a namelist, this means that the index parameter value is too large, and outside the range of valid values.

Completion Code:

CCFAIL

Programmer Response:

Specify the index of a data item that does exist in the bag or namelist. Use the mqCountItems call to determine the number of data items with the specified selector that exist in the bag, or the nameCount method to determine the number of names in the namelist.

RC2307
(2307)
Explanation:

The String parameter is not valid. Either the parameter pointer is not valid, or it points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2308
(2308)
Explanation:

The MDENC field in the message descriptor MQMD contains a value that is not supported:

  • For the mqPutBag call, the field in error resides in the MsgDesc parameter of the call.

  • For the mqGetBag call, the field in error resides in:

    • The MsgDesc parameter of the call if the GMCONV option was specified.

    • The message descriptor of the message about to be retrieved if GMCONV was not specified.

Completion Code:

CCFAIL

Programmer Response:

The value must be ENNAT.

If the value of the MDENC field in the message is not valid, the message cannot be retrieved using the mqGetBag call:

  • If one of the GMBRW* options was specified, the message remains on the queue and can be retrieved using the MQGET call.

  • In other cases, the message has already been removed from the queue and discarded. If the message was retrieved within a unit of work, the unit of work can be backed out and the message retrieved using the MQGET call.

RC2309
(2309)
Explanation:

The Selector parameter specifies a selector that does not exist in the bag.

Completion Code:

CCFAIL

Programmer Response:

Specify a selector that does exist in the bag.

RC2310
(2310)
Explanation:

The OutSelector parameter is not valid. Either the parameter pointer is not valid, or it points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2311
(2311)
Explanation:

The string returned by the call is too long to fit in the buffer provided. The string has been truncated to fit in the buffer.

Completion Code:

CCFAIL

Programmer Response:

If the entire string is required, provide a larger buffer. On the mqInquireString call, the StringLength parameter is set by the call to indicate the size of the buffer required to accommodate the string without truncation.

RC2312
(2312)
Explanation:

A data item with the specified selector exists in the bag, but has a data type that conflicts with the data type implied by the call being used. For example, the data item might have an integer data type, but the call being used might be mqSetString, which implies a character data type.

This reason code also occurs on the mqBagToBuffer, mqExecute, and mqPutBag calls when mqAddString or mqSetString was used to add the MQIACF_INQUIRY data item to the bag.

Completion Code:

CCFAIL

Programmer Response:

For the mqSetInteger and mqSetString calls, specify MQIND_ALL for the ItemIndex parameter to delete from the bag all existing occurrences of the specified selector before creating the new occurrence with the required data type.

For the mqInquireBag, mqInquireInteger, and mqInquireString calls, use the mqInquireItemInfo call to determine the data type of the item with the specified selector, and then use the appropriate call to determine the value of the data item.

For the mqBagToBuffer, mqExecute, and mqPutBag calls, ensure that the MQIACF_INQUIRY data item is added to the bag using the mqAddInteger or mqSetInteger calls.

RC2313
(2313)
Explanation:

The mqAddInteger or mqAddString call was issued to add another occurrence of the specified selector to the bag, but the data type of this occurrence differed from the data type of the first occurrence.

This reason can also occur on the mqBufferToBag and mqGetBag calls, where it indicates that the PCF in the buffer or message contains a selector that occurs more than once but with inconsistent data types.

Completion Code:

CCFAIL

Programmer Response:

For the mqAddInteger and mqAddString calls, use the call appropriate to the data type of the first occurrence of that selector in the bag.

For the mqBufferToBag and mqGetBag calls, check the logic of the application that created the buffer or sent the message to ensure that multiple-occurrence selectors occur with only one data type. A message that contains a mixture of data types for a selector cannot be retrieved using the mqGetBag call:

  • If one of the GMBRW* options was specified, the message remains on the queue and can be retrieved using the MQGET call.

  • In other cases, the message has already been removed from the queue and discarded. If the message was retrieved within a unit of work, the unit of work can be backed out and the message retrieved using the MQGET call.

RC2314
(2314)
Explanation:

An index parameter to a call or method has a value that is not valid. The value must be zero or greater. For bag calls, certain MQIND_* values can also be specified:

Completion Code:

CCFAIL

Programmer Response:

Specify a valid value.

RC2315
(2315)
Explanation:

A call was issued to add a data item to a bag, modify the value of an existing data item in a bag, or retrieve a message into a bag, but the call failed because the bag is one that had been created by the system as a result of a previous mqExecute call. System bags cannot be modified by the application.

Completion Code:

CCFAIL

Programmer Response:

Specify the handle of a bag created by the application, or remove the call.

RC2316
(2316)
Explanation:

The mqTruncateBag call was issued, but the ItemCount parameter specifies a value that is not valid. The value is either less than zero, or greater than the number of user-defined data items in the bag.

This reason also occurs on the mqCountItems call if the parameter pointer is not valid, or points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Specify a valid value. Use the mqCountItems call to determine the number of user-defined data items in the bag.

RC2317
(2317)
Explanation:

The MDFMT field in the message descriptor MQMD contains a value that is not supported:

  • For the mqPutBag call, the field in error resides in the MsgDesc parameter of the call.

  • For the mqGetBag call, the field in error resides in the message descriptor of the message about to be retrieved.

Completion Code:

CCFAIL

Programmer Response:

The value must be one of the following:

  • FMADMN

  • FMEVNT

  • FMPCF

If the value of the MDFMT field in the message is none of these values, the message cannot be retrieved using the mqGetBag call:

  • If one of the GMBRW* options was specified, the message remains on the queue and can be retrieved using the MQGET call.

  • In other cases, the message has already been removed from the queue and discarded. If the message was retrieved within a unit of work, the unit of work can be backed out and the message retrieved using the MQGET call.

RC2318
(2318)
Explanation:

The Selector parameter specifies a value that is a system selector (a value that is negative), but the system selector is not one that is supported by the call.

Completion Code:

CCFAIL

Programmer Response:

Specify a selector value that is supported.

RC2319
(2319)
Explanation:

The mqInquireBag or mqInquireInteger call was issued, but the ItemValue parameter is not valid. Either the parameter pointer is not valid, or it points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2320
(2320)
Explanation:

A call was issued that has a parameter that is a bag handle, but the handle is not valid. For output parameters, this reason also occurs if the parameter pointer is not valid, or points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2321
(2321)
Explanation:

An administration message requires a parameter that is not present in the administration bag. This reason code occurs only for bags created with the MQCBO_ADMIN_BAG or MQCBO_REORDER_AS_REQUIRED options.

Completion Code:

CCFAIL

Programmer Response:

Review the description of the administration command being issued, and ensure that all required parameters are present in the bag.

RC2322
(2322)
Explanation:

The command server that processes administration commands is not available.

Completion Code:

CCFAIL

Programmer Response:

Start the command server.

RC2323
(2323)
Explanation:

The StringLength parameter is not valid. Either the parameter pointer is not valid, or it points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2324
(2324)
Explanation:

The mqAddInquiry call was used previously to add attribute selectors to the bag, but the command code to be used for the mqBagToBuffer, mqExecute, or mqPutBag call is not recognized. As a result, the correct PCF message cannot be generated.

Completion Code:

CCFAIL

Programmer Response:

Remove the mqAddInquiry calls and use instead the mqAddInteger call with the appropriate MQIACF_*_ATTRS or MQIACH_*_ATTRS selectors.

RC2325
(2325)
Explanation:

A bag that is input to the call contains nested bags. Nested bags are supported only for bags that are output from the call.

Completion Code:

CCFAIL

Programmer Response:

Use a different bag as input to the call.

RC2326
(2326)
Explanation:

The Bag parameter specifies the handle of a bag that has the wrong type for the call. The bag must be an administration bag, that is, it must be created with the MQCBO_ADMIN_BAG option specified on the mqCreateBag call.

Completion Code:

CCFAIL

Programmer Response:

Specify the MQCBO_ADMIN_BAG option when the bag is created.

RC2327
(2327)
Explanation:

The mqInquireItemInfo call was issued, but the ItemType parameter is not valid. Either the parameter pointer is not valid, or it points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2328
(2328)
Explanation:

An mqDeleteBag call was issued to delete a bag, but the call failed because the bag is one that had been created by the system as a result of a previous mqExecute call. System bags cannot be deleted by the application.

Completion Code:

CCFAIL

Programmer Response:

Specify the handle of a bag created by the application, or remove the call.

RC2329
(2329)
Explanation:

A call was issued to delete a system data item from a bag (a data item with one of the MQIASY_* selectors), but the call failed because the data item is one that cannot be deleted by the application.

Completion Code:

CCFAIL

Programmer Response:

Specify the selector of a user-defined data item, or remove the call.

RC2330
(2330)
Explanation:

The CodedCharSetId parameter is not valid. Either the parameter pointer is not valid, or it points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2334
(2334)
Explanation:

An MQPUT or MQPUT1 call was issued, but the message data contains an MQRFH or MQRFH2 structure that is not valid. Possible errors include the following:

  • The MESID field is not RFSIDV.

  • The MEVER field is not RFVER1 (MQRFH), or RFVER2 (MQRFH2).

  • The MELEN field specifies a value that is too small to include the structure plus the variable-length data at the end of the structure.

  • The MECSI field is zero, or a negative value that is not valid.

  • The BUFLEN parameter of the call has a value that is too small to accommodate the structure (the structure extends beyond the end of the message).

Completion Code:

CCFAIL

Programmer Response:

Check that the fields in the structure are set correctly. Ensure that the application sets the MECSI field to a valid value (note: CSDEF, CSEMBD, CSQM, and CSUNDF are not valid in this field).

RC2335
(2335)
Explanation:

The contents of the RFNVS field in the MQRFH structure are not valid. RFNVS must adhere to the following rules:

  • The string must consist of zero or more name/value pairs separated from each other by one or more blanks; the blanks are not significant.

  • If a name or value contains blanks that are significant, the name or value must be enclosed in double-quote characters.

  • If a name or value itself contains one or more double-quote characters, the name or value must be enclosed in double-quote characters, and each embedded double-quote character must be doubled.

  • A name or value can contain any characters other than the null, which acts as a delimiter. The null and characters following it, up to the defined length of RFNVS, are ignored.

The following is a valid RFNVS:

Famous_Words "Program displayed ""Hello World"""
Completion Code:

CCFAIL

Programmer Response:

Modify the application that generated the message to ensure that it places in the RFNVS field data that adheres to the rules listed above. Check that the RFLEN field is set to the correct value.

RC2336
(2336)
Explanation:

The message contains an MQRFH structure, but the command name contained in the RFNVS field is not valid.

Completion Code:

CCFAIL

Programmer Response:

Modify the application that generated the message to ensure that it places in the RFNVS field a command name that is valid.

RC2337
(2337)
Explanation:

The message contains an MQRFH structure, but a parameter name contained in the RFNVS field is not valid for the command specified.

Completion Code:

CCFAIL

Programmer Response:

Modify the application that generated the message to ensure that it places in the RFNVS field only parameters that are valid for the specified command.

RC2338
(2338)
Explanation:

The message contains an MQRFH structure, but a parameter occurs more than once in the RFNVS field when only one occurrence is valid for the specified command.

Completion Code:

CCFAIL

Programmer Response:

Modify the application that generated the message to ensure that it places in the RFNVS field only one occurrence of the parameter.

RC2339
(2339)
Explanation:

The message contains an MQRFH structure, but the command specified in the RFNVS field requires a parameter that is not present.

Completion Code:

CCFAIL

Programmer Response:

Modify the application that generated the message to ensure that it places in the RFNVS field all parameters that are required for the specified command.

RC2362
(2362)
Explanation:

This reason code occurs only in the DLREA field in an MQDLH structure, or in the MDFB field in the MQMD of a report message.

A JMS ConnectionConsumer found a message that exceeds the queue's backout threshold. The queue does not have a backout requeue queue defined, so the message was processed as specified by the disposition options in the MDREP field in the MQMD of the message.

On queue managers that do not support the BackoutThreshold and BackoutRequeueQName queue attributes, JMS ConnectionConsumer uses a value of 20 for the backout threshold. When the MDBOC of a message reaches this threshold, the message is processed as specified by the disposition options.

If the MDREP field specifies one of the ROEXC* options, this reason code appears in the MDFB field of the report message. If the MDREP field specifies RODLQ, or the disposition report options are left as default, this reason code appears in the DLREA field of the MQDLH.

Completion Code:

None

Programmer Response:

Investigate the cause of the backout count being greater than the threshold. To correct this, define the backout queue for the queue concerned.

RC2363
(2363)
Explanation:

This reason code occurs only in the DLREA field in an MQDLH structure, or in the MDFB field in the MQMD of a report message.

While performing Point-to-Point messaging, JMS encountered a message matching none of the selectors of ConnectionConsumers monitoring the queue. To maintain performance, the message was processed as specified by the disposition options in the MDREP field in the MQMD of the message.

If the MDREP field specifies one of the ROEXC* options, this reason code appears in the MDFB field of the report message. If the MDREP field specifies RODLQ, or the disposition report options are left as default, this reason code appears in the DLREA field of the MQDLH.

Completion Code:

None

Programmer Response:

To correct this, ensure that the ConnectionConsumers monitoring the queue provide a complete set of selectors. Alternatively, set the QueueConnectionFactory to retain messages.

RC2364
(2364)
Explanation:

This reason code is generated when JMS encounters a message that it is unable to parse. If such a message is encountered by a JMS ConnectionConsumer, the message is processed as specified by the disposition options in the MDREP field in the MQMD of the message.

If the MDREP field specifies one of the ROEXC* options, this reason code appears in the MDFB field of the report message. If the MDREP field specifies RODLQ, or the disposition report options are left as default, this reason code appears in the DLREA field of the MQDLH.

Completion Code:

None

Programmer Response:

Investigate the origin of the message.

RC2367
(2367)
Explanation:

This condition is detected when an object is created.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2368
(2368)
Explanation:

This condition is detected when an object is changed.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2369
(2369)
Explanation:

This condition is detected when an object is deleted.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2370
(2370)
Explanation:

This condition is detected when an object is refreshed.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2371
(2371)
Explanation:

This condition is detected when a connection cannot be established due to an SSL key-exchange or authentication failure.

Completion Code:

CCWARN

Programmer Response:

None. This reason code is only used to identify the corresponding event message.

RC2374
(2374)
Explanation:

An API exit function returned an invalid response code, or failed in some other way.

Completion Code:

CCFAIL

Programmer Response:

Check the exit code to ensure that the exit is returning valid values. Consult the FFST record to see if it contains more detail about the problem.

RC2375
(2375)
Explanation:

The queue manager encountered an error while attempting to initialize the execution environment for an API exit function.

Completion Code:

CCFAIL

Programmer Response:

Consult the FFST record to obtain more detail about the problem.

RC2376
(2376)
Explanation:

The queue manager encountered an error while attempting to terminate the execution environment for an API exit function.

Completion Code:

CCFAIL

Programmer Response:

Consult the FFST record to obtain more detail about the problem.

RC2380
(2380)
Explanation:

On an MQCONNX call, the MQSCO structure is not valid for one of the following reasons:

  • The SCSID field is not SCSIDV.

  • The SCVER field is not SCVER1.

Completion Code:

CCFAIL

Programmer Response:

Correct the definition of the MQSCO structure.

RC2381
(2381)
Explanation:

On an MQCONN or MQCONNX call, the location of the key repository is either not specified, not valid, or results in an error when used to access the key repository. The location of the key repository is specified by one of the following:

  • The value of the MQSSLKEYR environment variable (MQCONN or MQCONNX call), or

  • The value of the SCKR field in the MQSCO structure (MQCONNX call only).

For the MQCONNX call, if both MQSSLKEYR and SCKR are specified, the latter is used.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid location for the key repository.

RC2382
(2382)
Explanation:

On an MQCONN or MQCONNX call, the configuration string for the cryptographic hardware is not valid, or results in an error when used to configure the cryptographic hardware. The configuration string is specified by one of the following:

  • The value of the MQSSLCRYP environment variable (MQCONN or MQCONNX call), or

  • The value of the SCCH field in the MQSCO structure (MQCONNX call only).

For the MQCONNX call, if both MQSSLCRYP and SCCH are specified, SCCH is used.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid configuration string for the cryptographic hardware.

RC2383
(2383)
Explanation:

On an MQCONNX call, the SCAIC field in the MQSCO structure specifies a value that is less than zero.

Completion Code:

CCFAIL

Programmer Response:

Specify a value for SCAIC that is zero or greater.

RC2384
(2384)
Explanation:

On an MQCONNX call, the MQSCO structure does not specify the address of the MQAIR records correctly. One of the following applies:

  • SCAIC is greater than zero, but SCAIO is zero and SCAIP is the null pointer.

  • SCAIO is not zero and SCAIP is not the null pointer.

  • SCAIP is not a valid pointer.

  • SCAIO or SCAIP points to storage that is not accessible.

Completion Code:

CCFAIL

Programmer Response:

Ensure that one of SCAIO or SCAIP is zero and the other nonzero. Ensure that the field used points to accessible storage.

RC2385
(2385)
Explanation:

On an MQCONNX call, an MQAIR record is not valid for one of the following reasons:

  • The AISID field is not AISIDV.

  • The AIVER field is not AIVER1.

Completion Code:

CCFAIL

Programmer Response:

Correct the definition of the MQAIR record.

RC2386
(2386)
Explanation:

On an MQCONNX call, the AITYP field in an MQAIR record specifies a value that is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify AITLDP for AITYP.

RC2387
(2387)
Explanation:

On an MQCONNX call, the AICN field in an MQAIR record specifies a value that is not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid connection name.

RC2388
(2388)
Explanation:

On an MQCONNX call, an LDAP user name in an MQAIR record is not specified correctly. One of the following applies:

  • AILUL is greater than zero, but AILUO is zero and AILUP is the null pointer.

  • AILUO is nonzero and AILUP is not the null pointer.

  • AILUP is not a valid pointer.

  • AILUO or AILUP points to storage that is not accessible.

Completion Code:

CCFAIL

Programmer Response:

Ensure that one of AILUO or AILUP is zero and the other nonzero. Ensure that the field used points to accessible storage.

RC2389
(2389)
Explanation:

On an MQCONNX call, the AILUL field in an MQAIR record specifies a value that is less than zero.

Completion Code:

CCFAIL

Programmer Response:

Specify a value for AILUL that is zero or greater.

RC2390
(2390)
Explanation:

On an MQCONNX call, the AIPW field in an MQAIR record specifies a value when no value is allowed.

Completion Code:

CCFAIL

Programmer Response:

Specify a value that is blank or null.

RC2391
(2391)
Explanation:

An MQCONN or MQCONNX call was issued with SSL configuration options specified, but the SSL environment had already been initialized. The connection to the queue manager completed successfully, but the SSL configuration options specified on the call were ignored; the existing SSL environment was used instead.

Completion Code:

CCWARN

Programmer Response:

If the application must be run with the SSL configuration options defined on the MQCONN or MQCONNX call, use the MQDISC call to sever the connection to the queue manager and then terminate the application. Alternatively, run the application later when the SSL environment has not been initialized.

RC2392
(2392)
Explanation:

On an MQCONNX call, the MQCNO structure does not specify the MQSCO structure correctly. One of the following applies:

  • CNSCO is nonzero and CNSCP is not the null pointer.

  • CNSCP is not a valid pointer.

  • CNSCO or CNSCP points to storage that is not accessible.

Completion Code:

CCFAIL

Programmer Response:

Ensure that one of CNSCO or CNSCP is zero and the other nonzero. Ensure that the field used points to accessible storage.

RC2393
(2393)
Explanation:

An MQCONN or MQCONNX call was issued with SSL configuration options specified, but an error occurred during the initialization of the SSL environment.

Completion Code:

CCFAIL

Programmer Response:

Check that the SSL installation is correct.

RC2396
(2396)
Explanation:

A connection to a queue manager was requested, specifying SSL encryption. However, the connection mode requested is one that does not support SSL (for example, bindings connect).

This reason code occurs only with Java applications.

Completion Code:

CCFAIL

Programmer Response:

Modify the application to request client connection mode, or to disable SSL encryption.

RC2397
(2397)
Explanation:

JSSE reported an error (for example, while connecting to a queue manager using SSL encryption). The MQException object containing this reason code references the Exception thrown by JSSE; this can be obtained by using the MQException.getCause() method. From JMS, the MQException is linked to the thrown JMSException.

This reason code occurs only with Java applications.

Completion Code:

CCFAIL

Programmer Response:

Inspect the causal exception to determine the JSSE error.

RC2398
(2398)
Explanation:

The application attempted to connect to the queue manager using SSL encryption, but the distinguished name presented by the queue manager does not match the specified pattern.

This reason code occurs only with Java applications.

Completion Code:

CCFAIL

Programmer Response:

Check the certificates used to identify the queue manager. Also check the value of the sslPeerName property specified by the application.

RC2399
(2399)
Explanation:

The application specified a peer name of incorrect format.

This reason code occurs only with Java applications.

Completion Code:

CCFAIL

Programmer Response:

Check the value of the sslPeerName property specified by the application.

RC2400
(2400)
Explanation:

A connection to a queue manager was requested, specifying SSL encryption. However, JSSE reported that it does not support the CipherSuite specified by the application.

This reason code occurs only with Java applications.

Completion Code:

CCFAIL

Programmer Response:

Check the CipherSuite specified by the application. Note that the names of JSSE CipherSuites differ from their equivalent CipherSpecs used by the queue manager.

Also, check that JSSE is correctly installed.

RC2401
(2401)
Explanation:

A connection to a queue manager was requested, specifying SSL encryption. However, the certificate presented by the queue manager was found to be revoked by one of the specified CertStores.

This reason code occurs only with Java applications.

Completion Code:

CCFAIL

Programmer Response:

Check the certificates used to identify the queue manager.

RC2402
(2402)
Explanation:

A connection to a queue manager was requested, specifying SSL encryption. However, none of the CertStore objects provided by the application could be searched for the certificate presented by the queue manager. The MQException object containing this reason code references the Exception encountered when searching the first CertStore; this can be obtained using the MQException.getCause() method. From JMS, the MQException is linked to the thrown JMSException.

This reason code occurs only with Java applications.

Completion Code:

CCFAIL

Programmer Response:

Inspect the causal exception to determine the underlying error. Check the CertStore objects provided by your application. If the causal exception is a java.lang.NoSuchElementException, ensure that your application is not specifying an empty collection of CertStore objects.

RC2418
(2418)
Explanation:

The Operator parameter supplied is not valid. If the Operator is an input variable then the operator is not an MQCFOP_* constant value. If the Operator is an output variable then the parameter pointer is not valid, or it points to read-only storage. (It is not always possible to detect parameter pointers that are not valid; if not detected, unpredictable results occur.)

Completion Code:

CCFAIL

Programmer Response:

Correct the parameter.

RC2414
(2414)
Explanation:

On an MQPUT or an MQPUT1 call, a PCF integer or string filter parameter structure MQCF*F in the message data is not valid.

Completion Code:

CCFAIL

Programmer Response:

Correct the definition of the MQCF*F structure. Ensure that the fields are set correctly.

RC2416
(2416)
Explanation:

On an MQPUT or an MQPUT1 call, a PCF group parameter structure MQCFGR in the message data is not valid.

Completion Code:

CCFAIL

Programmer Response:

Correct the definition of the MQCFGR structure, and ensure that the fields are set correctly.

RC3237
(3237)
Explanation:

String length not valid. The MQCFBS StringLength field value was not valid. The value was negative or greater than the maximum permitted length of the parameter specified in the Parameter field.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid string length for the parameter.

RC3235
(3235)
Explanation:

Structure length not valid. The MQCF** StrucLength field value was not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid structure length.

RC3239
(3239)
Explanation:

Parameter count not valid. The MQCFGR ParameterCount field value was not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid parameter count.

RC3236
(3236)
Explanation:

Parameter identifier is not valid. The MQCF** Parameter field value was not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid parameter identifier.

RC3242
(3242)
Explanation:

Operator is not valid. The MQCF** Operator field value was not valid.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid operator.

RC3234
(3234)
Explanation:

Duplicate parameter. A duplicate MQCFBS parameter was detected.

Completion Code:

CCFAIL

Programmer Response:

Check for and remove duplicate parameters.

RC3244
(3244)
Explanation:

Filter value length not valid. The MQCFSF FilterValueLength field value was not valid. The value was negative or greater than the maximum permitted length of the parameter specified in the Parameter field.

Completion Code:

CCFAIL

Programmer Response:

Specify a valid string length for the parameter.

RC3248
(3248)
Explanation:

Too many filters. The command contained more than the maximum permitted number of filter structures.

Completion Code:

CCFAIL

Programmer Response:

Check that no more than the maximum permitted number of filters are contained within the command.