Field details for MQMDE

The MQMDE Message descriptor extension structure describes the data that sometimes occurs preceding the application message data. The structure contains those MQMD fields that exist in the version-2 MQMD, but not in the version-1 MQMD.

StrucId (MQCHAR4)

This is the structure identifier of the message descriptor extension structure. It is always an input field. Its value is MQMDE_STRUC_ID.

The value must be:
MQMDE_STRUC_ID
Identifier for the message descriptor extension structure.

For the C programming language, the constant MQMDE_STRUC_ID_ARRAY is also defined. This has the same value as MQMDE_STRUC_ID, but is an array of characters instead of a string.

Version (MQLONG)

This is the structure version number; the value must be:
MQMDE_VERSION_2
Version-2 message descriptor extension structure.
The following constant specifies the version number of the current version:
MQMDE_CURRENT_VERSION
Current version of message descriptor extension structure.

The initial value of this field is MQMDE_VERSION_2.

StrucLength (MQLONG)

This is the length of the MQMDE structure; the following value is defined:
MQMDE_LENGTH_2
Length of version-2 message descriptor extension structure.

The initial value of this field is MQMDE_LENGTH_2.

Encoding (MQLONG)

This specifies the numeric encoding of the data that follows the MQMDE structure; it does not apply to numeric data in the MQMDE structure itself.

On the MQPUT or MQPUT1 call, the application must set this field to the value appropriate to the data. The queue manager does not check that the field is valid. See the Encoding field described in MQMD - Message descriptor for more information about data encodings.

The initial value of this field is MQENC_NATIVE.

CodedCharSetId (MQLONG)

This specifies the character set identifier of the data that follows the MQMDE structure; it does not apply to character data in the MQMDE structure itself.

On the MQPUT or MQPUT1 call, the application must set this field to the value appropriate to the data. The queue manager does not check that this field is valid. The following special value can be used:
MQCCSI_INHERIT
Character data in the data following this structure is in the same character set as this structure.

The queue manager changes this value in the structure sent in the message to the actual character-set identifier of the structure. Provided no error occurs, the value MQCCSI_INHERIT is not returned by the MQGET call.

MQCCSI_INHERIT cannot be used if the value of the PutApplType field in MQMD is MQAT_BROKER.

This value is supported in the following environments:
  • [AIX]AIX®
  • [IBM i]IBM® i
  • [Linux]Linux®
  • [Windows]Windows
and for IBM MQ clients connected to these systems.

The initial value of this field is MQCCSI_UNDEFINED.

Format (MQCHAR8)

This specifies the format name of the data that follows the MQMDE structure.

On the MQPUT or MQPUT1 call, the application must set this field to the value appropriate to the data. The queue manager does not check that this field is valid. See the Format field described inMQMD - Message descriptorfor more information about format names.

The initial value of this field is MQFMT_NONE.

Flags (MQLONG)

The following flag can be specified:
MQMDEF_NONE
No flags.

The initial value of this field is MQMDEF_NONE.

GroupId (MQBYTE24)

See the GroupId field described in MQMD - Message descriptor. The initial value of this field is MQGI_NONE.

MsgSeqNumber (MQLONG)

See the MsgSeqNumber field described in MQMD - Message descriptor. The initial value of this field is 1.

Offset (MQLONG)

See the Offset field described in MQMD - Message descriptor. The initial value of this field is 0.

MsgFlags (MQLONG)

See the MsgFlags field described in MQMD - Message descriptor. The initial value of this field is MQMF_NONE.

OriginalLength (MQLONG)

See the OriginalLength field described in MQMD - Message descriptor. The initial value of this field is MQOL_UNDEFINED.