Mehrere Ausgabenachrichten generieren

Mit Hilfe der Anweisung PROPAGATE können Sie mehrere Ausgabenachrichten im Rechenknoten generieren. Die von Ihnen generierten Ausgabenachrichten können denselben oder unterschiedlichen Inhalt haben. Sie können Ausgabenachrichten auch an alle vier alternativen Ausgabeterminals des Rechenknotens oder an einen Zieladressenknoten übertragen.

Wenn Sie beispielsweise drei Kopien derjenigen Eingabenachricht erstellen möchten, die vom Rechenknoten empfangen wurde, Beginn der Änderungund davon eine Kopie an das standardmäßige Terminal "Out" des Rechenknotens, eine an das erste alternative Terminal "out1" des Rechenknotens und eine an den Zieladressenknoten "ThirdCopy" senden möchten, Ende der Änderungschreiben Sie folgenden ESQL-Code:

SET OutputRoot = InputRoot;
PROPAGATE;
SET OutputRoot = InputRoot;
PROPAGATEBeginn der Änderung TO TERMINAL 'out1'Ende der Änderung;
SET OutputRoot = InputRoot;
PROPAGATE TO LABEL 'ThirdCopy';
Im oben gezeigten Beispiel wird der Inhalt von OutputRoot vor jeder PROPAGATE-Anweisung zurückgesetzt, da der Knoten den Puffer für Ausgabenachrichten standardmäßig löscht und den Speicher beim Abschluss der PROPAGATE-Anweisung zurückfordert. Alternativ dazu können Sie den Knoten anweisen, die Ausgabenachricht in den ersten beiden PROPAGATE-Anweisungen nicht zu löschen, damit die Nachricht an die nächste Zieladresse weitergeleitet werden kann. Verwenden Sie dazu folgenden Code: Beginn der Änderung
SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
SET OutputRoot = InputRoot;
PROPAGATE TO TERMINAL 'out1' DELETE NONE;
SET OutputRoot = InputRoot;
PROPAGATE TO LABEL 'ThirdCopy';
Ende der Änderung

Wenn Sie den Ausgabepuffer nicht initialisieren, wird eine leere Nachricht generiert, und der Nachrichtenfluss stellt einen Fehler fest und gibt eine Ausnahmebedingung aus.

Stellen Sie auch sicher, dass Sie für jede weitergegebene Ausgabenachricht alle erforderlichen Nachrichtenheader in den Puffer für Ausgabenachrichten kopieren.

Wenn Sie den Inhalt der Ausgabenachricht vor der Weitergabe der einzelnen Nachrichten ändern möchten, schreiben Sie den entsprechenden ESQL-Code zur Ausführung der gewünschten Änderungen vor der Codierung der PROPAGATE-Anweisung.

Wenn Sie den Inhalt der letzten Ausgabenachricht, die generiert werden soll, konfigurieren und diesen als letzte Aktion des Rechenknotens weitergeben, müssen Sie die letzte PROPAGATE-Anweisung nicht einfügen. Die Standardaktion des Rechenknotens besteht in der Weitergabe des Ausgabepufferinhalts, wenn er beendet wird. Dies wird durch die Anweisung RETURN TRUE implementiert, eingeschlossen als letzte Anweisung im Modulgerüst.

Wenn Sie beispielsweise drei Kopien der Eingabenachricht generieren möchten und keine weitere Aktion ausführen, fügen Sie diesen Code unmittelbar vor der RETURN TRUE-Anweisung ein:

SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATE DELETE NONE;

Alternativ dazu können Sie das Standardverhalten des Knotens ändern, indem Sie RETURN TRUE in RETURN FALSE ändern:

SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATEDELETE NONE;
PROPAGATE;
RETURN FALSE;

Von den drei PROPAGATE-Anweisungen werden drei Ausgabenachrichten generiert. Die letzte RETURN FALSE-Anweisung bewirkt, dass der Knoten beendet wird, jedoch keine letzte Ausgabenachricht weitergibt. Beachten Sie, dass in der letzten PROPAGATE-Anweisung die Klausel DELETE NONE nicht enthalten ist, da der Knoten zu diesem Zeitpunkt den Speicher freigeben muss.

Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Übersicht zu ESQL
Nachrichten modellieren
Zugehörige Tasks
Einen Nachrichtenfluss entwerfen
Nachrichtenflussinhalte definieren
Zugriff auf die Baumstruktur für Eigenschaften
ESQL-Dateien verwalten
Zugehörige Verweise
Rechenknoten (Compute)
ESQL-Referenz
PROPAGATE-Anweisung
RETURN-Anweisung
SET-Anweisung
Zugehörige Informationen
Rechenknoten (Compute)
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac12370_