Synchronize on Class or Object Event
Synchronization robot nodes that synchronize on events will execute their expression whenever the event is emitted. For class-based synchronization robots, this means when any object of the target class emits the specified event (for example, every time a part reaches the Released state). For object-based synchronization robots, this means when the target object emits the specified event.
The procedures for synchronizing on class events and object events is almost identical.
• For Class Events, you must select a Windchill class.
• For Object Events, you must select a variable referencing a Windchill object.
Windchill-keyed events are emitted by Windchill services and managers. The Synchronization robot node listens for the event defined on this tab and fires when the event occurs.
You can specify a filtering expression that must be true for the Synchronize robot to fire. If the expression is not true, then the Synchronize robot does not fire. However, the robot continues to recheck the event and fires when the expression becomes true.
Use the following procedure to define the event that the robot will listen for.
• Select the class or object of the event from the Windchill Class or Windchill Object list.
• Select the event from the Event list.
• If you want to specify a filtering expression, enter it in the Routing Expression field.
Use the following procedure to synchronize the start of an activity or process with a Windchill-keyed class or object event:
1. Enter the name of the custom event in the Routing Events field.
2. Enter the event and its source in the Routing Expression field. Enter only one custom event per line.
3. Enter a variable from the Insert list.
4. Click Check Syntax to verify that the Java code you have entered is correct.
The expression entered in the Initial Expression field is executed when the process reaches the Synchronization robot. The route selected during the execution of the Synchronization robot is based upon the result of the conditions specified in the expression.
If the result variable is not set in the Routing Expression field, the Synchronization robot does not execute further.