MDGID (24-byte bit string)

Group identifier.

This is a byte string that is used to identify the particular message group or logical message to which the physical message belongs. MDGID is also used if segmentation is allowed for the message. In all of these cases, MDGID has a non-null value, and one or more of the following flags is set in the MDMFL field:

If none of these flags is set, MDGID has the special null value GINONE.

This field need not be set by the application on the MQPUT or MQGET call if:

These are the recommended ways of using these calls for messages that are not report messages. However, if the application requires more control, or the call is MQPUT1, the application must ensure that MDGID is set to an appropriate value.

Message groups and segments can be processed correctly only if the group identifier is unique. For this reason, applications should not generate their own group identifiers; instead, applications should do one of the following:

On input to the MQPUT and MQPUT1 calls, the queue manager uses the value detailed in Table 31. On output from the MQPUT and MQPUT1 calls, the queue manager sets this field to the value that was sent with the message if the object opened is a single queue and not a distribution list, but leaves it unchanged if the object opened is a distribution list. In the latter case, if the application needs to know the group identifiers generated, the application must provide MQPMR records containing the PRGID field.

On input to the MQGET call, the queue manager uses the value detailed in Table 16. On output from the MQGET call, the queue manager sets this field to the value for the message retrieved.

The following special value is defined:

GINONE

No group identifier specified.

The value is binary zero for the length of the field. This is the value that is used for messages that are not in groups, not segments of logical messages, and for which segmentation is not allowed.

The length of this field is given by LNGID. The initial value of this field is GINONE. This field is ignored if MDVER is less than MDVER2.