Skip to main content

Please see the screen shot below.


Using IPC events. Again – this is just an example of trying to find the best way to run parallel processes.


In this example the “Default Activity” and the “Start Sub Process” will begin at the same time(this contains 3 IPC events which seem to run sequentially). The “Default Activity” will finish and fire off the “Finish Sub Process” even though the “Start Sub Process” had not finished all of its work. Notice the First Sub Process has still not fired – when it does eventually go, the Finish Sub Process will fire a second time.


 


What is the best method to keep the “Finish Sub Process” from firing until all IPC events are finished? Is this where a Preceding Rule comes into play?


:

Yes from your example a Preceding rule could be used.  Something along the lines of


1.  Add process level datafields like StartSubProcessesActivityIsDone


2.  Add a data event as the last event in Start Sub Processes which simply sets the StartSubProcessesActivityIsDone field value to True.


3.  Add a preceding rule to the Finish Sub Process activity which evaluates StartSubProcessesActivityIsDone =True.  I would probably add the same logic to the DefaultActivity as well that subprocess thakes longer to complete and simply add an And condition to the preceding rule to also check for DefaultActivityIsDone=True.


 


hi


 


you need to mix with a preceding rule on your Finish Sub Process activity (to way the completion of Default activity and Start Sub Process activity) and with an succeeding rule on the Start Sub Process one (to wait the completion of all you sub process instances... for that one, please use the following blog post http://www.k2underground.com/blogs/pitchblack/archive/2008/08/26/looping-through-an-activity-for-each-item-returned-from-a-smartobject-list.aspx)


 


HTH


Tim,


I added the datafield and dropped the Data Event into the activity - however i do not see where i can set the datafield value. It only looks like it will transform data from a form. What do you think I am missing?


thanks


Make sure you choose the Transfer Data option and in the source you can type a value if you want or grab the value from almost every other source.


thanks Tim. That did it.


Reply