Sincronización en el estado de un objeto
En este tema se proporciona un ejemplo del nodo de robot de sincronización, que detecta el momento en que un documento alcanza un estado de ciclo de vida especificado.
Proceso de trabajo de referencia
SynchronizeOn State.xml
Descripción
La expresión vigila el estado de un documento y se arranca cuando éste se libera. El evento que espera el robot es wt.lifecycle.lifeCycleServiceEvent.STATE_CHANGE y la clase Windchill que espera el robot es wt.doc.WTDocument.
Instrucciones
Cree un documento en la carpeta System de la plantilla del proceso de trabajo. Defina una variable denominada docNumber y otórguele el valor por defecto equivalente al número del documento que acaba de crear. Observe que la variable es del tipo java.lang.String.
Copie el código siguiente:
//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";
}
}
¿Fue esto útil?