Nachrichtenzuordnungen - Tipps und Einschränkungen

Hilfreiche Informationen zur Nachrichtenzuordnung.

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

Eine Nachricht zuordnen, wenn die Quelle eine Liste ist und das Ziel eine Liste aus der Quelle ist, 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. Direkt darunter wird 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.
  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.

Zielnachrichtdomäne ändern

Sie benennen eine Nachrichtengruppe für die Zielnachricht, wenn Sie die Zuordnung zum ersten Mal erstellen. Der Parser für die Ausgabenachricht wird von der Nachrichtendomäneneigenschaft der Nachrichtengruppe bestimmt. Wenn z. B. eine Nachrichtengruppe zum ersten Mal erstellt wird, ist standardmäßig die Nachrichtendomäne MRM. Daher wird vom Zuordnungsknoten ESQL-Code mit folgendem Format generiert:
SET OutputRoot.MRM.Fielda...
Wenn Sie z. B. den Laufzeitparser in XMLNSC ändern, generiert der Mapping-Knoten ESQL mit folgendem Format:
SET OutputRoot.XMLNSC.MessageA.FieldA...
Der Parser der Quellennachricht wird vom Inhalt des MQRFH2-Headers oder von den Eigenschaften des Empfangsknotens bestimmt. Der Zuordnungsknoten generiert eine Zielnachricht mit einem Parser, die mit der Nachrichtendomäne der Nachrichtengruppe übereinstimmt. Der Zuordnungsknoten unterstützt die folgenden Nachrichtendomänen:
  • MRM
  • XMLNSC
  • XMLNS
  • MIME
  • JMSMap
  • JMSStream
  • XML
So ändern Sie die Nachrichtendomäneneigenschaft der Nachrichtengruppe:
  1. Öffnen Sie die Nachrichtengruppendatei messageset.mset.
  2. Ändern Sie die Nachrichtendomäneneigenschaft in eine unterstützte Domäne.
  3. Speichern Sie Ihre Nachrichtengruppe und außerdem jegliche Nachrichtenflüsse und Nachrichtenzuordnungen, die auf die Nachrichtengruppe verweisen, falls sie nicht bereits gespeichert wurden. Beim Speichern dieser Dateien wird ein aktualisierter ESQL-Code für das Zuordnen der geänderten Nachrichtengruppe generiert.
    Wenn Sie keine Aktualisierungen an Nachrichtenflüssen oder Nachrichtenzuordnungen nach dem Ändern der Nachrichtendomäne der Nachrichtengruppe durchgeführt haben, müssen Sie die zugehörigen Nachrichtenflussprojekte bereinigen, damit der aktualisierte ESQL-Code generiert werden kann:
    1. Wählen Sie ein Projekt aus, und klicken Sie auf Project > Clean Project (Projekt > Projekt bereinigen).
    2. Wählen Sie Clean all projects (Alle Projekte bereinigen) oder Clean selected projects (Ausgewählte Projekte bereinigen) aus.
    3. Klicken Sie auf OK.
  4. Implementieren Sie die geänderte Nachrichtengruppe.
  5. Implementieren Sie den Nachrichtenfluss, der die Zuordnungen enthält, und testen Sie ESQL in einem Rechenknoten und anderen Knoten, um sicherzustellen, dass der Nachrichtenfluss weiterhin wie erwartet funktioniert.

Den Datenbankschemanamen überschreiben

Sie ändern den Namen des Datenbankschemas, der in ESQL generiert wird, mit dem Assistenten Datenbankschema überschreiben im Dialogfeld Laufzeitschema angeben. Der Standardname ist der Schemaname der in das Workbench importierten Datenbankdefinitionen. Im Dialogfeld Laufzeitschema angeben können Sie den Wert ändern.

Stapelnachrichten zuordnen

Sie können eine Nachrichtenzuordnung konfigurieren, die die Komponenten 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; in diesem Fall wird jede Komponente umgewandelt und die Nachricht vor dem Weiterleiten erneut erstellt.
  1. Verwenden Sie einen RouteToLabel-Knoten im Nachrichtenfluss, um mehrteilige Nachrichten als Eingabe zu empfangen.

    Der RouteToLabel-Knoten 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 mithilfe von Bedingungen festlegen.

  2. Mit dem Nachrichtenzuordnungseditor erstellen Sie Zuordnungen, die mit 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. Es gelten die folgenden Einschränkungen:
  • Felder mit gemischtem Inhalt können nicht zugeordnet werden.
  • Ausnahmebedingungen können nicht direkt in Mapping-Knoten ausgegeben werden.
  • Selbstdefinierende Elemente können in Mapping-Knoten nicht bearbeitet werden (Platzhalterzeichen werden nur begrenzt unterstützt, wenn die Platzhalterzeichen für eingebettete Nachrichten stehen).
  • Der Umgebungsstrukturbaum kann im Mapping-Knoten nicht bearbeitet werden.
  • Benutzervariablen können nicht definiert oder 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
Compute-Knoten
RouteToLabel-Knoten
Nachrichtenzuordnungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:29:51

ar25245_