Réassemblage de segments
Chaque message physique qui est un segment possède un descripteur de message unique. Pour les segments comprenant un seul message logique, la plupart des zones du descripteur de message sont identiques pour tous les segments du message logique. En général, ce sont uniquement les zones MsgId, Décalageet MsgFlags qui diffèrent entre les segments du message logique. Toutefois, lorsque des segments prennent différents chemins via le réseau et que certains d’entre eux ont activé la conversion de l’expéditeur MCA, il est possible que les zones CodedCharSetId et Codage soient différentes entre les segments lorsqu'ils arrivent finalement dans la file d’attente cible.
Un message logique composé de segments dans lesquels les zones CodedCharSetId et/ou Codage diffèrent ne peut pas être réassemblé par le gestionnaire de files d’attente en un seul message logique. Au lieu de cela, le gestionnaire de files d’attente est à nouveau assemblé et renvoie les premiers segments consécutifs au début du message logique ayant les mêmes identificateurs de jeu de caractères et les mêmes codages, et l’appel MQGET se termine avec le code de fin d’exécution MQCC_WARNING et le code raison MQRC_INCONSISTENT_CCSIDS ou MQRC_INCONSISTENT_ENCODINGS, selon le cas.
Lorsque le gestionnaire de files d’attente réassemble un message logique, le descripteur de message est renvoyé avec les valeurs du descripteur de message pour le premier segment. La seule exception est la zone MsgFlags, que le gestionnaire de files d’attente définit pour indiquer que le message réassemblé est le seul segment.