高度なカスタマイズ > Windchill ESI のカスタマイズ > Windchill ESI のカスタマイズ - SAP > 例 - Windchill から SAP > プラント固有属性をサポートするためのミドルウェアのカスタマイズ
プラント固有属性をサポートするためのミドルウェアのカスタマイズ
この例では、プラント固有属性をサポートするように TIBCO プロジェクトをカスタマイズする手順を示します。この例では、ESI 応答で Part バケットに PlantBuyerID エレメントが含まれるように Windchill ESI サービスがカスタマイズされていることを前提としています。TIBCO プロジェクトの変更はセクション 9.4 で説明されているものとほぼ同じです。一部の手順のみが異なりますが、このセクションでもすべての手順について説明します。
PlantBuyerID の値は配布ターゲットによって異なるので、同じ部品の ESI 応答であっても、配布ターゲットが異なれば、含まれる Part バケットは異なります。
Windchill ESI Services でのプロセス:
1. メソッドサーバーからアクセス可能なディレクトリに ESI 応答メタ情報ファイル ($CODEBASE$/com/ptc/windchill/esi/ESIResponseMetaInfo.xml) のコピーを作成します。
* 
Windchill ESI のインストール時に提供された応答メタ情報ファイルを直接修正しないでください。このファイルは将来ソフトウェアがリリースされる際に置き換えられる可能性があります。このファイルを修正する必要がある場合は、新しい場所にコピーし、代わりにコピーを修正します。
2. 以下に示すように、手順 (1) で作成した応答メタ情報ファイルのコピーで部品の Map エレメントにエントリを追加します。エントリは ESIResponse スキーマにおける場合と同じ場所でエレメントに追加するようにします。
<esi:Map id="ESIPart">

<esi:attributeMapping sourceAttribute="PlantBuyerID" plantSpecificAttribute=”true”>PlantBuyerID</esi:attributeMapping>

</esi:Map>
3. 修正した Map エレメントの id 属性を、システム内のほかの Map エレメントで使用されていない値に修正します。たとえば、以下のようにします。
<esi:Map id="ESIPlantSpecificPart">


</esi:Map>
4. 以下に示すように、ファイル内の対応する MapInformation エレメントの mapRef エレメントのコンテンツを修正します。
<esi:MapInformation id="ESIPartInfo">

<esi:keyAttribute>PlantBuyerID</esi:keyAttribute>
<esi:mapRef>ESIPlantSpecificPart</esi:mapRef>
</esi:MapInformation>
5. 上記の変更を行ったファイルを保存します。データのパブリッシング先となる配布ターゲットの「配布ターゲットを編集」 UI を使用して、修正バージョンの応答メタ情報ファイルを指すように属性「ESI 応答メタ情報のファイルパス」を編集します。
6. Windchill ESI プリファレンス「プラント特有情報をパブリッシング」「はい」に設定します。
7. 「ビュー管理」 UI を使用して、プラント固有の属性のパブリッシング先となる SAP 内のプラントを表すビューを Windchill PDMLink で作成します。たとえば、パブリッシング対象の部品に関連付けられている配布ターゲットの Plant 属性が 1100 と 1200 に設定されている場合、Manufacturing ビューの子として 1100 という名前のビューと 1200 という名前のビューを作成します。
8. 「タイプおよび属性の管理」 UI を使用して、PlantBuyerID というグローバル属性をビュー固有のデータオブジェクトに追加します。
9. パブリッシング対象の部品の製造製品エクスプローラを開き、「ERP データ」 > 「ビュー固有データ」タブを選択します。新規ビューデータを追加するオプションを使用し、新規ビューデータを追加するダイアログでビューとして 1100 を選択し、PlantBuyerID として ID1 を選択して、新しいビュー固有データエントリを追加します。ビューとして 1200 を選択し、PlantBuyerID 属性として ID2 を選択して、2 つ目のビュー固有データエントリを追加します。
* 
ここでは、パブリッシング対象の部品を Windchill で作成したときに、Windchill MPMLink プリファレンス「ERP 材料自動作成のソフトタイプ」の値にトークンの 1 つとして "wt.part.WTPart" が含まれるように設定されていたことを前提としています。この設定がない場合、新規ビューデータを追加するオプションを「ビュー固有データ」タブで選択することはできません。
EAI ソフトウェアコンポーネントでのプロセス:
1. ESIResponse スキーマを修正します。
場所:
<プロジェクト名> > SharedConfigurations > ESISchemas > WindchillInteractionSchemas > ESIResponse
a. PlantBuyerID 用に文字列タイプのエレメントを作成します。
以下に示すように Part エレメントで変更を行います。
上の図では、PlantBuyerID が参照として追加されています。
2. CBO スキーマを修正します。
B) PartUserArea での変更
場所: <プロジェクト名> > SharedConfigurations > ESISchemas > EAIMiddlewareSchemas > PartUserArea
UserAreaFields の名前を PlantBuyerID に変更します。
3. コレクションから CBO にマッピングします。
場所:
プロセス: <プロジェクト名> > ProcessDefinitions > Start_ESIResponse_Map_CBO_PD
アクティビティ: Mapper_ESIResponse_CBO_Headers
a. マッピングを変更して PlantBuyerID をマッピングします。
b. マッピングエラーがないことを確認します。
4. ERP 呼び出しにマッピングします。
場所:
プロセス: <プロジェクト> > ProcessDefinitions > ERP Communications > Part > Start_CBOPart_CreateChange_PD
アクティビティ: Invoke_BAPI_MATERIAL_SAVEREPLICA ClientData での変更
ClientData での変更
ClientDataX での変更
PlantData での変更
PlantDataX での変更
5. ESILookup.properties に追加します。データ構造に従って、検索情報を ESILookup.properties ファイルに追加します。
この例を実行する方法:
1. ESILookup.properties 内のプロパティファイルが適切に修正されていることを確認します。
2. 適切な配布ターゲットが Windchill に読み込まれていることを確認します。
3. リリース済み状態があるライフサイクルが少なくとも 1 つ存在していることを確認します。
4. すべてのコンポーネント (Windchill、TIBCO、SAP) が稼動していることを確認します。
5. Windchill MPMLink プリファレンス「ERP 材料自動作成のソフトタイプ」の値にトークンの 1 つとして "wt.part.WTPart" が含まれるように設定されていることを確認します。
6. Windchill ESI プリファレンス「プラント特有情報をパブリッシング」の値が「はい」に設定されていることを確認します。
7. 新規部品を作成し、必要に応じてこれに配布ターゲットを関連付けて、部品の製造製品エクスプローラから必要なビュー固有データエントリを追加し、部品のライフサイクル状態を「リリース済み」に設定することで、サンプル Windchill ESI ワークフローを使用して SAP にリリースします。
8. プロセスが完了した後、SAP にログインし、関連プラントでデータが正しく作成されたことを確認します。
これは役に立ちましたか?