Values of the fields in MQMD are set according to the values in the MQOutput node and the Root.MQMD folder, and some values are set automatically, independently of any values that you specify.
MQMD.Report = 0;
MQMD.PutApplType = MQAT_BROKER;
MQMD.PutDate = Taken from current Timestamp
MQMD.PutTime = Taken from current Timestamp
MQMD.PutApplName = MsgTree.MQMD.ReplyToQMgr (first 28 chars)
MQMD.Version
MQMD.Format
MQMD.Priority
MQMD.Persistence
MQMD.Expiry
MQMD.Encoding
MQMD.CodedCharSetId
MQMD.GroupId
MQMD.MsgSeqNumber
MQMD.Offset
MQMD.MsgFlags
MQMD.OriginalLength
IF MsgTree.MQMD.MsgType = MQMT_REQUEST THEN
MQMD.MsgType = MQMT_REPLY;
IF Nodes Message Context is Default, PassAll or PassIdentity THEN
MQMD.UserIdentifer = MsgTree.MQMD.UserIdentifier;
IF MsgTree.MQMD.Report contains MQRO_PASS_CORREL_ID THEN
MQMD.CorrelId = MsgTree.MQMD.CorrelId;
ELSE
MQMD.CorrelId = MsgTree.MQMD.MsgId;
IF MsgTree.MQMD.Report contains MQRO_PASS_MSG_ID THEN
MQMD.MsgId = MsgTree.MQMD.MsgId;
ELSE
MQMD.MsgId = MQMI_NONE;
When the output MQMD structure has been constructed, the Message Context on the MQOutput node is ignored, and the behavior is as set All.
The values that are overridden, are done only in the output MQMD structure; no updates are made to the MQMD folder in the message tree.