このトピックには、以下のセクションが含まれています。
1 つ以上の新規メッセージを構成して、それに新規情報や入力メッセージからの変更された情報、またはデータベースから取得した情報を取り込むには、Mapping ノードを使用します。 メッセージ本体データのエレメント、関連する環境、および例外リストを変更できます。
ノードのメッセージ・マップを最初に開くかまたは作成するときに、オプション「このマップがメッセージ・フロー・ノードから呼び出され、プロパティーおよびメッセージ本体をマップする」を指定すると、入力メッセージ内のヘッダーは、常に変更されずに出力メッセージにコピーされます。
Mapping ノードでメッセージ・ヘッダーを変更したい場合は、オプション「このマップがメッセージ・フロー・ノードから呼び出され、プロパティー、ヘッダー、およびメッセージ本体をマップする」を選択する必要があります。 これを実行する場合、作成されるマップにより、MQ、HTTP、および JMS ヘッダーを含む追加のエレメントをマップできます。
これらの出力メッセージのコンポーネントは、出力メッセージおよび外部データベースからの入力メッセージおよびデータの両方のエレメントに基づくマッピングを使用して定義することができます。 入力 (メッセージまたはデータベース) を出力にマッピングして、このノードに関連付けられたマッピング・ファイルに、このノードに関連付けられたマッピングを作成します。 提供されたまたはユーザー定義の関数およびプロシージャーを使用して、これらのマッピングによって作成された割り当てを変更することもできます。 例えば、ストリング値をメッセージ出力フィールドに割り当てるときに、そのストリング値を英大文字に変換できます。
以下の目的で、Mapping ノードを使用します。
ワークベンチでは、Mapping ノードは次のアイコンで表されます。
Mapping ノードのインスタンスをメッセージ・フローに入れると、Mapping ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。ノードの基本プロパティーが表示されます。
値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。
以下のように、Mapping ノードを構成します。
z/OS システムの場合、ブローカーは、ブローカーが開始するタスクの ID を使用するか、または mqsisetdbparms コマンド JCL の、カスタマイズ・データ・セット <hlq>.SBIPPROC の BIPSDBP で指定されたユーザー ID とパスワードを使用します。
この入力フィールドの隣の「ブラウズ」をクリックすると、このノードからアクセス可能なすべての使用可能なマッピング・ルーチンをリストしたダイアログが表示されます。 必要なルーチンを選択し、「OK」をクリックします。 ルーチン名が「マッピング・モジュール」に設定されます。
このノードに関連するマッピング・ルーチンを処理するには、ノードを右クリックして「マッピングを開く」を選択します。 マッピング・ルーチンが存在しない場合は、デフォルト名で、デフォルト・ファイルの中に作成されます。 すでに存在する場合には、「ナビゲーター」ビューで <flow_name>_<node_name>.mfmap ファイルを開くこともできます。
マッピング・ルーチンは、関連するノードのタイプに特有のものです。 Mapping ノード用に開発したマッピング・ルーチンを、マッピングを使用する他のノード (DataInsert ノードなど) と一緒に使用することはできません。 マッピング・ルーチンを作成した場合、それを他のマッピング・ルーチンから呼び出すことはできません。 ただし、ESQL ルーチンから呼び出すことは可能です。
マッピング・ファイルでの作業とその内容の定義について詳しくは、メッセージ・マッピングの開発を参照してください。
このプロパティーは、必要な出力メッセージ形式を正しく反映するように設定する必要があります。メッセージの特定のコンポーネントを含んでいないオプションを選択した (またはデフォルト値を受け入れた) 場合、そのコンポーネントは、構成される出力メッセージに組み込まれません。
(バージョン 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 ノード内で変更されて渡されます。 |
このボックスを選択した場合、ノードはデータベースからのすべての正の戻りコードをエラーとして扱い、負の戻りコードについてと同じ方法で例外を生成するか、問題がより重大である場合はエラーを生成します。
このボックスを選択しなかった場合、ノードは警告を通常の戻りコードとして扱い、例外を生成しません。 生成される最も重大な警告は「見つかりません」であり、これはほとんどの環境で正常な戻りコードとして支障なく扱うことができます。
このチェック・ボックスのチェックを外す場合には、メッセージ・フロー内のエラーを処理してブローカーとデータベースの整合性を確認する必要があります。ブローカーによるデフォルト・エラー処理を呼び出さないように選択してあるため、自分でエラーを処理しない限り、エラーは無視されます。 例えば、エラー処理サブルーチンに failure ターミナルを接続できます。
詳細については、メッセージの妥当性検査およびMRM ドメインのメッセージの妥当性検査プロパティーを参照してください。
MQRFH2C コンパクト・パーサーを、MQRFH2 パーサーの代わりに MQRFH2 ヘッダーに対して使用したい場合は、「MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用」チェック・ボックスを選択します。
他のプロパティーは、XMLNSC パーサーを入力メッセージ内の混合テキスト、コメント、および処理命令に使用するかどうかを制御します。
「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。
Mapping ノード・ターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Failure | 計算時に障害が検出された場合、入力メッセージが伝搬される出力ターミナル。 「警告をエラーとして扱う」を選択した場合、処理が正常に完了しても、データベース警告メッセージが戻された場合にメッセージはノードからこのターミナルに伝搬されます。 |
Out | マッピングの実行後にメッセージを出力する出力ターミナル。 |
以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。
Mapping ノードの「基本」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
データ・ソース | いいえ | はい | このノードに関連付けられたマッピング (「マッピング・モジュール」プロパティーで識別される) で参照する表が存在するデータベースの ODBC データ・ソース名。 | |
トランザクション | はい | いいえ | 自動 | ノードのトランザクション・モードです。有効な値は、「自動」または「コミット」です。 |
マッピング・ルーチン | はい | いいえ | マッピング | データベースまたはメッセージ・ツリーに対して実行されるステートメントが含まれるマッピング・ルーチンの名前。 このルーチンは、このタイプのノードに固有のものです。 |
マッピング・モード | はい | いいえ | メッセージ | 以下のいずれかを選択します。
|
警告をエラーとして扱う | はい | いいえ | 選択されていない | データベース SQL 警告をエラーとして扱います。 チェック・ボックスを選択すると、このアクションが実行されます。 |
データベース・エラーで例外をスローする | はい | いいえ | 選択されている | データベース・エラーによりブローカーは例外をスローします。 チェック・ボックスを選択すると、このアクションが実行されます。 |
Mapping ノードの妥当性検査プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
妥当性検査 | はい | はい | 「なし」 | 妥当性検査が行われるかどうか。有効な値は、「なし」、「内容と値」、「内容」、および「継承」です。 |
失敗処置 | はい | いいえ | 例外 | 妥当性検査障害が発生した場合の処理。「妥当性検査」が「内容」または「内容と 値」に設定されている場合にのみ、このプロパティーを設定できます。 有効な値は、「ユーザー・トレース」、「ローカル・エラー・ログ」、「例外」、および「例外リスト」です。 |
すべての値制約を含める | はい | いいえ | 選択されている | このプロパティーは編集できません。 チェック・ボックスが選択されていることにより示されるデフォルトのアクションは、すべての値制約が妥当性検査に含まれるということです。 |
修正 | はい | いいえ | 「なし」 | このプロパティーは編集できません。 最小限の修正が行われます。 有効な値は、「なし」、および「フル」です。 |
Mapping ノードの汎用メッセージ・オプションのプロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
構文解析のタイミング | はい | いいえ | 要求時 | このプロパティーは、入力メッセージを構文解析する時を制御します。
有効な値は、「要求時」、「即時」、および「完全」です。
このプロパティーの詳細については、要求時の構文解析を参照してください。 |
MQRFH2C コンパクト・パーサーを MQRFH2 ドメインに使用 | いいえ | いいえ | 「False」 | このプロパティーは、MQRFH2 パーサーの代わりに、MQRFH2C コンパクト・パーサーを MQRFH2 ヘッダーに使用するかどうかを制御します。 |
Mapping ノードの XMLNSC パーサー・オプションについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 | はい | 選択されていない | 「いいえ」 | ![]() ![]() |
混合内容保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内に混合テキストを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、混合テキストに対してエレメントが作成されます。 「なし」を選択すると、混合テキストは無視されて、エレメントは作成されません。 |
コメント保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内にコメントを検出したとき、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、コメントに対してエレメントが作成されます。 「なし」を選択すると、コメントは無視されて、エレメントは作成されません。 |
処理命令保存モード | はい | いいえ | 「なし」 | このプロパティーは、XMLNSC パーサーが入力メッセージ内に処理命令を検出したとき、これらのメッセージ・ツリー内にエレメントを作成するかどうかを制御します。 有効な値は、「なし」および「すべて」です。「すべて」を選択すると、処理命令に対してエレメントが作成されます。 「なし」を選択すると、処理命令は無視されて、エレメントは作成されません。 |
Mapping ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |