PROPAGATE ステートメントを使用して、Compute ノード内に複数の出力メッセージを生成することができます。 生成する出力メッセージは、同じかまたは異なる内容を持つことができます。
たとえば、Compute ノードが受け取った入力メッセージのコピーを 3 つ作成したい場合、以下の ESQL をコーディングします。
SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE;
PROPAGATE ステートメントが完了するときにノードが出力メッセージ・バッファーを消去し、 メモリーを再利用するため、それぞれの PROPAGATE の前に、OutputRoot の内容をリセットする必要があります。 出力バッファーを初期化しない場合、空のメッセージが生成され、メッセージ・フローがエラーを検出して例外をスローします。
また、伝搬する各出力メッセージごとに、すべての必要なメッセージ・ヘッダーを出力メッセージ・バッファーに確実にコピーします。
各メッセージを伝搬する前に出力メッセージの内容を変更したい場合には、 PROPAGATE ステートメントをコーディングする前に適切な ESQL をコーディングして変更を行ってください。
生成したい最後の出力メッセージの内容をセットアップし、それを Compute ノードの 最後のアクションとして伝搬する場合には、最後の PROPAGATE ステートメントを組み込む必要はありません。 Compute ノードのデフォルトのアクションで、終了する際に出力バッファーの内容が伝搬されます。 この機能は、モジュール・スケルトン内の最後のステートメントとして組み込まれる RETURN TRUE ステートメントによって実装されます。
たとえば、メッセージのコピーを 3 つ生成し、その後何もアクションを実行しない場合には、 上記の ESQL の例を以下のように変更して、そのコードを RETURN TRUE ステートメントの直前に組み込みます。
SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot;
あるいは、以下のように RETURN TRUE を RETURN FALSE に変更することにより、 ノードのデフォルトの振る舞いを変更できます。
SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE; SET OutputRoot = InputRoot; PROPAGATE; RETURN FALSE;
3 つの PROPAGATE ステートメントによって、3 つの出力メッセージが生成されます。 最後の RETURN FALSE ステートメントはノードを終了しますが、最終出力メッセージを伝搬しません。
関連概念
メッセージ・フロー
ESQL
メッセージのモデル化
関連タスク
メッセージ・フローの設計
メッセージ・フローの内容の定義
プロパティー・ツリーへのアクセス
ESQL ファイルの管理
関連資料
Compute ノード
ESQL
PROPAGATE ステートメント
RETURN ステートメント
SET ステートメント
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ac12370_ |