Amministrazione di base > Supporto per la collaborazione > Amministrazione dei workflow > Strumenti per workflow > Amministrazione dei modelli di workflow > Esempi di codice di workflow > Esempi di robot di sincronizzazione > Sincronizzazione allo stato del ciclo di vita di un oggetto
  
Sincronizzazione allo stato del ciclo di vita di un oggetto
Questo argomento contiene un esempio relativo a un nodo di robot di sincronizzazione che rileva quando un documento raggiunge uno stato del ciclo di vita specificato.
Workflow di riferimento
SynchronizeOn State.xml
Descrizione
L'espressione resta in ascolto dello stato del ciclo di vita di un documento e viene attivata al rilascio del documento. L'evento e la classe Windchill per cui il robot resta in ascolto sono rispettivamente wt.lifecycle.lifeCycleServiceEvent.STATE_CHANGE e wt.doc.WTDocument.
Istruzioni
Creare un documento nella cartella System del modello di workflow. Definire una variabile denominata docNumber e attribuirle un valore di default corrispondente al numero del documento appena creato. La variabile รจ di tipo java.lang.String.
Copiare il codice riportato di seguito.
//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";
}
}