手順 6: SAP の外で API モレキュラ機能を検証する
SAP Readiness Validator の導入
手順 6 の目的は、Windchill Enterprise Systems Integration の現実的なテストシナリオを使用して TIBCO BusinessWorks と SAP とのインタフェースの問題を特定することです。この段階で問題を見つけることで、実際の Enterprise Systems Integration ビジネスロジック、Windchill PDMLink、および Enterprise Systems Integration サービスが根本原因から除外され、トラブルシューティングが簡単になります。
テストシナリオは、SAP Readiness Validation Process の手順 5 で策定したものと一致している必要があります。接続された "モレキュラ" シリーズの SAP API を呼び出して、実際の Windchill Enterprise Systems Integration ソリューションによる呼び出しをエミュレートします。ただし、この場合、SAP 内から API を呼び出すのではなく、TIBCO BusinessWorks で開発され、Windchill Enterprise Systems Integration EAI Windchill シミュレーションモジュールで提供されている API テストアプリケーションを使用します。このテストユーティリティを SAP Readiness Validator と呼びます。
テスト内容
SAP Readiness Validator では、各 Windchill Enterprise Systems Integration ビジネス機能を実行し、API が予想どおりに動作していることを確認できます。SAP Readiness Validator では次のビジネス機能のテストがサポートされています。
番号
Windchill Enterprise Systems Integration ビジネス機能
必要条件/前提条件
1
部品の作成
該当なし
2
部品リビジョンの作成
部品と変更マスターが存在する
3
部品の変更
部品が存在する
4
BOM の作成
BOM ヘッダーと BOM コンポーネントに部品が存在する
5
BOM の変更
BOM が存在する
6
ドキュメントの作成
該当なし
7
ドキュメントリビジョンの作成とドキュメントの変更に加え、オプションで、ドキュメントリンクの追加または削除
ドキュメントが存在する。ドキュメントリンクではリンクされた部品が存在することを前提とする
8
変更通知の作成
該当なし
9
変更通知の変更3
変更通知が存在する
10
ツーリング (工具と取付具) の作成
該当なし
11
ツーリング (工具と取付具) の変更
ツーリングが存在する
12
加工材料の作成
該当なし
13
加工材料の変更
加工材料が存在する
14
ルーティングとそのすべての関連オブジェクト (オペレーション、サブオペレーション、シーケンス、材料割当、コンポーネント割当など) の作成
該当なし
15
ルーティングとそのすべての関連オブジェクト (オペレーション、サブオペレーション、シーケンス、材料割当、コンポーネント割当など) の変更
ルーティングとすべての関連オブジェクトが存在する
SAP Readiness Validator でサポートされるビジネス機能
* 
ECN の変更は Windchill Enterprise Systems Integration の主要な機能ではありませんが、このソリューションでは、ECN 作成操作中に ECN 変更 API を使用して、各ラインアイテムの代替エフェクティビティ日付が追加され、ECN ヘッダー内のエフェクティビティ日付が更新されます。
含まれるもの
「SAP Readiness Validator でサポートされるビジネス機能」のテーブルに示されている Windchill Enterprise Systems Integration ビジネス機能それぞれは、次のように、Windchill Enterprise Systems Integration EAI Windchill シミュレーションモジュール内で別個のプロセス定義として実現されています。
番号
Windchill Enterprise Systems Integration ビジネス機能
BusinessWorks プロセス定義名
1
部品の作成/変更
RV_Part_SAPCreateChange_PD
2
部品リビジョンの作成
RV_Revision_SAPCreate_PD
3
BOM の作成
RV_BOM_SAPCreate_PD
4
BOM の変更
RV_BOM_SAPChange_PD
5
ドキュメントの作成
RV_Document_SAPCreate_PD
6
ドキュメントリビジョンの作成とドキュメントの変更に加え、オプションで、ドキュメントリンクの追加または削除
RV_Document_SAPChange_PD
7
変更通知の作成
RV_ECN_SAPCreate_PD
8
変更通知の変更
RV_ECN_SAPChange_PD
9
取付具タイプのツーリングの作成
RV_Equipment_SAPCreate_PD
10
取付具タイプのツーリングの変更
RV_Equipment_SAPChange_PD
11
プロセス計画の作成
RV_ProcessPlan_SAPCreate_PD
12
プロセス計画の変更
RV_ProcessPlan_SAPChange_PD
SAP Readiness Validator での BusinessWorks プロセス定義
SAP Readiness Validator は Logging_Service と呼ばれる共有プロセス定義を使用して、各ビジネス機能にログ作成機能も提供します。
前述のプロセス定義は、以下に示すように、Windchill Enterprise Systems Integration EAI Windchill シミュレーションモジュールリポジトリの /ProcessDefinitions/SAPReadinessValidator フォルダと /ProcessDefinitions/Services フォルダにあります。
SAP Readiness Validator での BusinessWorks プロセス定義
テストデータ入力を提供するために、SAP Readiness Validator は既成の Windchill Enterprise Systems Integration ソリューションで想定および使用されるフィールドに、SAP API 入力スキーマと一致する一連の外部 XML ドキュメントファイル (スキーマインスタンス) を使用します。これらのファイルのサンプルが Windchill Enterprise Systems Integration CD に収録されています。XML ドキュメントファイルは次のとおりです。
ビジネス機能テストシナリオ
使用されるソーステストデータ XML ファイル
部品の作成または変更
BAPI_MATERIAL_SAVEREPLICA.xml
BAPI_TRANSACTION_COMMIT.xml
部品リビジョンの作成
CALO_INIT_API.xml
CCAP_REV_LEVEL_MAINTAIN.xml
BAPI_TRANSACTION_COMMIT.xml
BAPI_TRANSACTION_COMMIT.xml
消費情報の更新
/PTC/ZMATERIAL_COSTS_SPLIT_UPD
BOM の作成
CALO_INIT_API.xml
BAPI_MATERIAL_BOM_GROUP_CREATE.xml
BOM の変更
CALO_INIT_API.xml
CSAP_MAT_BOM_MAINTAIN.xml
ドキュメントの作成
BAPI_DOCUMENT_CREATE2.xml
BAPI_TRANSACTION_COMMIT.xml
ドキュメントリビジョンの作成とドキュメントの変更に加え、オプションで、ドキュメントリンクの追加または削除
BAPI_DOCUMENT_CREATENEWVRS2.xml
BAPI_TRANSACTION_COMMIT.xml
BAPI_DOCUMENT_CHANGE2.xml
変更通知の作成
CALO_INIT_API.xml
CCAP_ECN_CREATE.xml
変更通知の変更
CALO_INIT_API.xml
CCAP_ECN_MAINTAIN.xml
取付具タイプのツーリングの作成
ZRFC_CREATE_EQUIPMENT.xml
取付具タイプのツーリングの変更
ZRFC_MODIFY_EQUIPMENT.xml
プロセス計画の作成
BAPI_ROUTING_CREATE.xml
BAPI_TRANSACTION_COMMIT.xml
BAPI_TRANSACTION_ROLLBACK.xml
プロセス計画の変更
ZRFC_MODIFY_ROUTING.xml
SAP Readiness Validator のサンプルソーステストデータ XML ファイル
SAP Readiness Validator は実際の Enterprise Systems Integration ビジネスロジックの API 呼び出しを正確に模倣しますが、たとえば、BAPI_TRANSACTION_ROLLBACK を使用せず、タイムアウトエラー発生時に API 呼び出しを再試行しないなど、一部の処理を簡素化します。これにより、例外条件や TIBCO BusinessWorks の複雑なプログラミングロジックではなく、想定される正しい SAP API 機能に焦点を当ててトラブルシューティングを行うことができます。
SAP Readiness Validator では、ソーステストデータ XML ファイルで指定したデータに基づいて、SAP 配布ターゲットシステムに実際のビジネスオブジェクトが作成されます。
* 
本番システムやビジネスに不可欠なシステムでは、これらの手順を実行しないでください。代わりに、本番環境をできるだけ正確にレプリケーションした開発システムまたはサンドボックスシステムを使用してください。
ユーザーガイド
SAP Readiness Validator を使用するには、次の手順に従います。
1. Windchill Enterprise Systems Integration Installation and Configuration Guide に従って、TIBCO BusinessWorks と TIBCO Adapter for SAP をインストールします (まだインストールしていない場合)。この時点でこれらの製品を設定する必要はありません。SAP Readiness Validator は TIBCO Enterprise Message Server または Windchill PDMLink を必要としません。TIBCO TurboXML はオプションです。
2. TIBCO Designer を起動します。
3. EAI Windchill シミュレーションモジュールリポジトリ ESISimulationWindchillRepository_vxxx.dat (ここで、xxx はバージョン番号) を開きます。このリポジトリには SAP Readiness Validator の機能が含まれており、ESIMasterRepository とは完全に別個に存在します。
4. 必要に応じて、SAP Readiness Validator のグローバル変数値をデフォルト設定から変更します。たとえば、UNIX システムを使用している場合、グローバル変数 ESIValidatorDirectory の値を変更する必要があります。
変数名
説明
有効な値
デフォルト値
ESIValidatorDirectory
EAI Windchill シミュレーションモジュールがソーステストデータ XML ファイルを検索するディレクトリ。
任意の有効なディレクトリ。
c:\tibco\esi\SAPValidator\
ESIValidatorLogRole
SAP Readiness Validator によって発行され、TIBCO BusinessWorks プロセスエンジンのログメッセージの横に表示されるラベル。
任意のテキスト文字列。
APITEST
SAP Readiness Validator のグローバル変数
SAP Readiness Validator はタイムアウトエラー発生時に API 呼び出しを再試行しません。RequestTimeout で、TIBCO BusinessWorks プロセスエンジンがアダプタからの応答を待機する時間 (ミリ秒) を定義します。この時間が経過すると技術的なエラーが発生します。
* 
グローバル変数の値に対する変更は、TIBCO BusinessWorks プロセスエンジンが起動 (すでに実行中の場合は再起動) するまで有効になりません。
5. EAI Windchill シミュレーションモジュールリポジトリをサーバーベースのリポジトリとして保存します。
6. グローバル変数 ESIValidatorDirectory の値によって指定したサブディレクトリをオペレーティングシステム上に作成します。
7. 「SAP Readiness Validator のサンプルソーステストデータ XML ファイル」のテーブルにリストされているソーステストデータ XML ファイルを、Windchill Enterprise Systems Integration CD から、オペレーティングシステム上のグローバル変数 ESIValidatorDirectory の値によって指定したサブディレクトリにコピーします。
8. TIBCO Adapter for SAP のインスタンス PartConfiguration、BOMConfiguration、DocumentConfiguration、ECNConfiguration を展開します。詳細については、Windchill Enterprise Systems Integration Installation and Configuration Guide の「アダプタコンフィギュレーションパラメータの設定」のセクションを参照してください。
9. Enterprise Systems Integration Installation and Configuration Guide の説明に従って、TIBCO BusinessWorks プロセスエンジンを展開します。
10. 実行する Windchill Enterprise Systems Integration ビジネス機能テストシナリオを決定し、「SAP Readiness Validator のサンプルソーステストデータ XML ファイル」のテーブルに従って、対応するテストデータ XML ファイルのコンテンツを編集します。
テストデータの条件は、各自の Windchill Enterprise Systems Integration の展開によって異なります。実際の Enterprise Systems Integration ビジネスロジックで通常はデフォルトで使用されるか相互参照されるフィールド値をハードコードする必要があります。手順については、次のドキュメンテーションを参照してください。
XML ファイルは、直接編集することも、任意の XML エディタを使用して編集することもできます。ただし、必ず UTF-8 フォーマットでファイルを保存してください。
11. Enterprise Systems Integration Installation and Configuration Guide の説明に従って、TIBCO Adapter for SAP インスタンスと TIBCO BusinessWorks プロセスエンジンを起動します。
12. ビジネス機能テストシナリオを実行します。SAP Readiness Validator の各プロセス定義は Rendezvous Subscriber アクティビティで始まります。オペレーティングシステムのコマンドラインで簡単な Rendezvous メッセージを発行することで、目的のプロセスをトリガーして実行できます。UNIX プラットフォームでは、最初に <Tibco_ホーム>/tibrv/<version>/bin ディレクトリに移動する必要があります。コマンドのフォーマットは次のとおりです。
tibrvsend [件名] [メッセージ]
ここで、[件名] は次のように構成されます。
[ドメイン].[操作].[オブジェクト]
[メッセージ] は、"start" など、任意のメッセージテキスト文字列です。
たとえば、次のコマンドは、"ABCDomain" という名前の TIBCO BusinessWorks 管理ドメインで "部品の作成" テストシナリオを実行します。
tibrvsend ABCDomain.Create.Part "start"
次のことに注意してください。
SAP Readiness Validator は、これらの件名命名規則を厳守していない Rendezvous メッセージを無視します。tibrvsend コマンドが、対応する BusinessWorks プロセスの実行のトリガーに失敗した場合、コマンドのフォーマットを再確認してから再試行してください。
[Domain] は、TIBCO BusinessWorks 管理ドメインの名前です。
有効な [Action]-[Object] のペアは次のとおりです。
ビジネス機能テストシナリオ
[操作]
[オブジェクト]
部品の作成/変更
CreateChange
部品
部品リビジョンの作成
Create
Revision
BOM の作成
Create
BOM
BOM の変更
Change
BOM
ドキュメントの作成
Create
ドキュメント
ドキュメントリビジョンの作成とドキュメントの変更に加え、オプションで、ドキュメントリンクの追加または削除
Change
ドキュメント
変更通知の作成
Create
ECN
変更通知の変更
Change
ECN
取付具タイプのツーリングの作成
Create
Equipment
取付具タイプのツーリングの変更
Change
Equipment
プロセス計画の作成
Create
ProcessPlan
プロセス計画の変更
Change
ProcessPlan
tibrvsend トリガーコマンドの [操作]-[オブジェクト] のペア
13. テストシナリオが正常に実行されたことを確認します。SAP Readiness Validator は、各 API 呼び出しの結果を TIBCO BusinessWorks プロセスエンジンのログに記録します。ログメッセージには、TIBCO Adapter for SAP が各 API を呼び出すことができたかどうか (技術的な成功)、およびその API によって処理されたテストデータが、このドキュメントの「SAP API 応答の特性」のセクションで示されているガイドラインに基づいて "機能的に成功" したかどうかが示されます。SAP Readiness Validator は、SAP からの API リターンメッセージや TIBCO BusinessWorks スタックトレースなど、必要に応じて追加のデバッグデータもログに記録します。
たとえば、"部品の作成" シナリオが正常に実行されると、TIBCO BusinessWorks プロセスエンジンのログに次のメッセージが書き込まれます。
2003 Sep 03 12:12:05:989 GMT -4 Engine APITEST [] PE-APITEST Job-100
[ProcessDefinitions/Services/Logging_Service/Log]: Create Part Step 1: BAPI_MATERIAL_SAVEREPLICA technical success.
2003 Sep 03 12:12:06:340 GMT -4 Engine APITEST [] PE-APITEST Job-1000
[ProcessDefinitions/Services/Logging_Service/Log]: Create Part Step 2: BAPI_MATERIAL_SAVEREPLICA functional success. TYPE=S, ID=MM, NUMBER=356, MESSAGE=The material STUBTEST1 has been created or extended
2003 Sep 03 12:12:07:872 GMT -4 Engine APITEST [] PE-APITEST Job-1000
[ProcessDefinitions/Services/Logging_Service/Log]: Create Part Step 3: BAPI_TRANSACTION_COMMIT technical success.
2003 Sep 03 12:12:08:072 GMT -4 Engine APITEST [] PE-APITEST Job-1000
[ProcessDefinitions/Services/Logging_Service/Log]: Create Part Step 4: BAPI_TRANSACTION_COMMIT functional success. TYPE=, ID=, NUMBER=000, MESSAGE=
次の例では、BAPI_MATERIAL_SAVEREPLICA の API 呼び出しは成功しましたが、BAPI_TRANSACTION_COMMIT の呼び出し時に TIBCO BusinessWorks プロセスで技術的なエラーが発生しました。
2003 Sep 03 12:49:27:646 GMT -4 Engine APITEST [] PE-APITEST Job-6000
[ProcessDefinitions/Services/Logging_Service/Log]: Create Part Step 1: BAPI_MATERIAL_SAVEREPLICA technical success.
2003 Sep 03 12:49:27:977 GMT -4 Engine APITEST [] PE-APITEST Job-6000
[ProcessDefinitions/Services/Logging_Service/Log]: Create Part Step 2: BAPI_MATERIAL_SAVEREPLICA functional success. TYPE=S, ID=MM, NUMBER=356, MESSAGE=The material STUBTEST1 has been created or extended
2003 Sep 03 12:49:40:305 GMT -4 Engine APITEST [] PE-APITEST Job-6000
[ProcessDefinitions/Services/Logging_Service/Log]: Create Part Step 3: BAPI_TRANSACTION_COMMIT technical FAILURE. StackTrace=Error in [ProcessDefinitions/SAPReadinessValidator/RV_Part_SAPCreateChange_PD/ Invoke_BAPI_TRANSACTION_COMMIT_BAPI_MATERIAL_SAVEREPLICA] for Job- 6000
activity timed out
at com.tibco.pe.core.Task.eval(Unknown Source) at com.tibco.pe.core.Job.a(Unknown Source)
at com.tibco.pe.core.Job.if(Unknown Source)
at com.tibco.pe.core.JobDispatcher$a.a(Unknown Source) at com.tibco.pe.core.JobDispatcher$a.run(Unknown Source)
シナリオが失敗した場合、以降の実行を試行する際に API 呼び出しアクティビティがフリーズする可能性があります。これは、SAP Readiness Validator に BAPI_TRANSACTION_ROLLBACK 呼び出しがないことが原因である可能性があります。この場合、関連するアダプタインスタンスを再起動してから再試行してください。
14. 「ビジネスオブジェクトの作成を確認する SAP トランザクションコード」のテーブルに示されている SAP トランザクションを使用して、ソーステストデータ XML ファイルで指定したデータに対応するビジネスオブジェクトが正しい属性で SAP に存在することを確認します。
15. テストシナリオと条件ごとに、手順 10 から 14 を繰り返します。
これは役に立ちましたか?