Mapping ノード

このトピックには、以下のセクションが含まれています。

目的

1 つ以上の新規メッセージを構成して、それに新規情報や入力メッセージからの変更された情報、またはデータベースから取得した情報を取り込むには、Mapping ノードを使用します。 メッセージ本体データのエレメント、関連する環境、および例外リストを変更できます。

ノードのメッセージ・マップを最初に開くかまたは作成するときに、オプション「このマップがメッセージ・フロー・ノードから呼び出され、プロパティーおよびメッセージ本体をマップする」を指定すると、入力メッセージ内のヘッダーは、常に変更されずに出力メッセージにコピーされます。

Mapping ノードでメッセージ・ヘッダーを変更したい場合は、オプション「このマップがメッセージ・フロー・ノードから呼び出され、プロパティー、ヘッダー、およびメッセージ本体をマップする」を選択する必要があります。 これを実行する場合、作成されるマップにより、MQ、HTTP、および JMS ヘッダーを含む追加のエレメントをマップできます。

これらの出力メッセージのコンポーネントは、出力メッセージおよび外部データベースからの入力メッセージおよびデータの両方のエレメントに基づくマッピングを使用して定義することができます。 入力 (メッセージまたはデータベース) を出力にマッピングして、このノードに関連付けられたマッピング・ファイルに、このノードに関連付けられたマッピングを作成します。 提供されたまたはユーザー定義の関数およびプロシージャーを使用して、これらのマッピングによって作成された割り当てを変更することもできます。 例えば、ストリング値をメッセージ出力フィールドに割り当てるときに、そのストリング値を英大文字に変換できます。

以下の目的で、Mapping ノードを使用します。

  • 新しいメッセージを構築する
  • パーサー間でメッセージをコピーする
  • メッセージをある形式から別の形式に変換する

ワークベンチでは、Mapping ノードは次のアイコンで表されます。

Mapping ノード・アイコン

メッセージ・フロー内でのこのノードの使用

このノードが使用される方法に関しては、次のサンプルを参照してください。

Mapping ノードの構成

Mapping ノードのインスタンスをメッセージ・フローに入れると、Mapping ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。ノードの基本プロパティーが表示されます。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。

