配布ターゲットのクラス
ESITarget
配布ターゲットは一意の宛先を表します。各宛先は Windchill データベース内で永続化され、ESITarget オブジェクトは永続化された宛先を表します。クラス ESITargetwt.fc.Item のサブクラスであり、Item クラスの Windchill 永続化機能とアクセス制御機能を継承します。さらに、ソフトタイプ拡張の作成を可能にしてオブジェクトイベント通知をサポートするため、インタフェース wt.type.Typedwt.notify.Notifiable をそれぞれ実装します。
ESITarget オブジェクトには 7 つのモデル化属性があります。namenumber、および description 属性は、ERP Connector 配布ターゲット割当ユーザーインタフェースのために提供されています。name 属性には最大 450 文字の値を含めることができるのに対し、number 属性には最大 32 文字の値を含めることができます。description 属性の長さは最大 2048 文字です。name 属性と number 属性は必須です。description 属性は Null でも構いません。さらに、各 ESITarget オブジェクトの number 属性には、データベース内で一意の値が指定されている必要があります。defaultForContext 属性は、その ESITarget オブジェクトが、作成先のコンテナのデフォルトオブジェクトであるかどうかを示します。true に設定した場合、その ESITarget オブジェクトは、関連付けられているコンテナのデフォルトのオブジェクトになります。これはデフォルトでは false に設定されています。status 属性は、その ESITarget オブジェクトがアクティブであるかどうかを示します。status の値は、wt.fc.EnumeratedType の拡張であるクラス ESITargetStatusType によって定義されます。列挙タイプに格納されている値 active は、その ESITarget オブジェクトがアクティブであることを示します。値 inactive は、非アクティブなターゲットであることを示し、そのオブジェクトが ESI トランザクションに参加することはできません。デフォルトでは、status 属性は "active" に設定されています。taskURI 属性には、ESI 応答メッセージを必要な宛先に送信するために使用される Info*Engine タスクへのパスが格納されます。宛先がファイル、FTP、電子メールターゲットのいずれであるかに応じて、この属性はデフォルトで com/ptc/windchill/esi/export/ExportToFile.xmlcom/ptc/windchill/esi/export/ExportToFTP.xml、または com/ptc/windchill/esi/export/ExportToSMTP.xml に設定されています。responseMetaInfoPath 属性には、配布ターゲットに生成される応答メッセージのフォーマットを決定する ESI 応答メタ情報ファイルへのパスが格納されます。この属性はデフォルトで $CODEBASE$/com/ptc/windchill/esi/ESIResponseMetaInfo.xml に設定されています。カスタマイズされたバージョンの応答メッセージを取得するためにこのファイルを修正する方法については、ESI 応答メタ情報ファイルの修正セクションを参照してください。
* 
デフォルトでは、ESI 応答で送信されるエレメント <Destination><TargetID> の両方に、該当する配布ターゲットの number 属性が格納されます。クラス ESITargetUtility の getDestinationId() API と getTargetId() API をそれぞれ使用して、これらのエレメントのコンテンツがフェッチされます。これについては配布ターゲットの割当クラスの確立セクションで説明しています。
前述のモデル化属性に加え、ESITarget オブジェクトには複数のソフト属性があり、その値によって、応答メッセージを構成する具体的なデータが決まります。たとえば、属性 ESIPart_AlternateFlag が true に設定されている場合、配布ターゲットに応答メッセージを生成する際に、パブリッシング対象の部品に関連付けられている代替部品が処理されます。そのような (特定のビジネスオブジェクトタイプに関連する) 属性とその説明のリストについては、変更通知のパブリッシングBOM のパブリッシング部品のパブリッシングプロセス計画のパブリッシングリソースのパブリッシングの各セクションを参照してください。
指定された ERP Connector の宛先に固有の属性を ESITarget オブジェクトに保存するために、ERP コネクタにはデフォルトで、ESIFileTarget、ESIFTPTarget、ESIEmailTarget の 3 つのソフトタイプ拡張が用意されています。これらの属性の詳細については、ERP Connector のオンラインヘルプを参照してください。
ERP Connector には ESITarget オブジェクトを定義するためのユーザーインタフェースが用意されており、これには「サイト」 > 「ユーティリティ」または「組織」 > 「ユーティリティ」ページに表示される「配布を管理」 UI オプションからアクセスできます。
* 
ESITarget の属性は、ユーザーインタフェースには (内部名ではなく) display names で表示されます。たとえば、responseMetaInfoPath 属性は ESI Response Meta Information File Path という名前で表示されます。ほとんどの場合、どの属性を指しているのかは表示名から簡単に判断できます。
Windchill ESI Services では以下を行うメソッドも提供されています。
ESITarget オブジェクトを定義する。
ESITarget オブジェクトを削除する。
ESITarget オブジェクトを WTOrganization オブジェクトに関連付ける。
ESITarget オブジェクトと WTOrganization オブジェクトの間の関連付けを除去する。前述のすべてのモデル化属性には、パブリック setter メソッドとパブリック getter メソッドがあります。
このクラスで使用可能な属性とメソッドの詳細については、Windchill リリース関連の Java ドキュメンテーションを参照してください。
* 
属性 defaultForContext の場合、パブリック getter メソッドの名前は DefaultForContext です。これは単に属性の値を返します。
ESITargetAssignmentLink
配布ターゲットの割当は、Windchill 永続可能オブジェクトと ESITarget の間に永続関係を作成することによって実現します。ESITargetAssignmentLink オブジェクトはこれらの関係を表します。ESITargetAssignmentLinkwc.fc.ObjectToObjectLink のサブクラスであり、そのクラスの永続関係機能を継承します (「Windchill ESI レンダラーの使用」の図を参照)。
ESITargetAssociation
Windchill ESI Services のメソッドは、多くの場合、Windchill 永続可能オブジェクトと ESITarget の間の関係を一時的に維持する必要があります。この関係はデータベース内で永続化できますが、必ずしも永続化する必要はありません。ESITargetAssociation インタフェースは、Windchill ESI Services のメソッド用に関係管理機能を提供します。これらのメソッドは関係が永続化されているかどうかを知る必要はありません。Windchill ESI Services の一般公開されているいくつかのメソッドは、ESITargetAssociation オブジェクトのコレクションを引数としてとります。これらのメソッドは、多くの場合、ESITargetAssociation オブジェクトのコレクションを返します。
関係が永続化されていることがわかっている場合、ESITargetAssignmentLink オブジェクトが Windchill 永続オブジェクトマネージャから作成または取得されます (配布ターゲット割当オブジェクトの図を参照)。
ESIQueryTargetAssociation
関係が永続化されていることが不明である場合、ESIQueryTargetAssociation オブジェクトが Windchill ESI Services の呼び出し元によって作成されます (「Windchill ESI レンダラーの使用」の図を参照)。Windchill ESI Services API のいくつかのメソッドでは、引数として ESITargetAssociation のインスタンスを指定する必要があります。このような引数を指定する必要があるオブジェクトに便宜を図るために ESIQueryTargetAssociation クラスが提供されています。ESIQueryTargetAssociation を使用しているオブジェクトは、データベース内にオブジェクトを作成する必要がありません。
これは役に立ちましたか?