Nachrichtenzuordnungen - Tipps und Einschränkungen

Bei diesen Tipps wird davon ausgegangen, dass Sie bereits einen Zuordnungsknoten innerhalb des Nachrichtenflusses erstellt, das Nachrichtenzuordnungseditor geöffnet und sowohl eine Quellen- als auch eine Zielnachricht ausgewählt haben:

Die Quelle ist eine Liste und das Ziel ist eine Liste aus der Quelle, jedoch mit einem neuen Eintrag oben in der Liste.

  1. Erweitern Sie das Ziel, um das Element, für das Sie eine neue erste Instanz erstellen möchten, anzuzeigen. Hierbei kann es sich um eine Struktur oder ein einfaches Element handeln.
  2. Klicken Sie mit der rechten Maustaste auf das Element, und wählen Sie dann die Option If aus. Daraufhin wird darunter eine Bedingungszeile angezeigt.
  3. Klicken Sie mit der rechten Maustaste auf das Element, und wählen Sie dann die Option Kopieren aus. Wechseln Sie zur Bedingungszeile, und wählen Sie dort die Option Einfügen aus. Im Spreadsheet sollten nun zwei Einträge für Ihr Element vorhanden sein.
  4. Definieren Sie für den ersten Eintrag einen beliebigen Wert. Dies ist die erste Instanz.
  5. Klicken Sie mit der rechten Maustaste auf den zweiten Eintrag, und wählen Sie dann die Option For aus. Im Spreadsheet wird eine FOR-Zeile angezeigt.
  6. Setzen Sie den zweiten Eintrag auf den bzw. die Werte, die von der Quelle zugeordnet wurden.
  7. Setzen Sie den FOR-Eintrag auf die Schleifenbedingung.
  8. Klicken Sie auf 'For', ziehen Sie anschließend das Quellenfeld, das die Schleifenbedingung repräsentiert, in den Ausdruckseditor.

Den Ziel-Laufzeitparser ändern

Sie benennen eine Nachrichtengruppe für die Zielnachricht, wenn Sie die Zuordnung zum ersten Mal erstellen. Der Parser für die Ausgabenachricht entspricht dem Laufzeitparser, der der Nachrichtengruppe zugeordnet ist. Wenn z. B. eine Nachrichtengruppe zum ersten Mal erstellt wird, wird standardmäßig der MRM-Parser als Laufzeitparser verwendet. Dies bedeutet, dass der Zuordnungsknoten ESQL mit folgendem Format erstellt:
SET OutputRoot.MRM.Fielda...
Wenn Sie z. B. den Laufzeitparser in XLM oder XMLNSC ändern, generiert der Zuordnungsknoten ESQL mit folgendem Format:
SET OutputRoot.XMLNSC...
Der Parser der Quellennachricht wird über den MQRFH2-Header oder den Empfangsknoten definiert. Der Zuordnungsknoten kann bei der Eingabe alle Parser ausführen. Der Zuordnungsknoten generiert eine Zielnachricht mit einem Parser, der mit dem Laufzeitparser der Nachrichtengruppe übereinstimmt.
  1. Öffnen Sie die Nachrichtengruppendatei messageset.mset.
  2. Legen Sie für den Laufzeitparser einen Wert Ihrer Wahl fest, und speichern Sie das Nachrichtenflussprojekt bzw. dieNachrichtenflussprojekte, und geben Sie einen Verweis auf diese Nachrichtengruppe für Zuordnungen an.
  3. Setzen Sie die Nachrichtengruppe ein, wenn Sie den Parser in MRM geändert haben.
  4. Implementieren Sie den Nachrichtenfluss, der die Zuordnungen enthält, und testen Sie Ihre ESQL in einem Rechenknoten und anderen Knoten, um sicherzustellen, dass sie weiterhin wie erwartet funktionieren.

Den Datenbankschemanamen überschreiben

