I have a question for event receives. If an event receive has only a route that begins at the receive, what happens if the event is thrown from either the same or another process. Will the process proceed from the event receive or what will happen?
I have been looking in the documentation, but found no help there.
Can anybody explain this to me?
The process executes until it comes to the event receive. The event receive waits for the event to be thrown -- the process does not progress until the event is thrown. When the event is thrown, the process continues according to the routes and conditions that follow the event receive (in the same way that routes are followed after an operation is executed).
I think that is also what I understood from the documentation. However imageine the following scenario:
I have a process which is somewhere in its executon path, this process instance also has a receive event which has no route pointing to it, only a route pointing FROM it (to some other activity in the process. So the process is executing (but the receive event has never been reached - as it has no incoming routes) and suddenly another process throws the exact receive event. What will happen? Does it at all make sense to have the possibility to create a receive event with no incoming routes?
I hope this makes my question a little clearer.
Thanks in advance
I understand your question. You cannot have an event receive with no incoming routes. The event receive is only 'listening' for event throws when it is the current step in the process that is executing. If there are no incoming routes, the event receive will never execute.
Perhaps what you could use is an Event Start Point -- these are always 'listening' for event throws. They are used to invoke a process when the event is thrown.
I am using a no-wait gateway in a loop to spin off multiple of the same branch. After the last one completes, I need to get the flow back out into the main map. I put an event throw in the branch and a catch in the main map. The flow now moves the way I want. However, any modification to any process variable after the catch seems to be ignored. If I set a process variable to a value using a SetValue step then go into a log step after, the variable retains it's previous value.