Wenn Sie eine mehrteilige Nachricht definiert haben, ist mindestens eine Nachricht in eine andere eingebettet. Innerhalb des gesamten komplexen Typs, der die äußeren Nachrichten darstellt, können Sie die innere Nachricht auf eine der folgenden Arten modellieren:
- Ein Element (im folgenden Beispiel 'E_outer1' genannt), dessen EigenschaftTyp auf einen komplexen Typ gesetzt ist, für den Nachricht als Wert der Eigenschaft Zusammensetzung angegeben ist.
- Ein komplexer Typ, dessen Eigenschaft Zusammensetzung auf Nachricht gesetzt ist (wird im folgenden Beispiel 't_Embedded' genannt)
Der ESQL-Code, den Sie zur Bearbeitung der inneren Nachricht schreiben müssen, hängt davon ab, welches der obigen Modelle verwendet wurde. Angenommen, Sie haben beispielsweise Folgendes definiert:
- Die äußere Nachricht 'M_outer', deren Eigenschaft Typ auf 't_Outer' gesetzt ist
- Die innere Nachricht 'M_inner1', deren Typ auf 't_Inner1' gesetzt ist
- Die innere Nachricht 'M_inner2', deren Typ auf 't_Inner2' gesetzt ist
- Beim Typ 't_Outer' ist das erste untergeordnete Element 'E_outer1' und das zweite untergeordnete Element als komplexer Typ namens 't_Embedded' definiert
- Beim Typ 't_Embedded' ist die Eigenschaft Zusammensetzung auf Nachricht gesetzt
- Typ 't_Inner1', dessen erstes untergeordnetes Element auf 'E_inner11' ist
- Typ 't_Inner2', dessen erstes untergeordnetes Element auf 'E_inner21' ist
- Beim Typ 't_outer1' ist die Eigenschaft Zusammensetzung auf Nachricht gesetzt
- Beim Element 'E_outer1' ist die Eigenschaft Typ auf 't_outer1' gesetzt
Wenn Sie den Wert auf 'E_inner11' setzen möchten, schreiben Sie folgenden ESQL-Code:
SET OutputRoot.MRM.E_outer1.M_inner1.E_inner11 = 'FRED';
Wenn Sie den Wert auf 'E_inner21' setzen möchten, schreiben Sie folgenden ESQL-Code:
SET OutputRoot.MRM.M_inner2.E_inner21 = 'FRED';
Wenn Sie Nachrichtenheader aus der Eingabenachricht in die Ausgabenachricht kopieren und Ihr Eingabenachrichtentyp einen Pfad enthält, wird nur der äußerste Name im Pfad in den Ausgabenachrichtentyp kopiert.
Wenn Sie einen Nachrichtenfluss für die Verarbeitung eingebetteter Nachrichten konfigurieren, können Sie den Pfad eines Nachrichtentyps entweder in einem MQRFH2-Header (falls die Eingabenachricht einen enthält) oder in der Eigenschaft Nachrichtentyp eines Empfangsknotens anstelle eines Namens angeben (für die oben modellierte Nachricht könnte der Pfad beispielsweise als 'M_Outer/M_Inner1/M_Inner2' statt nur als 'M_Outer' angegeben werden).
Wenn Sie angegeben haben, dass die Eingabenachricht das physische Format CWF oder XML hat, wird jedes Nachrichtentyppräfix vor dem Nachrichtentyp vom MQRFH2-Header oder Empfangsknoten verkettet, was einen endgültigen zu verwendenden Pfad ergibt (weitere Informationen finden Sie im Abschnitt Mehrteilige Nachrichten). Der MRM verwendet den ersten Eintrag im Pfad als äußersten Nachrichtentyp, und arbeitet sich dann immer weiter nach innen, wenn er einen komplexen Typ findet, dessen Eigenschaft Zusammensetzung auf Nachricht gesetzt ist.
Wenn Sie angegeben haben, dass die Eingabenachricht das physische Format TDS hat, wird ein anderer Prozess implementiert, bei dem Nachrichtenschlüssel verwendet werden. Diese Task wird im Abschnitt TDS-Format: mehrteilige Nachrichten beschrieben.
Weitere Informationen zu Pfadverkettungen finden Sie im Abschnitt Nachrichtengruppeneigenschaften.