基本的な管理機能 > コラボレーションのサポート > ワークフロー管理 > ワークフローツール > ワークフローテンプレート管理 > ワークフローのコーディング例 > 同期化ロボットの例 > オブジェクトの状態による同期化
  
オブジェクトの状態による同期化
このトピックでは、ドキュメントが特定のライフサイクル状態になるときを認識する同期化ロボットノードの例を示します。
参照ワークフロー
SynchronizeOn State.xml
説明
以下の定義式は、ドキュメントの状態をリッスンし、ドキュメントがリリースされるとアクティビティを起動します。ロボットが受信するイベントは wt.lifecycle.lifeCycleServiceEvent.STATE_CHANGE、受信する Windchill クラスは wt.doc.WTDocument です。
指示
ワークフローテンプレートの System フォルダ内にドキュメントを作成します。docNumber という変数を定義し、作成したドキュメント数に相当するデフォルト値を指定します。この変数は java.lang.String であることに注意してください。
以下のコードをコピーします。
//fetch the object that emitted the State_change event.
wt.doc.WTDocument targetObject = ( wt.doc.WTDocument ) ((wt.events.KeyedEvent) event).getEventTarget();
//Set the result to null so the robot keeps running until the condition is satisfied.
result=nul
l
//check if the object that emitted the state_change event is the same document that the Robot is looking for.
// docNumber is a variable that holds the number of the document that the Robot is looking for.
if ( targetObject.getNumber( ).equals ((( wt.doc.WTDocument ) primaryBusinessObject). getNumber ())){
//check if the document has been released. If so, fire the next activity else the result is null so the robot keeps running //in the background.
if ( targetObject.getLifeCycleState ().equals ( wt.lifecycle.State.RELEASED )){
result = "released";
}
}