Hitachi

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


付録I.2 フォーマットの変換方法

DBアダプタで取得したデータのフォーマットの変換の流れを次に示します。

  1. 変換元および変換先のデータの設定

    DBアダプタで取得したデータのフォーマットの変換には,データ変換定義を使用します。データのフォーマットの変換を始める前に,データ変換定義画面に変換元および変換先のデータを設定します。

  2. 列名のcid属性値の取得

    空白除去ファンクションを使用して,列名のID(cid属性値)を取得します。

  3. くり返しファンクションの設定

    くり返しファンクションを設定して,DBアダプタで取得したすべての値を変換先に代入できるようにします。

  4. 変換先の列名要素への値の代入

    列名のIDと値のIDを比較して,IDが等しい場合に,変換先に値を代入するように設定します。

  5. 定義した内容の検証

    定義した内容を検証し,マッピングに矛盾がないことを確認します。

それぞれの手順について説明します。

なお,これらのフォーマット変換の操作は自動で行うこともできます。詳細は,「付録J DBアダプタで取得したデータの自動マッピング」を参照してください。

〈この項の構成〉

(1) 変換元および変換先のデータの設定

DBアダプタで取得したデータのフォーマットの変換には,データ変換定義を使用します。

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

[図データ]

(2) 列名のcid属性値の取得

応答電文のDBA_ResultSetName要素には,列名とそのID(cid属性)が対で格納されています。ここでは,空白除去ファンクションを使用して,ノード条件に指定した列名に対応するcid属性を取得します。

列名のcid属性値を取得する手順を次に示します。

  1. DBA_ResultColumnName要素の下のcid属性に空白除去ファンクションを定義します。

    空白除去ファンクションを定義する方法については,「7.5.5 文字列の空白を除去する」を参照してください。

    [図データ]

  2. [空白除去]ダイアログで[ノード条件設定]ボタンをクリックします。

    [ノード条件設定]ダイアログが表示されます。

  3. [ノード条件設定]ダイアログで[条件設定]ボタンをクリックします。

    [条件設定]ダイアログが表示されます。

  4. ノード条件を設定します。

    次のように設定してください。

    • 左辺:DBA_ResultColumnName要素

    • 右辺:列名(ここでは[受注番号])

      [図データ]

  5. 「得意先コード」「商品コード」「受注個数」の各要素についても,同様に定義します。

    [図データ]

(3) くり返しファンクションの設定

変換元のDBA_ResultSet要素から,変換先のrecord要素にくり返しファンクションをマッピングします。くり返しファンクションを定義する方法については,「7.5.16 くり返しを対応づける」を参照してください。

[図データ]

(4) 変換先の列名要素への値の代入

変換先の各行名要素に値を代入します。このとき,DBA_ResultColumn要素の下のcid属性と「(2) 列名のcid属性値の取得」で定義した空白除去ファンクションが一致するように条件を設定します。

変換先の各行名要素に値を代入する手順を次に示します。

  1. 変換先の要素(ここでは「受注番号」)を右クリックし,[マッピング元]を選択します。

    [マッピング元設定]ダイアログが表示されます。

    [図データ]

  2. [マッピング元]にDBA_ResultColumnを選択します。

    [図データ]

  3. [マッピング元設定]ダイアログで[ノード条件設定]ボタンをクリックします。

    [ノード条件設定]ダイアログが表示されます。

  4. [ノード条件設定]ダイアログで[条件設定]ボタンをクリックします。

    [条件設定]ダイアログが表示されます。

  5. ノード条件を設定します。

    次のように設定してください。

    • 左辺:DBA_ResultColumn要素の下のcid属性

    • 右辺:変換先の列名に対応するように定義した空白除去ファンクション

      [図データ]

  6. 「得意先コード」「商品コード」「受注個数」の各要素についても,同様に定義します。

    [図データ]

(5) 定義した内容の検証

定義したマッピングに矛盾がないことを検証します。検証方法については,「5.10.2 検証方法」を参照してください。