マッピングの開発

始める前に:

マッピングを処理するには、 メッセージ・フロー・プロジェクトの作成の説明に従って、 Message Brokers Toolkit for WebSphere Studio を使用して、 メッセージ・フロー・プロジェクトを作成します。

このトピックでは、マッピングの作成と保守に関係するタスクを説明しています。

  1. 作業するノードで右マウス・ボタンをクリックし、 メニューから「マッピングを開く (Open Mappings)」」を選択して、 メッセージ・フロー・マッピング・エディターを開きます。

    作成されたマッピング・ファイルの名前は、 フォーム flowname_nodename からのものです。 たとえば、「topflow」というフロー内の 「Mapping」という新しいノードからメッセージ・フロー・マッピング・エディターを起動した場合、 マッピング・ファイルの名前は topflow_Mapping.mfmap です。 同じフローに、Mapping1 という別の Mapping ノードがある場合、ルート・ファイル topflow_Mapping1 は topflow_Mapping と区別されるため、エディターをこのノードから起動するとファイル topflow_Mapping1.mfmap が開きます。

    メッセージ・フロー・マッピング・エディターは、スキーマ・ファイルからの情報を使用して移植されており、 メッセージまたはデータベースの構造をツリーの形で示します。 再帰的である可能性のあるデータ・タイプのメッセージ構造のネスティング・レベルは無限であることがあります。 マッピング情報は、 メッセージ・フロー情報を含むリソースとは別のリソースに保管されており、 マッピング・リソースは「リソース・ナビゲーター (Resource Navigator)」ビューで見ることができます。

    マップされているフィールドは、 フィールド名の左に小さな矢印で強調表示されます。 以前にマップした入力または出力がメッセージ定義やデータベース定義にもはや存在しない場合には、 タスク・リストで解決不能であると記述されます。

  2. メッセージ・フロー・マッピング・エディターの「アウトライン (Outline)」ビューで、 マッピング・ルーチンで定義されたネーム・スペース接頭部を追加、変更、または除去できます。

    ネーム・スペース接頭部は、 マッピングにターゲットのネーム・スペースが関係するときに必要となります。 完全修飾パスを使わずに、 マッピング・ステートメントが別のブローカー・スキーマの ESQL サブルーチンを参照できるようにブローカー・スキーマ・パスを追加または変更することもできます。 「スキーマ参照の編成 (Organize Schema References)」オプションを使用すると、 スキーマ・パスを自動的に生成することができます。 また「アウトライン (Outline)」ビューを使用して、 マッピング・ルーチンを名前変更できます。 各 Mapping ノードは指定されたマッピング・ルーチンと関連付けられます。 最初は同じ名前を共用しますが、マッピング・ルーチンとマッピング・ファイルは別になります。

  3. 「ターゲット (Target)」ビューから「出力メッセージのプロパティー (Output Message Properties)」を選択し、 ワイヤー形式とともに、定義済みメッセージのいずれかを出力メッセージ本体として選択できます。

    マッピング・ルーチンに複数のメッセージが含まれる場合に有用です。 そのようにすると、メッセージを出力メッセージ本体として設定できるからです。 しかしマッピング・ルーチンに出力メッセージが 1 つしか含まれない場合に、 出力メッセージが入力メッセージとは異なると、 メッセージが出力メッセージ本体になるように設定する必要が引き続きあります。

    変更の始まり以下の相関名は、Mapping、Extract、Warehouse、DataInsert、DataUpdate、または DataDelete ノードに対するいかなるマッピングの式においても使用できません。
    • Environment
    • Root
    • Body
    • Properties
    • DesintationList
    • ExceptionList
    • LocalEnvironment
    • InputRoot
    • InputBody
    • InputProperties
    • InputDestinationList
    • InputExceptionList
    • InputLocalEnvironment
    • OutputRoot
    • OutputDestinationList
    • OutputExceptionList
    • OuputLocalEnvironment
    変更の終わり

    ESQL ルーチンのマッピング結果におけるマッピング・ステートメントの順序 (およびその実行順序も) は、 マッピング・ターゲット (メッセージ・エレメントおよびデータベース表列) の順序によって決定されます。 ターゲット側に複数のメッセージ・マッピング・ルーチンがある場合、 マッピング・エディターでそのいずれかをメッセージ本体の結果として宣言できます。 ですから、 他のメッセージ・マッピング・ルーチンはメッセージ・ヘッダーの結果を意味し、 こうしたメッセージ・マッピング・ルーチンに対応する ESQL ステートメントは、 ESQL プロシージャーのマッピングの結果として最初に生成されます (マッピングと ESQLを参照してください)。

    同一ターゲットで複数のマッピングがある場合には、 ESQL ステートメントはそれぞれのマッピングに対して生成されます。 この場合生成されるステートメントの順序は定義されていません。 ターゲット項目値はオーバーライドされ、 結果値は最後のマッピングに対応する値となります。

    マッピング・オブジェクト、マッピング・エディター、 およびマッピング式コンポーザーで、"I#" という表記 (二重引用符を含む) は、 反復構造の索引として使用されます。 この索引は、デバッガー変数ビューおよび警告メッセージに I# (二重引用符なし) と表示されます。 予期しない結果を避けるには、 メッセージ・エレメント、メッセージ属性、またはデータベース・テーブルの名前に二重引用符を使用しないでください。

関連概念
マッピング
マッピング・タイプ
メッセージ・マッピング
ネーム・スペース
相関名

関連タスク
マッピング・ファイルの作成
マッピングの構成
マッピングと ESQL
マッピングの定義

関連資料
マッピング