uCosminexus Interschema ユーザーズガイド

[目次][用語][索引][前へ][次へ]

2.2 マッピング

この節では,FDLエディタで定義した入力データのフォーマットと出力データのフォーマットのコンポーネント間を対応付けるマッピングについて説明します。

コンポーネントをドラッグ&ドロップしマッピングして,コンポーネント間を対応付ける式をMDLエディタ上で定義します。なお,この式を「マップ式」と呼びます。

MDLエディタでのマッピングの手順を次に示します。

図2-4 マッピングの手順

[図データ]

例を使用してマッピングについて説明します。なお,以下のマッピング定義例は,マッピングの流れを理解しやすくすることを意図したものなので,マッピング定義の詳細説明は省略しています。マッピング定義の詳細については,「4. MDLエディタの操作」を参照してください。

2.1.3 フォーマットの定義手順」で定義した帳票「IN」のフォーマットと帳票「OUT」のフォーマットをマッピングします。

(a) フォーマットの挿入

マッピングする入力側と出力側のフォーマットを読み込みます。ここでは,入力側のフォーマットとして帳票「IN」のフォーマット「IN」を,出力側のフォーマットとして帳票「OUT」のフォーマット「OUT」を読み込みます。

フォーマット挿入コマンドを実行すると[フォーマット挿入]ダイアログが表示されます。

[図データ]

入力データ又は出力データのファイル名が決まっている場合は,このダイアログにデータファイル名を指定します。ファイル名が決まっていない場合は,データ変換時のコマンド引数に,ファイル名を指定することもできます。例では,データ変換時のコマンド引数にファイル名を指定するので,データファイル名を指定しません。

挿入したフォーマットは,ツリー構造でルート構造以下が表示されます。

[図データ]

(b) 変数の定義

この定義例では変数を使用しないため,変数の定義はしません。

(c) マップ式の定義

入力データのコンポーネントと出力データのコンポーネント間をマッピングします。

帳票「IN」と帳票「OUT」のコンポーネントの対応関係は次のようになります。

[図データ]

帳票「OUT」の要素「RECORD」「製品コード」「希望価格」「数量」は,対応する帳票「IN」の要素の値を代入します。帳票「OUT」の要素「小計金額」は,帳票「IN」に対応する要素がないので,値を計算して出力するようにマップ式を定義します。

マッピングは,出力データのコンポーネントに対して定義します。出力データのコンポーネントに,対応する入力データのコンポーネントをドラッグ&ドロップし,マップ式を定義します。

この例では,出力側のコンポーネント「RECORD」「製品コード」「希望価格」「数量」に,対応する入力側のコンポーネントをドラッグ&ドロップして代入します。

[図データ]

マップビューには,選択している出力側のコンポーネントに定義されているマップ式が表示されます。コンポーネントをドラッグ&ドロップすると,マップビューにマップ式の代入式が挿入されます。

マップ式には,コンポーネント名,演算子,関数及び記号を使用できます。出力側のコンポーネントを選択し,マップビューへコンポーネントをドラッグ&ドロップすると,ドラッグ&ドロップしたコンポーネント名がマップビューに記述されます。演算子,関数及び記号はダイアログで選択して使用できます。コンポーネント名,関数,演算子及び記号は,マップビューに直接テキストで入力することもできます。マップ式の詳細については,「6.6.6 マップ式」を参照してください。

出力側の要素「小計金額」は,入力側の二つの要素「単価」「個数」の乗算で求めるように演算子を使用してマップ式を定義します。コンポーネント「小計金額」を選択し,マップビューに二つの要素をドラッグ&ドロップし,乗算の演算子を使用します。

[図データ]

これでマッピングの定義は完成です。

チェックコマンドを実行して,マッピングの内容にエラーがないことを確認し,MDLファイルに名前を付けて保存します。ここでのファイル名は「SAMPLE.mdl」とします。