2158 (086E) (RC2158): MQRC_PMO_RECORD_FLAGS_ERROR


Explanation

An MQPUT or MQPUT1 call was issued to put a message, but the PutMsgRecFields 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, RecsPresent is greater than zero, and one of PutMsgRecOffset or PutMsgRecPtr is nonzero), but PutMsgRecFields has the value MQPMRF_NONE.
  • MQPMRF_ACCOUNTING_TOKEN is specified without either MQPMO_SET_IDENTITY_CONTEXT or MQPMO_SET_ALL_CONTEXT.


Completion code

MQCC_FAILED


Programmer response

Ensure that PutMsgRecFields is set with the appropriate MQPMRF_* flags to indicate which fields are present in the put message records. If MQPMRF_ACCOUNTING_TOKEN is specified, ensure that either MQPMO_SET_IDENTITY_CONTEXT or MQPMO_SET_ALL_CONTEXT is also specified. Alternatively, set both PutMsgRecOffset and PutMsgRecPtr to zero.

Parent topic: API reason codes