Structure of the report field

The MDREP field is a 32-bit integer that is divided into three separate subfields. These subfields identify:

Each subfield is identified by a bit mask which has 1-bits in the positions corresponding to the subfield, and 0-bits elsewhere. Note that the bits in a subfield are not necessarily adjacent. The bits are numbered such that bit 0 is the most significant bit, and bit 31 the least significant bit. The following masks are defined to identify the subfields:

RORUM

Mask for unsupported report options that are rejected.

This mask identifies the bit positions within the MDREP field where report options which are not supported by the local queue manager will cause the MQPUT or MQPUT1 call to fail with completion code CCFAIL and reason code RC2061.

This subfield occupies bit positions 3, and 11 through 13.

ROAUM

Mask for unsupported report options that are accepted.

This mask identifies the bit positions within the MDREP field where report options which are not supported by the local queue manager will nevertheless be accepted on the MQPUT or MQPUT1 calls. Completion code CCWARN with reason code RC2104 are returned in this case.

This subfield occupies bit positions 0 through 2, 4 through 10, and 24 through 31.

The following report options are included in this subfield:

  • ROCMTC

  • RODLQ

  • RODISC

  • ROEXC

  • ROEXCD

  • ROEXCF

  • ROEXP

  • ROEXPD

  • ROEXPF

  • RONAN

  • RONMI

  • RONONE

  • ROPAN

  • ROPCI

  • ROPMI

ROAUXM

Mask for unsupported report options that are accepted only in certain circumstances.

This mask identifies the bit positions within the MDREP field where report options which are not supported by the local queue manager will nevertheless be accepted on the MQPUT or MQPUT1 calls provided that both of the following conditions are satisfied:

  • The message is destined for a remote queue manager.

  • The application is not putting the message directly on a local transmission queue (that is, the queue identified by the ODMN and ODON fields in the object descriptor specified on the MQOPEN or MQPUT1 call is not a local transmission queue).

Completion code CCWARN with reason code RC2104 are returned if these conditions are satisfied, and CCFAIL with reason code RC2061 if not.

This subfield occupies bit positions 14 through 23.

The following report options are included in this subfield:

  • ROCOA

  • ROCOAD

  • ROCOAF

  • ROCOD

  • ROCODD

  • ROCODF

If there are any options specified in the MDREP field which the queue manager does not recognize, the queue manager checks each subfield in turn by using the bitwise AND operation to combine the MDREP field with the mask for that subfield. If the result of that operation is not zero, the completion code and reason codes described above are returned.

If CCWARN is returned, it is not defined which reason code is returned if other warning conditions exist.

The ability to specify and have accepted report options which are not recognized by the local queue manager is useful when it is desired to send a message with a report option which will be recognized and processed by a remote queue manager.