以下のように、Mapping ノードを構成します。

  1. データ・ソース」に、メッセージ・フローが実行されるシステム上で該当するデータベースが認識される名前を指定します。 ブローカーは、mqsicreatebrokermqsichangebroker、または mqsisetdbparms コマンドを使用してセットアップしたユーザー ID およびパスワード情報を使用して、このデータベースに接続します。

    z/OS システムの場合、ブローカーは、ブローカーが開始するタスクの ID を使用するか、または mqsisetdbparms コマンド JCL の、カスタマイズ・データ・セット <hlq>.SBIPPROC の BIPSDBP で指定されたユーザー ID とパスワードを使用します。

  2. ドロップダウン・メニューから「トランザクション 」を選択します。 値は以下のとおりです。
    • 「自動」(デフォルト)。 Mapping ノードが属するメッセージ・フローが正常に行われると、そのメッセージ・フローが コミットされます。 つまり、マッピングで定義したアクションが実行され、メッセージはメッセージ・フローを通して継続します。 メッセージ・フローは、失敗するとロールバックされます。 「自動」を選択した場合、データベース上で Mapping ノードのアクションをコミットするかロールバックするかは、メッセージ・フロー全体の成功または失敗に依存します。
    • 「コミット」。メッセージ・フロー全体の成功または失敗に関係なく、このノードに接続しているデータベースのメッセージ・フローで実行されたコミットされていないアクションをコミットしたい場合は、「コミット」を選択します。メッセージ・フローが失敗しても、データベースへの変更はコミットされます。
  3. マッピング・ルーチン」に、このノードで実行されるマッピング・ルーチンを指定します。 デフォルトでは、マッピング・ルーチンに割り当てられる名前は、ルーチンが定義されているマッピング・ファイルの名前と同一です。 ファイルのデフォルト名は、メッセージ・フローの名前にメッセージ・フローに組み込む際のノードの名前を連結したものです (例えば、メッセージ・フロー MFlow1 の最初の Mapping ノードの場合は、MFlow1_Mapping.mfmap)。 スペースを含む値は指定できません。

    この入力フィールドの隣の「ブラウズ」をクリックすると、このノードからアクセス可能なすべての使用可能なマッピング・ルーチンをリストしたダイアログが表示されます。 必要なルーチンを選択し、「OK」をクリックします。 ルーチン名が「マッピング・モジュール」に設定されます。

    このノードに関連するマッピング・ルーチンを処理するには、ノードを右クリックして「マッピングを開く」を選択します。 マッピング・ルーチンが存在しない場合は、デフォルト名で、デフォルト・ファイルの中に作成されます。 すでに存在する場合には、「ナビゲーター」ビューで <flow_name>_<node_name>.mfmap ファイルを開くこともできます。

    マッピング・ルーチンは、関連するノードのタイプに特有のものです。 Mapping ノード用に開発したマッピング・ルーチンを、マッピングを使用する他のノード (DataInsert ノードなど) と一緒に使用することはできません。 マッピング・ルーチンを作成した場合、それを他のマッピング・ルーチンから呼び出すことはできません。 ただし、ESQL ルーチンから呼び出すことは可能です。

    マッピング・ファイルでの作業とその内容の定義について詳しくは、メッセージ・マッピングの開発を参照してください。

  4. マッピング・モード」に、Mapping ノードを経由して渡される情報を処理するのに使用するモードを指定します。 「メッセージ」「LocalEnvironment」、および「例外」コンポーネントのさまざまな組み合わせを選択することができ、Mapping ノードで生成および変更できます。

    このプロパティーは、必要な出力メッセージ形式を正しく反映するように設定する必要があります。メッセージの特定のコンポーネントを含んでいないオプションを選択した (またはデフォルト値を受け入れた) 場合、そのコンポーネントは、構成される出力メッセージに組み込まれません。

    (バージョン 2.1 より前のリリースでは、関連環境 (LocalEnvironment) は DestinationList として知られていました。 DestinationList は有効で、互換性を保つために使用することができます。)

    (メッセージ・ツリーの「環境」コンポーネントは、モード設定に影響されません。 これに内容がある場合、その内容はこのノードから受け渡されます。)

    これらのオプションについては、以下の表で説明します。

    モード 説明
    メッセージ (デフォルト) メッセージが Mapping ノードにより生成されるか、または Mapping ノード内で変更されて渡されます。
    LocalEnvironment LocalEnvironment ツリー構造が Mapping ノードにより生成されるか、または Mapping ノード内で変更されて渡されます。
    LocalEnvironment とメッセージ LocalEnvironment ツリー構造とメッセージが Mapping ノードにより生成されるか、または Mapping ノード内で変更されて渡されます。
    例外 例外リストが Mapping ノードによって生成されるか、または Mapping ノード内で変更されて渡されます。
    例外とメッセージ 例外リストとメッセージが Mapping ノードによって生成されるか、または Mapping ノード内で変更されて渡されます。
    例外と LocalEnvironment 例外リストと LocalEnvironment ツリー構造が Mapping ノードによって生成されるか、または Mapping ノード内で変更されて渡されます。
    すべて メッセージ、例外リスト、および LocalEnvironment が Mapping ノードによって生成されるか、または Mapping ノード内で変更されて渡されます。
  5. プロパティー・ダイアログ・ナビゲーターで「基本」を選択し、次の 2 つのチェック・ボックスを設定するかまたはチェックを外します。
    • データベース警告メッセージをエラーとして扱い、ノードから出力メッセージを failure ターミナルに伝搬したい場合は、「警告をエラーとして扱う」チェック・ボックスを選択します。 最初、このチェック・ボックスはチェックされていません。

      このボックスを選択した場合、ノードはデータベースからのすべての正の戻りコードをエラーとして扱い、負の戻りコードについてと同じ方法で例外を生成するか、問題がより重大である場合はエラーを生成します。

      このボックスを選択しなかった場合、ノードは警告を通常の戻りコードとして扱い、例外を生成しません。 生成される最も重大な警告は「見つかりません」であり、これはほとんどの環境で正常な戻りコードとして支障なく扱うことができます。

    • データベース・エラーが検出されたときにブローカーが例外を生成するようにしたい場合は、「データベース・エラーで例外をスローする」チェック・ボックスを選択します。 最初、このチェック・ボックスは選択されています。

      このチェック・ボックスのチェックを外す場合には、メッセージ・フロー内のエラーを処理してブローカーとデータベースの整合性を確認する必要があります。ブローカーによるデフォルト・エラー処理を呼び出さないように選択してあるため、自分でエラーを処理しない限り、エラーは無視されます。 例えば、エラー処理サブルーチンに failure ターミナルを接続できます。

  6. MRM パーサーの場合、メッセージ・セットから生成されたディクショナリーに対してメッセージ本体の妥当性検査を行いたいのであれば、プロパティー・ダイアログ・ナビゲーターの「妥当性検査」を選択します。 (メッセージがターミナルの failure ノードに伝搬される場合には、妥当性検査は行われません。)

    詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。

  7. プロパティー・ダイアログ・ナビゲーターで「一般メッセージ・オプション」を選択します。 「解析のタイミング」は、デフォルトで、「要求時」に設定されます。 この設定では、部分構文解析によって構文解析されるまで、妥当性検査が遅延します。 設定を「即時」に変更すると、部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。 ただし、「構成」が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものは除きます。 設定を「完全」に変更すると、部分構文解析はオーバーライドされて、メッセージ内のすべてのものが構文解析および妥当性検査されます。「構成」が「選択」または「メッセージ」に指定された複合タイプで、この時点で解決できないものでは 妥当性検査障害が生じます。

    MQRFH2C コンパクト・パーサーを、MQRFH2 パーサーの代わりに MQRFH2 ヘッダーに対して使用したい場合は、「MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用」チェック・ボックスを選択します。

  8. プロパティー・ダイアログ・ナビゲーターで XMLNSCparser オプションを選択し、XMLNSC パーサーを XMLNS ドメイン内のメッセージに対して使用したい場合は、「XMLNSC コンパクト・パーサーを XMLNS ドメインに使用」チェック・ボックスを選択します。

    他のプロパティーは、XMLNSC パーサーを入力メッセージ内の混合テキスト、コメント、および処理命令に使用するかどうかを制御します。

  9. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明」を選択します。
  10. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに Mapping ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

    「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。

