Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編

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

付録J DBアダプタで取得したデータの自動マッピング

ここでは,DBアダプタで取得したデータを,列名が要素名となるフォーマットに自動でマッピングする方法について説明します。

この方法は「付録I DBアダプタで取得したデータのフォーマットの変換例」を自動で行うためのものです。ただし,定義時には次の点に注意してください。

マッピングの流れを次に示します。

  1. SQLオペレーション定義ファイル,要求電文,応答電文を基にカラム定義ファイルを作成します。
  2. 作成したカラム定義ファイルを利用してデータ変換定義画面でマッピングします。

それぞれの作業について次に示します。

<この節の構成>
(1) カラム定義ファイルの作成
(2) データ変換定義画面でのマッピング

(1) カラム定義ファイルの作成

カラム定義ファイルとは,DBアダプタの検索結果のPosition()[変換元列番号]とXMLスキーマの変換先要素名を関連づけるCSV形式のファイルです。

(a) 形式

カラム定義ファイルの形式を次に示します。

 
変換元列番号,変換先要素名[改行]
  :
 

カラム定義ファイルの構文を次に示します。

表J-1 カラム定義ファイルの構文

項目 カラム定義ファイルの構文
カラム定義ファイル ( 行データ 改行コード )*
行データ 空白* [ 変換元列番号 空白* ] [ ',' 空白* 変換先要素名 空白* ]
改行コード '\r\n' | '\r' | '\n'
空白 ' ' | '\t'
変換元列番号 ('0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9') +
変換先要素名 ( MS932文字 - ( ',' | ':' | 空白 | 改行コード ) )+
(b) 定義例

付録I.1 例題」のデータベースの内容を例に,次のテーブル構成のデータをDBアダプタで取得する場合の,カラム定義ファイルの定義例について説明します。

表J-2 テーブル構成(先頭行は列名を表す)

受注番号(INTEGER) 得意先コード(CHAR) 商品コード(CHAR) 受注個数(INTEGER)
1 AA001 0001 5
2 AB002 0001 1
3 AA001 0102 3
4 XA005 0103 1
5 AA001 0105 1

このテーブル構成のデータは,DBアダプタから次のように取得されます。

表J-3 DBアダプタから取得したデータ(先頭行はデータの取得順(列番号)を表す)

1 2 3 4
1 AA001 0001 5
2 AB002 0001 1
3 AA001 0102 3
4 XA005 0103 1
5 AA001 0105 1

このように,DBアダプタから取得したデータは,列名をキーにして値を参照できないため,列名が要素名となるフォーマットに変換する必要があります。

そのため,カラム定義ファイルを使用して,DBアダプタから取得されたデータのどの列番号をどの要素名にマッピングするのかを定義します。

カラム定義ファイルの定義例

 
1,受注番号
2,得意先コード
3,商品コード
4,受注個数
 

このカラム定義ファイルの1行目は,DBアダプタが1列目のデータを[受注番号]にマッピングすることを表します。

このカラム定義ファイルを使用して自動マッピングすることで,DBアダプタから取得されたデータは次のように変換され,要素名(列名)をキーにして値を参照できるようになります。

表J-4 テーブル構成(先頭行は列名を表す)

受注番号 得意先コード 商品コード 受注個数
1 AA001 0001 5
2 AB002 0001 1
3 AA001 0102 3
4 XA005 0103 1
5 AA001 0105 1
(c) 注意事項

カラム定義ファイルを作成するときの留意点について説明します。

(2) データ変換定義画面でのマッピング

列名が要素名となるフォーマットに自動でマッピングするには,データ変換定義を使用します。

データ変換定義画面の変換元スキーマツリービューアにDBアダプタで取得したデータ,変換先スキーマツリービューアに変換後のフォーマットのXMLスキーマを設定してください。

マッピングの方法を次に示します。

  1. 変換先のマッピング対象とする要素の親要素(複合内容要素)を選択します。
  2. 親要素を選択した状態で,右クリックします。
    ポップアップメニューが表示されます。

    [図データ]

  3. ポップアップメニューから[特殊マッピング]−[DBアダプタ]を選択します。
    DBアダプタマッピング設定ダイアログが表示されます。

    [図データ]

  4. マッピング元を選択し,カラム定義ファイルを指定します。

    [図データ]

  5. [終了]ボタンをクリックします。
    自動でマッピングされます。

    [図データ]

    ポップアップメニューで[DBアダプタ]を選択したノード配下の要素名とカラム定義ファイルの変換先要素名が一致しない,または一致する要素がマッピング対象でない場合,警告メッセージが出力されます。
  6. 変換元要素から変換先要素にくり返しファンクションをマッピングします。
    くり返しファンクションを定義する方法については,「6.5.16 くり返しを対応づける」を参照してください。