関係変換を含むマップをテストするときは、テスト・データに加えて次の情報を指定する必要があります。
マップの実行コンテキストには呼び出しのコンテキストも含まれる。マッピング API の多くの関係メソッドでは、この呼び出しのコンテキストを使用して、マッピング中に行うアクションを決定する。そのため、マップの関係属性をテストする場合は、通常は変換に対して適切な呼び出しのコンテキストを指定する必要がある。
一致関係の呼び出しコンテキスト SERVICE_CALL_RESPONSE をテストするとき、テスト実行で関係の汎用キー値を探し出せるようにするため、マップに汎用ビジネス・オブジェクトを指定する必要がある。
「テスト」タブの「ソース・テスト・データ」ペインでこの情報を指定します。
ヒント: 「ソース・テスト・データ」ペインの幅が狭く、「呼び出しのコンテキスト」コンボ・ボックスのメニュー・オプションの一部が見えない場合は、<-||-> 記号が見えるまでカーソルを右側境界の上に移動し、境界を右側にドラッグすることで領域のサイズを拡張できます。
関係をテストする場合は、ビジネス・オブジェクトのリストから適切な汎用オブジェクトを選択し、「呼び出しのコンテキスト」を選択し、「テスト・データ」画面ですでに設定したオブジェクトと一致する親オブジェクトと子オブジェクトに ObjectEventId を設定します。
指定が必要な呼び出しのコンテキスト、および汎用ビジネス・オブジェクトを指定する必要があるかどうかは、テストする関係のタイプによって異なります。このセクションの内容は次のとおりです。
一致関係の 2 地点間マッピング (アプリケーション 1 から アプリケーション 2 へ) をテストするには、次の 3 つのマップを使用します。
例: 図 44 は Clarify アプリケーションと SAP アプリケーション間で行われる顧客データの 2 地点間通信の例を示しています。各アプリケーションが固有キー値を使用して顧客を識別する場合、これら 3 つのビジネス・オブジェクトは一致関係で関連付けられます。したがって、各マップには「相互参照」変換規則が組み込まれています。各マップが実行されると、これらの関係メソッドは実行するアクションを決定するため、呼び出しのコンテキストにアクセスします。
Create 動詞をテストするには、Application 1 (図 44 では Clarify アプリケーション) の新しいアプリケーション固有のキー値により、汎用ビジネス・オブジェクトに新しい汎用キー値が追加され、さらに Application 2 (図 44 では SAP アプリケーション) に新しいアプリケーション固有のキー値が追加されることを検証する必要があります。したがって、テストは次の 3 つの手順から構成されます。
表 21. 一致関係用の App1-to-Generic マップのテスト
アウトバウンド・マップ Generic_to_App2 の一致関係をテストするには、ソース・テスト・データで汎用キー値を指定する必要があります。次の処理が行われることがありますが、どちらも間違っています。
どちらの場合も、Map Designer Express は RelationshipRuntimeException または NullPointerException を生成します。 SERVICE_CALL_REQUEST が正しく動作するには、システムに汎用キー値が存在する必要があるため、エラーが発生しました。また、関係表は汎用キーが保管される唯一の場所ではありません。
正しい解決策は、同じ一致関係を使用するインバウンド・マップ
EVENT_DELIVERY (または ACCESS_REQUEST)
を最初に実行することです (1 を参照)。アウトバウンド・マップ Generic_to_App2
をテストするには、表 22 のステップに従ってください。
表 22. 一致関係用の generic-to-app2 マップのテスト
テスト実行をセットアップするには | テスト実行を検査するには |
---|---|
4.
宛先ビジネス・オブジェクトに生成されたアプリケーション固有のキー値を読み取ります。Application
2 はまだキー値を生成していないため、この値は空です。
5. 宛先ビジネス・オブジェクトを選択し、コンテキスト・メニューから「保管」を選択して、.bo ファイル (例えば、Generic_to_App2.bo) に宛先ビジネス・オブジェクト・データを保管します。 |
呼び出しのコンテキストが SERVICE_CALL_RESPONSE である場合、一致関係はアプリケーション固有のビジネス・オブジェクトの ID を汎用ビジネス・オブジェクトの ID に相互参照させる必要があります。
したがって、このテストでは、汎用ビジネス・オブジェクト定義を指定する必要があります。
表 23 の手順に従ってください。
表 23. 一致関係用の App2_to_Generic マップのテスト
テスト実行をセットアップするには | テスト実行を検査するには |
---|---|
| 7.
宛先ビジネス・オブジェクトに生成された汎用キー値を読み取ります。この値は、汎用ソース・ビジネス・オブジェクトに入力したものと同値になります。
8. Relationship Manager を使用し、正しいアプリケーション固有のキー値がこの一致関係用の汎用キー値に関連付けられていることを検査できます。 |
他の動詞のテストも同様のステップに従います。一致関係用の関係メソッドの動作の詳細については、関係のインプリメントを参照してください。
参照関係の 2 地点間マッピング (アプリケーション 1 から アプリケーション 2 へ) をテストするには、次の 2 つのマップを使用します。
例: 図 45 は Clarify アプリケーションと SAP アプリケーション間で行われる顧客データの 2 地点間通信の例を示しています。各アプリケーションが特殊な静的コードを使用して都道府県を識別する場合、これら 3 つのビジネス・オブジェクトは参照関係で関連付けることができます。したがって、各マップには静的参照を実行するカスタム変換が組み込まれています。詳細については、"例 3: 変換での Static Lookup の使用"に示す「静的参照」アクティビティーの例を参照してください。各マップが実行されると、これらの関係メソッドは実行するアクションを決定するため、呼び出しのコンテキストにアクセスします。
Create 動詞をテストするには、Application 1 (図 45 では Clarify アプリケーション) の既存のアプリケーション固有の参照値により、汎用ビジネス・オブジェクトに関連する汎用参照値が追加され、さらに Application 2 (図 45 では SAP アプリケーション) の関連するアプリケーション固有の参照値がそのビジネス・オブジェクトに追加されます。したがって、テストは次の 2 つの手順から構成されます。
表 24. 参照関係用の App1-to-Generic マップのテスト
テスト実行をセットアップするには | テスト実行を検査するには |
---|---|
4.
宛先ビジネス・オブジェクトに生成された汎用参照値を読み取ります。この値は
App1/Generic 参照関係の関係表に対して取得されています。
5. 宛先ビジネス・オブジェクトを選択し、コンテキスト・メニューから「保管」を選択して、.bo ファイル (例えば、App1_to_Generic.bo) にビジネス・オブジェクト・データを保管します。 |
表 25. 参照関係用の Generic-to-App2 マップのテスト
テスト実行をセットアップするには | テスト実行を検査するには |
---|---|
4.
宛先ビジネス・オブジェクトに生成されたアプリケーション固有のキー値を読み取ります。この値は
Application 2 参照値を含んでいます。
5. 宛先ビジネス・オブジェクトを強調表示にし、コンテキスト・メニューから「保管」を選択して、.bo ファイル (例えば、Generic_to_App2.bo) にビジネス・オブジェクト・データを保管します。 |
しかし、通常、このテストが必要になるのは、マップが参照データを必要とする他の処理を行う場合のみです。マッピング API の参照関係用関係メソッドは、関係表にデータを書き込みません。