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 ofPutMsgRecOffset
orPutMsgRecPtr
is nonzero), butPutMsgRecFields
has the value MQPMRF_NONE. - MQPMRF_ACCOUNTING_TOKEN is specified without either MQPMO_SET_IDENTITY_CONTEXT or MQPMO_SET_ALL_CONTEXT.
This reason code occurs in the following environments: AIX®, HP-UX, IBM® i, Solaris, Windows, plus IBM MQ clients connected to these systems.
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.