LIST コンストラクター関数

LIST コンストラクター複合関数を使用すると、 出力メッセージのフィールドに代入される値のリストを明示的に生成することができます。

構文

LIST は、一連の名前なしの値から成ります。 それが配列フィールド参照 (参照の最後のエレメントに付加される [] によって示される) に代入されると、 それぞれの値が配列のエレメントに対して順に代入されます。 非配列フィールド参照に LIST を代入することはできません。

例 1

次のような XML 入力メッセージ本体があるとします。
<Car>
   <size>big</size>
   <color>red</color>
</Car> 
この場合、次の ESQL は、
SET OutputRoot.XML.Data.Result[] = LIST{InputBody.Car.colour,
                                                     'green',
                                                     'blue'};
次の結果になります。
<Data>
   <Result>red</Result> 
   <Result>green</Result>
   <Result>blue</Result>
</Data>
LIST の場合、各値ごとに対応する明示的な名前はありません。 値は、代入先として指定されたメッセージ・フィールド配列のエレメントに対して順に代入されます。 LIST 項目を囲むために、小括弧ではなく中括弧を使用します。

例 2

次のような XML 入力メッセージ本体があるとします。
<Data>
   <Field>Keats</Field>
   <Field>Shelley</Field>
   <Field>Wordsworth</Field>
   <Field>Tennyson</Field>
   <Field>Byron</Field>
</Data>
この場合、次の ESQL は、
-- Copy the entire input message to the output message,
-- including the XML message field array as above
SET OutputRoot = InputRoot;
SET OutputRoot.XML.Data.Field[] = LIST{'Henri','McGough','Patten'};
次の出力結果になります。
<Data>
   <Field>Henri</Field>
   <Field>McGough</Field>
   <Field>Patten</Field>
</Data>
Data.Field[] 配列の以前のメンバーは廃棄されています。 既存のメッセージ・フィールド配列に値の新規リストを代入すると、 まず最初に既存の配列のエレメントすべてが除去され、その後で新しいエレメントが代入されます。

関連概念
ESQL

関連タスク
ESQL の開発
Environment ツリーへのアクセス

関連資料
複合 ESQL 関数
ROW コンストラクター関数
ROW と LIST の結合
ROW および LIST の比較