ERP コネクタのカスタマイズオプション
バックグラウンド
ERP コネクタのカスタマイズのセクションで説明しているように、ERP Connector をカスタマイズするには以下の方法があります。
1. 配布ターゲットの拡張を使用する。
2. カスタム Info*Engine タスクを使用して応答メッセージを必要な宛先に配信する。
これらとは別に、Windchill ESI Services のカスタマイズのセクションとWindchill のカスタマイズのセクションでそれぞれ説明しているように ESI サービスと Windchill をカスタマイズすることで、その他のカスタマイズのシナリオに対応できます。
このセクションでは、既成のファイルタイプ、FTP タイプ、および電子メールタイプの配布ターゲットでサポートされている宛先に ESI 応答を送信するために使用されるデフォルトの I*E タスクについて説明します。
Info*Engine タスク
ERP Connector はいくつかの Info*Engine タスクを使用して、関連する配布ターゲットへの ESI 応答を送信し、必要に応じて PostResult RPC を呼び出します。以下の各セクションでは、既成で使用されるタスクについて説明します。タスクに渡される入力パラメータについては、コンフィギュレーション可能なオプションのセクションを参照してください。
* 
ExportTo<XXX>.xml 内の各 I*E タスクは、<Windchill>/tasks/com/ptc/windchill/esi/export/ParseAndProcessResult.xml 内のタスクを実行することによって PostResult RPC を呼び出します。
ExportToFile
このタスクは Write-To-File という名前のカスタム Webject を使用します。コンテンツを引数としてとり、ファイルを作成します。ファイルの名前と場所は、それぞれ Webject パラメータ FILE_NAMEPATH の値によって決まります。
• Webject パラメータ:
パラメータ: FILE_NAME
説明: 作成するファイルの名前。このパラメータは、ERP Connector プリファレンス ESI Response File Prefix の値、エクスポートされるプライマリビジネスオブジェクトに関連付けられている組織の名前、タスクパラメータ transaction から取得された、基になる ESI トランザクションの idNumber 属性を連結することによって取得されます。連結されたトークンの間のセパレータとしてアンダースコア ('_') 文字が使用され、データが ESI XML フォーマットでエクスポートされるか PLM フォーマットでエクスポートされるかに応じてファイル拡張子 .xml または .jar が使用されます。
* 
このタスクは ESIUtility API getResponseFileName() を使用してファイル名をフェッチします。
パラメータ
: PATH
説明: ファイルを作成する必要がある場所へのパス。このパラメータは配布ターゲット属性 Path から取得されます。
パラメータ: CONTENT
説明: ファイルに書き込むデータ (XML 形式の ESI 応答)。これはタスクに関連付けられている VDB から取得されます。このパラメータは、GROUP_IN パラメータが指定されていない場合にのみ必要です。
* 
このパラメータは、ESI XML フォーマットでデータをエクスポートする場合にのみ関係があります。
パラメータ: XSL_URL
説明: ファイルに書き込む前に XML データに適用する XSL スタイルシートの URL。これは配布ターゲット属性 XSL_URL からフェッチされます。
パラメータ: XSL_DBUSER
説明: XSL スタイルシートへのアクセスに使用するユーザー名。XSL_PASSWD パラメータが指定されている場合、このパラメータは必須です。これは配布ターゲット属性 XSL_DBUser. からフェッチされます。
パラメータ: XSL_PASSWD
説明: XSL スタイルシートへのアクセスに使用するパスワード。これは配布ターゲット属性 XSL_Password からフェッチされます。
パラメータ: XSL_PARAM
説明: スタイルシートを XML データに適用する際に使用される XSL パラメータ。これは配布ターゲット属性 XSL_Parameters からフェッチされます。
注記: パラメータ XSL_URL、XSL_DBUSER、XSL_PASSWD、および XSL_PARAM は、ESI XML フォーマットでデータをエクスポートする場合にのみ関係があります。
パラメータ: GROUP_IN
説明: ESI 応答メッセージを表す IeCollection オブジェクト、プライマリビジネスオブジェクト、およびデータのエクスポート先の配布ターゲットが格納されている入力 Info*Engine グループの名前。これらは、それぞれ CONTENT、PRIMARY_OBJECT、および DISTRIBUTION_TARGET という名前の Att オブジェクトに格納されています
。このパラメータは、CONTENT パラメータが指定されていない場合 (データを PLM フォーマットでエクスポートする場合など) にのみ必要です。
デフォルト値: input
パラメータ: GROUP_OUT
説明: タスク実行時に作成される出力 Info*Engine グループの名前。
デフォルト値: output
ExportToFTP
このタスクは Write-To-Ftp という名前のカスタム Webject を使用します。コンテンツを引数としてとり、ファイルを作成します。ファイルの名前と FTP の場所は、それぞれ Webject パラメータ FILE_NAME と FTP_URL の値によって決まります。
Webject パラメータ:
パラメータ: FILE_NAME
説明: 指定された FTP の場所に作成するファイルの名前。このパラメータは、ERP Connector プリファレンス ESI Response File Prefix の値、エクスポートされるプライマリビジネスオブジェクトに関連付けられている組織の名前、タスクパラメータ transaction から取得された、基になる ESI トランザクションの idNumber 属性を連結することによって取得されます。連結されたトークンの間のセパレータとしてアンダースコア ('_') 文字が使用され、データが ESI XML フォーマットでエクスポートされるか PLM フォーマットでエクスポートされるかに応じてファイル拡張子 .xml または .jar が使用されます。
* 
このタスクは ESIUtility API getResponseFileName() を使用してファイル名をフェッチします。
パラメータ: FTP_URL
説明: サーバーのユーザー名とパスワード、その他の属性で構成される FTP サーバーへの URL。ユーザー名とパスワードが指定されていない場合、匿名ログインが使用されます。この URL は、配布ターゲット属性 FTP_UserIDFTP_PasswordFTP_HostFTP_Port、および FTP_Path を使用して構築されます。
パラメータ: FTP_MODE
説明: FTP 操作に関連付けられている転送のモード。これは以下の値をとります。
ASCII (または a) - テキストコンテンツの場合。
BINARY (または i) - バイナリ/イメージファイルの場合。
パラメータ: CONTENT
説明: 指定された FTP の場所のファイルに書き込むデータ (XML 形式の ESI 応答)。これはタスクに関連付けられている VDB から取得されます。このパラメータは、GROUP_IN パラメータが指定されていない場合にのみ必要です。
1. オプションで、パラメータ SOURCE_FILE の値を指定できます。その場合、CONTENT に指定した値は無視されますが、指定したファイルのコンテンツが FTP の場所にアップロードされます。
2. CONTENT パラメータは、ESI XML フォーマットでデータをエクスポートする場合にのみ関係があります。
パラメータ: SOURCE_FILE
説明: コンテンツを FTP サーバーにアップロードするファイルへのパス。このパラメータが指定されていない場合、CONTENT パラメータの値 (または GROUP_IN パラメータ内の CONTENT という名前の Att の値) が (writeToFile(task : Task) API を呼び出すことによって) <Windchill>/temp の下のファイルに書き込まれ、そのコンテンツが FTP の場所にアップロードされます。
* 
writeToFile(task : Task) API は、ESI 応答をファイルターゲットに送信するために Write-To-File Webject によって呼び出されるものと同じです。
パラメータ: XSL_URL
説明: FTP の場所に書き込む前に XML データに適用する XSL スタイルシートの URL。このパラメータは配布ターゲット属性 XSL_URL からフェッチされます。
パラメータ: XSL_DBUSER
説明: XSL スタイルシートへのアクセスに使用するユーザー名。XSL_PASSWD パラメータが指定されている場合、このパラメータは必須です。これは配布ターゲット属性 XSL_DBUser. からフェッチされます。
パラメータ: XSL_PASSWD
説明: XSL スタイルシートへのアクセスに使用するパスワード。これは配布ターゲット属性 XSL_Password からフェッチされます。
パラメータ: XSL_PARAM
説明: スタイルシートを XML データに適用する際に使用される XSL パラメータ。これは配布ターゲット属性 XSL_Parameters からフェッチされます。
* 
パラメータ XSL_URL、XSL_DBUSER、XSL_PASSWD、および XSL_PARAM は、Webject に SOURCE_FILE が指定された場合、または PLM フォーマットでデータをエクスポートする場合には無視されます。
パラメータ: GROUP_IN
説明: ESI 応答メッセージを表す IeCollection オブジェクト、プライマリビジネスオブジェクト、およびデータのエクスポート先の配布ターゲットが格納されている入力 Info*Engine グループの名前。これらは、それぞれ CONTENT、PRIMARY_OBJECT、および DISTRIBUTION_TARGET という名前の Att オブジェクトに格納されています。このパラメータは、CONTENT パラメータが指定されていない場合 (データを PLM フォーマットでエクスポートする場合など) にのみ必要です。
デフォルト値: input
* 
オプションで、パラメータ SOURCE_FILE の値を指定できます。その場合、GROUP_IN に指定した値は無視されますが、指定したファイルのコンテンツが FTP の場所にアップロードされます。
パラメータ: GROUP_OUT
説明: タスク実行時に作成される出力 Info*Engine グループの名前。
デフォルト値: output
ExportToSMTP
このタスクは Send-Mail という名前のメッセージ Webject を使用します。コンテンツを引数としてとり、指定された電子メールアドレスに ESI 応答を送信します。
* 
Send-Mail Webject の詳細については、Info*Engine User's Guide を参照してください。
注記:
• Webject パラメータ:
パラメータ: MAIL_SERVER
説明: 受信者にルーティングされるコンテンツの送信先となる SMTP サーバーのインターネットドメイン名。これは配布ターゲット属性 EmailHost からフェッチされます。この属性が配布ターゲットで指定されていない場合、このパラメータは Windchill プロパティ wt.mail.mailhost からフェッチされます。
説明: 電子メールの送信先アドレス (またはアドレスのコンマ区切りリスト)。これは配布ターゲット属性 To からフェッチされます。
パラメータ: CC
説明: 電子メールの送信先 CC アドレス (またはアドレスのコンマ区切りリスト)。ユーザー名とパスワードが指定されていない場合、匿名ログインが使用されます。このパラメータは配布ターゲット属性 Cc からフェッチされます。
パラメータ: BCC
説明: 電子メールの送信先 BCC アドレス (またはアドレスのコンマ区切りリスト)。ユーザー名とパスワードが指定されていない場合、匿名ログインが使用されます。このパラメータは配布ターゲット属性 Bcc からフェッチされます。
パラメータ: FROM
説明: メッセージの発信者の電子メールアドレス。これは配布ターゲット属性 From からフェッチされます。この属性が配布ターゲットで指定されていない場合、このパラメータは Windchill プロパティ wt.mail.from からフェッチされます。
パラメータ: REPLY_TO
説明: 返信先の電子メールアドレス (またはアドレスのコンマ区切りリスト)。これは配布ターゲット属性 ReplyTo からフェッチされます。
パラメータ: SUBJECT
説明: 送信されるメッセージの件名ヘッダー。これは、タスクパラメータtransactionから取得された、基になるトランザクションの idNumber 属性に、プレフィックスとして文字列 "トランザクション ID の ESI リリース" を追加することによって取得されます。
パラメータ: CONTENT
説明: 1 つまたは複数の宛先アドレスに送信されるデータ (XML 形式の ESI 応答)。これはタスクに関連付けられている VDB からフェッチされます。
* 
1. 上記の説明は、ESI XML フォーマットでデータをエクスポートする場合にのみ当てはまります。PLM フォーマットでエクスポートする場合、CONTENT パラメータは「See the attachment for the output.」というメッセージに設定されます。
2. ESI XML フォーマットでデータをエクスポートする場合、宛先アドレスに送信される電子メールには、本文だけでなく添付ファイルとしても ESI 応答メッセージが含まれています。ただし、PLM フォーマットを使用する場合、電子メールには (1) で説明したメッセージが本文として含まれ、出力 jar ファイルが添付ファイルとして含まれます。
パラメータ: XSL_URL
説明: 指定された 1 つまたは複数のアドレスに送信する前に XML データに適用する XSL スタイルシートの URL。
パラメータ: XSL_DBUSER
説明: XSL スタイルシートへのアクセスに使用するユーザー名。XSL_PASSWD パラメータが指定されている場合、このパラメータは必須です。
パラメータ: XSL_PASSWD
説明: XSL スタイルシートへのアクセスに使用するパスワード。
パラメータ: XSL_PARAM
説明: スタイルシートを XML データに適用する際に使用される XSL パラメータ。
注記: パラメータ XSL_URL、XSL_DBUSER、XSL_PASSWD、および XSL_PARAM は、ESI XML フォーマットでデータをエクスポートする場合にのみ関係があります。
パラメータ: GROUP_OUT
説明: タスク実行時に作成される出力 Info*Engine グループの名前。
デフォルト値: output
ParseAndProcessResult
「コンフィギュレーション可能なオプション」のセクションで説明しているように、ExportTo<XXX>.xml 内の各タスクは、次のいずれかの場合に ParseAndProcessResult.xml 内のタスクを呼び出します。
1. 関連 Webject が正常に実行され、ERP Connector プリファレンス Enable Post Result の値が Yes に設定されている場合、または
2. Webject の実行中にエラーが発生した場合。
ParseAndProcessResult.xml 内のタスクは、ERP Connector プリファレンス ESIPostResultMethod で指定されている I*E タスクを実行することによって PostResult RPC を呼び出します。ESI トランザクションを処理する際には、PostResult RPC が各サブトランザクションに対して 1 回、そしてそのトランザクションに対して 1 回呼び出されます。宛先と同じ数の ESI トランザクションがリリースに存在するものとして、これが宛先ごとに繰り返されます。
以下のパラメータが ParseAndProcessResult.xml 内のタスクに渡されます。
パラメータ名
説明
supporting-adapter
Windchill アダプタインスタンスの名前。これは Apply-Service Webject を使用した PostResult RPC の実行中に INSTANCE パラメータとして使用されます。
target
ESI 応答メッセージの送信先となる ESITarget オブジェクト。
response
XML 形式の ESI 応答メッセージ。
successful
ESI 応答が正常に送信された場合にはこのパラメータに true が渡され、そうでない場合は false が渡されます。
msg
サブトランザクションまたはトランザクションでメッセージ属性を設定するときに使用されるメッセージ。
objectID
リリースされたプライマリビジネスオブジェクトの UFID。
type
プライマリビジネスオブジェクトのタイプを表す文字列 (例: "com.ptc.windchill.esi.Part")。これはサブトランザクションで releaseClass 属性を設定するときに使用されます。
transactionID
基になるトランザクションを表す ESITransaction オブジェクトの idNumber 属性。
username
そのオブジェクトをリリースした Windchill ユーザーの名前。
* 
デフォルトでは、ParseAndProcessResult.xml 内のタスクは <Windchill>/tasks/com/ptc/windchill/esi/releaseResult/PostResult.xml 内のタスクを呼び出します。また、ESI 応答メッセージに <Windchill>/tasks/com/ptc/windchill/esi/lite/GetPostResultInfoForTarget.xsl 内のスタイルシートを適用して、サブトランザクションの PostResult RPC へのいくつかの引数をフェッチします。PostResult RPC およびこれに渡されるパラメータの詳細については、Windchill Enterprise Systems Integration Open Application Programming Interface Guide を参照してください。
コンフィギュレーション可能なオプション
ERP Connector プリファレンスは、ERP Connector 配布ターゲットのいくつかのコンフィギュレーション可能なオプションを制御します。
以下のオプションがあります。
ESI 応答が格納されるファイルの名前に使用するプレフィックスを指定します。たとえば、ファイルターゲットに書き込まれる (または電子メールターゲットに添付ファイルとして送信される) ファイルの名前は、このプリファレンスの値、エクスポートされるプライマリビジネスオブジェクトに関連付けられている組織の名前、基になる ESI トランザクションの idNumber 属性を、アンダースコア ('_') 文字をセパレータとして使用して連結することによって取得されます。
プリファレンス名: ESI 応答ファイルプレフィックス
デフォルト値: ESIResponse_
生成された ESI 応答メッセージをキャッシュするかどうかを定義します。このプリファレンスが Yes に設定されている場合、生成された ESI 応答は別のプリファレンスによって指定された場所にキャッシュされます。キャッシュされたファイルは、通常の ESI 応答が格納されるファイルと同じ名前になります。
プリファレンス名: 応答キャッシュを有効化
デフォルト値: はい
• キャッシュバージョンの ESI 応答が作成される場所へのパスを定義します。このプリファレンスは、プリファレンス「応答キャッシュを有効化」の値が「はい」の場合にのみ重要となります。
プリファレンス名: ESI 応答キャッシュの場所
デフォルト値: <Windchill>/logs/esicache
一般的なカスタマイズ
ERP Connector で実現可能なカスタマイズのシナリオのいくつかを以下にリストします。
XML 形式の ESI 応答を、ファイル、FTP、電子メール以外のターゲットタイプ (JMS キューなど) に送信します。このためには、ソフトタイプの配布ターゲット拡張を作成し、必要に応じてその属性を定義する必要があります。カスタム Webject (EXT タイプ) を呼び出すカスタム Info*Engine タスクも作成する必要があります。
カスタム Info*Engine タスクを使用して、使用可能な任意のターゲットタイプ (ファイル、FTP、または電子メール) に ESI 応答を送信します。
ESI サービスをカスタマイズして、ESI 応答をカスタムフォーマットで生成します。これを実現するために、たとえば、ESI 応答メタ情報ファイルをさまざまな方法で修正できます。さらに、カスタムターゲットを使用する場合、カスタムバージョンの getDestinationId() API と getPlantName() API を使用できます。ESI サービスのカスタマイズに使用可能な各種オプションについては、「Windchill ESI Services のカスタマイズ」のセクションを参照してください。
* 
PLM フォーマットでデータをエクスポートする際に、ESI 応答メタ情報ファイルの内容を修正しても、ESI 応答メッセージのフォーマットには影響がありません。
これは役に立ちましたか?