Sie ändern den Namen des Datenbankschemas, der in ESQL generiert wird, mit dem Assistenten RDB-Schema überschreiben im Dialogfeld Laufzeitschema angeben. Der Standardname ist der Schemaname der in das Message Brokers Toolkit importierten Datenbankdefinitionen. Verwenden Sie dieses Dialogfeld, um den Wert zu ändern.

Stapelnachrichten zuordnen

Sie können eine Nachrichtenzuordnung konfigurieren, die die Komponenten in einer mehrteiligen Nachricht in eine Reihe von Stapelnachrichten sortiert, ordnet und teilt. Bei diesen Komponenten kann es sich um Nachrichten oder Objekte mit unterschiedlichen Formaten handeln. Ist dies der Fall, wird jede Komponente umgewandelt und die Nachricht vor dem Weiterleiten erneut erstellt.
  1. Verwenden Sie einen Knoten 'Weiterleitung_an_Zieladresse' (RouteToLabel) im Nachrichtenfluss, um mehrteilige Nachrichten als Eingabe zu empfangen.

    Der Knoten 'Weiterleitung_an_Zieladresse' folgt im Nachrichtenfluss auf einen Mapping-Knoten und veranlasst, dass der Fluss automatisch zur angegebenen Marke springt. Sie können in einer Splitting-Zuordnung für alle Zuordnungen, die ein Nachrichten-Assembly ausgeben, einen einzigen Wert für 'routeToLabel' angeben. Sie können den Wert für 'RouteToLabel' je nach den Werten in der Quellennachricht auch mit Hilfe von Bedingungen festlegen.

  2. Mit dem Nachrichtenzuordnungseditor erstellen Sie Zuordnungen, die in einem einzelnen Knoten Stapelnachrichten umwandeln und weitergeben, ohne eine temporäre Datenstruktur definieren zu müssen.

Mehrteilige Nachrichten können auch eingebettete Wiederholungsnachrichten enthalten, wobei jede wiederkehrende Instanz einer Nachricht separat weitergegeben wird. Eingebettete Nachrichten müssen aus derselben Nachrichtengruppe wie die übergeordneten Nachricht stammen.

Einschränkungen bei der Zuordnung

Falls nicht explizit hier angegeben, können Sie die erforderliche Funktion durch Aufruf einer ESQL-Funktion oder -Prozedur erzielen. Beispiele für Einschränkungen:
  • Felder mit gemischtem Inhalt können nicht zugeordnet werden.
  • Ausnahmebedingungen können nicht direkt in Zuordnungsknoten ausgegeben werden.
  • Selbstdefinierende Elemente können in Zuordnungsknoten nicht bearbeitet werden (Platzhalter werden nur begrenzt unterstützt, wenn die Platzhalter für eingebettete Nachrichten stehen).
  • Der Umgebungsstrukturbaum kann im Zuordnungsknoten nicht bearbeitet werden.
  • Benutzervariablen können nicht definiert und gesetzt werden.
  • CASE-Ausdrücke können nicht emuliert werden. Sie müssen 'if/else' verwenden.
  • Baumstrukturen können nicht von der Eingabe in die Ausgabe kopiert werden, um Elemente innerhalb der kopierten Baumstruktur zu modifizieren. Die nachfolgenden ESQL-Muster können beispielsweise in einem Zuordnungsknoten modelliert werden:
    SET OutputRoot.MQMD = InputRoot.MQMD; SET OutputRoot.MQMD.ReplyToQ = 'NEW.QUEUE';
    Sie müssen alle Felder in der Struktur einzeln setzen, wenn Sie eines oder mehrere gleichgeordnete Felder modifizieren möchten.
Zugehörige Konzepte
Nachrichtenzuordnungseditor
MRM-Parser und -Domäne
XML-Parser und -Domänen
Zugehörige Tasks
ESQL erstellen
Zugehörige Verweise
Mapping-Knoten
Rechenknoten (Compute)
Knoten 'Weiterleitung_an_Zieladresse' (RouteToLabel)
Nachrichtenzuordnungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ar25245_