SET ステートメントは、sourceexpression を評価し、 target で識別されるエンティティーに結果値を割り当てます。
このターゲットについては、宣言済みの変数か、変更可能なメッセージ・ツリーのフィールド (たとえば、Environment、 InputLocalEnvironment、OutputLocalEnvironment、OutputRoot、または OutputExceptionList) とすることができます。
ターゲットが宣言済み変数である場合、 TYPE、NAME、NAMESPACE、および VALUE 文節を省略してください。 ソース式は、変数の宣言済みデータ・タイプと同じか、 またはそれに変換可能なタイプのスカラー値を戻さなければなりません。 ヌル値は、その他の値とまったく同じ方法で扱われます。
ターゲットがフィールドである場合、そこへナビゲートされ (必要であれば、フィールドを作成し)、 一連の規則に従って値が設定されます。 この規則は、TYPE、NAME、または VALUE 文節が存在するかどうか、 そしてソース式によって戻されるデータ・タイプに応じて異なります。
SET OutputRoot.XML.Message.Structure[2].Field = ...Structure の少なくとも 1 つのインスタンスが、 メッセージの中にすでに存在していなければなりません。 つまり、作成されるツリー内のフィールドだけが、 ルートから、フィールド参照によって示されるフィールドへの、直接パス上にあるものです。
TYPE 文節が存在する場合、 ターゲット・フィールドのタイプは、sourceexpression によって戻されるタイプに変更されます。 結果がスカラーでない、タイプ INTEGER ではない、またはヌルである場合、例外が送出されます。
NAMESPACE 文節がある場合は、エレメントのネーム・スペースが設定されます。 エレメントのネーム・スペースを設定すると、自動的にその NAME フラグが設定されます。
NAME 文節が存在する場合、 ターゲット・フィールドの名前は、sourceexpression によって戻されるタイプに変更されます。 結果がスカラーでない、タイプ CHARACTER ではない、またはヌルである場合、例外が送出されます。
VALUE 文節が存在する場合、 ターゲット・フィールドの値は、sourceexpression によって戻されるタイプに変更されます。 結果がスカラーでない場合、例外が送出されます。
SET OutputRoot = InputRoot; SET OutputRoot.XML.Order.Name = UPPER(InputRoot.XML.Order.Name);
この例では、メッセージの中の 1 つのフィールドを英大文字にしています。 1 番目のステートメントで、入力メッセージの完全コピーである出力メッセージを構成します。 2 番目のステートメントで、Order.Name フィールドの値を、 右辺の式で定義された新規の値に設定します。
オリジナルの入力メッセージに Order.Name フィールドがなかった場合、 それは 1 番目のステートメントで生成される出力メッセージに存在しません。 2 番目のステートメントの右辺の式は、ヌルを戻します (UPPER 関数呼び出しで 参照されるフィールドが存在しないため)。 フィールドにヌル値を代入すると、 フィールドがすでに存在している場合は、そのフィールドを削除することになります。 したがって、結果として、2 番目のステートメントには何の作用もないことになります。
SET OutputRoot.XML.Order.Name VALUE = NULL;
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ak05140_ |