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 の概要
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ak05640_