Jede Nachricht, die an und von IMS gesendet wird, kann aus einem oder mehreren Segmenten bestehen. IMS-Nachrichten enthalten oft mehrere Segmente.
Der Bitstrom, der zwischen WebSphere Message Broker und dem IMS-Program fließt (auch Übertragung genannt), kann mehrere Segmente enthalten. Jedes Segment beginnt mit dem LLZZ-Feld und dem Feld für den Transaktionscode, die im Abschnitt IMS-Knoten beschrieben werden. Die Übertragung kann mehrere Nachrichten umfassen, jede mit mehreren Segmenten. Das IMS-Programm ruft die Segmente nacheinander ab und fügt die Ausgabedaten normalerweise Segment für Segment in die Warteschlange ein. Das IMS-Programm löscht das Ende einer Nachricht, bevor es das erste Segment der nächsten Nachricht sendet.
Bei Eingabenachrichten beinhaltet jedes Segment das LLZZ-Feld. Nur das erste Segment enthält das Feld für den Transaktionscode (Trancode). Bei Ausgabenachrichten beinhaltet jedes Segment das LLZZ-Feld. Das IMS-Programm ruft die Segmente nacheinander ab. Es liest mit einem GU-Aufruf (GetUnique) das erste Segment der nächsten Nachricht und mit einem GN-Aufruf (GetNext) das nächste Segment der aktuellen Nachricht. Das IMS-Programm fügt die Ausgabedaten normalerweise Segment für Segment in die Warteschlange ein und löscht das Ende einer Nachricht, bevor es das erste Segment der nächsten Nachricht sendet; dies wird im folgenden Diagramm gezeigt.
Bei IMS besteht die Programmausgabe aus einer oder mehreren Nachrichten (üblicherweise eine Ausgabenachricht pro Eingabenachricht), wobei jede Nachricht ein oder mehrere Segmente umfasst. Der IMSRequest-Knoten präsentiert die Nachricht als ein einziges großes Binärobjekt (BLOB). Sie können die Nachricht in Segmente aufgliedern und mithilfe von Filter- oder Compute-Knoten die Form der Antwort testen, um zu ermitteln, wie die Segmente mit ResetContentDescriptor-Knoten wieder zusammengefügt werden.
Die LL- und ZZ-Werte müssen bei der Ausgabe festgelegt werden. Der LL-Wert gibt die Gesamtlänge des Segments an, einschließlich des vier Bytes langen LLZZ-Präfixes. Deshalb ist für den Nachrichtenfluss üblicherweise ein ESQL-Ausdruck zur Berechnung des LL-Werts erforderlich. Das LLZZ-Feld muss die Big-Endian-Codierung 785 verwenden.