このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

変数とは更なる処理のために中間マッピングの結果を保管するために使用される特別なコンポーネントです。マッピング上のデータを一時的に「記憶」し、処理する必要がある場合があります。例えば、ターゲットコンポーネントにコピーされる前に、フィルター、または関数を適用するなど。

 

変数は、単純型 (例えば、 文字列、整数、ブール値、など) または 複合型 (ツリー構造)であることができます。

mf_variable_simple

単純型変数

変数の構造を示す XML スキーマを提供して複合型の変数を作成することができます。スキーマが要素をグローバルに定義すると、変数構造のルートノードになるものを選択することができます。変数に関連した インスタンス XML ファイルが存在しない場合、 変数のデータはマッピングランタイムに計算されます。

mf_variable_complex_schema

XML スキーマから作成された複合型変数

データベース、EDI ファイル または FlexText テンプレート(後者についての更に詳しい情報に関しては、次を参照してください: MapForce FlexText)から複合型の変数を作成することも可能です。  データベースの場合は、 変数構造のためのルートアイテムとして特定のデータベーステーブルを選択することができます。

mf_variable_complex_db

データベーステーブルから作成された複合型変数

上のイメージでは、 各変数には、 compute-when という名前のアイテムが存在することに注意してください。このアイテムに接続することは任意です。これにより、マッピング上でどのように変数の値が計算されるかを管理することができます(次を参照してください: 変数のコンテキストとスコープの変更)。

 

必要な場合、通常のコンポーネントと同様に、変数構造のアイテムを1つ以上のソース接続から受け入れられるように複製することができます (次を参照してください: 入力の複製)。これは、しかしながらデータベーステーブルから作成された変数には適用されません。

mf_variable_simple_duplicated

複製された入力を持つ単純型変数

変数に関して最も重要な点は、変数はシーケンスであり、シーケンスを作成するために使用されるという点です。「シーケンス」 という用語は、ここでは、ゼロまたは、それ以上のアイテムのリストを意味します (次も参照してください: マッピングのルールと戦略)。 これにより、変数はマッピングの寿命内で複数のアイテムを処理することができるようになります。しかしながら、値を変数に与え、マッピングのその他の部分を同じに保つことも可能です (次を参照してください: 変数のコンテキストとスコープの変更)。

 

ある程度までは、変数をチェーンマッピングの中間コンポーネント と比較することができます (次を参照してください: チェーンマッピング)。 しかしながら、マッピング内の各段階で中間ファイルを作成する必要がない場合、変数は柔軟性があり便利です。 次のテーブルの概要は変数とチェーンマッピングの違いを示しています。

 

チェーンマッピング

変数

チェーンマッピングには、2つの独立したステップが含まれます。例えば、 A、B、 と C の3つのコンポーネントがマッピングに存在するとします。マッピングの実行には2つの段階があります :  A から B へのマッピングの実行、および、 B から C へのマッピングの実行。

マッピングの実行中、変数は、コンテキストとスコープに従い評価されます。コンテキストとスコープを影響することはできます  (次を参照してください: 変数のコンテキストとスコープの変更)。

マッピングが実行されると、中間結果は外部でファイルに保管されます。

 

マッピングが実行されると、中間の結果は内部で保管されます。変数の結果を含む外部ファイルは作成されません。

中間 結果は btn_component_preview_pressed ボタンを使用してプレビューすることができます 。

マッピング ランタイムで計算される変数の結果をプレビューすることはできません  しかしながら、デバッガーを使用して、変数により生成されたデータを確認することができます (次を参照してください: マッピングのでデバッグ)。

 

メモ:変数は、マッピング変換言語が XSLT 1.0 に設定されていない場合サポートされません。

(C) 2019 Altova GmbH