ターミナルおよびプロパティー

Mapping ノード・ターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure 計算時に障害が検出された場合、入力メッセージが伝搬される出力ターミナル。 「警告をエラーとして扱う」を選択した場合、処理が正常に完了しても、データベース警告メッセージが戻された場合にメッセージはノードからこのターミナルに伝搬されます。
Out マッピングの実行後にメッセージを出力する出力ターミナル。

以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。

Mapping ノードの「基本」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
データ・ソース いいえ はい   このノードに関連付けられたマッピング (「マッピング・モジュール」プロパティーで識別される) で参照する表が存在するデータベースの ODBC データ・ソース名。
トランザクション はい いいえ 自動 ノードのトランザクション・モードです。有効な値は、「自動」または「コミット」です。
マッピング・ルーチン はい いいえ マッピング データベースまたはメッセージ・ツリーに対して実行されるステートメントが含まれるマッピング・ルーチンの名前。 このルーチンは、このタイプのノードに固有のものです。
マッピング・モード はい いいえ メッセージ 以下のいずれかを選択します。
  • メッセージ
  • LocalEnvironment
  • LocalEnvironment とメッセージ
  • 例外
  • 例外とメッセージ
  • 例外と LocalEnvironment
  • すべて
複数のターゲット・メッセージを伝搬するマップを構成したい場合、このプロパティーを Local Environment および Message に設定して、ノードが正しく実行するようにします。
警告をエラーとして扱う はい いいえ 選択されていない データベース SQL 警告をエラーとして扱います。 チェック・ボックスを選択すると、このアクションが実行されます。
データベース・エラーで例外をスローする はい いいえ 選択されている データベース・エラーによりブローカーは例外をスローします。 チェック・ボックスを選択すると、このアクションが実行されます。

Mapping ノードの妥当性検査プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
妥当性検査 はい はい 「なし」 妥当性検査が行われるかどうか。有効な値は、「なし」「内容と値」「内容」、および「継承」です。
失敗処置 はい いいえ 例外 妥当性検査障害が発生した場合の処理。「妥当性検査」が「内容」または「内容と 値」に設定されている場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」「ローカル・エラー・ログ」「例外」、および「例外リスト」です。
すべての値制約を含める はい いいえ 選択されている このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、すべての値制約が妥当性検査に含まれるということです。
修正 はい いいえ 「なし」 このプロパティーは編集できません。 最小限の修正が行われます。 有効な値は、「なし」、および「フル」です。

Mapping ノードの汎用メッセージ・オプションのプロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
構文解析のタイミング はい いいえ 要求時 このプロパティーは、入力メッセージを構文解析する時を制御します。 有効な値は、「要求時」「即時」、および「完全」です。

このプロパティーの詳細については、要求時の構文解析を参照してください。

MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 いいえ いいえ 「False」 このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。

Mapping ノードの XMLNSC パーサー・オプションについては、次の表に説明されています。

プロパティー M C デフォルト 説明
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 はい 選択されていない 「いいえ」 変更の始まりこのプロパティーを設定すると、出力 MQRFH2 が XMLNSC パーサーではなく XMLNS パーサーを指定して、外部アプリケーションが変更されないようにします。出力メッセージに MQRFH2 ヘッダーが含まれていない場合は、このプロパティーは影響しません。変更の終わり
混合内容保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、混合テキストに対してエレメントが作成されます。 「なし」を選択すると、混合テキストは無視されて、エレメントは作成されません。
コメント保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、コメントに対してエレメントが作成されます。 「なし」を選択すると、コメントは無視されて、エレメントは作成されません。
処理命令保存モード はい いいえ 「なし」 このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、処理命令に対してエレメントが作成されます。 「なし」を選択すると、処理命令は無視されて、エレメントは作成されません。

Mapping ノードの「説明」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac04720_