Jump to content

Ending a Process within a Parallel Process


SJEaton

Recommended Posts

Hi

We have a parallel process but in one of the branches within it there is the possibility that the process may end and the request close if a certain outcome is selected for a human task.  We have an automatic task that sets the status to close if this is the case but its not closing it and we are assuming its because there are still other tasks still active in the other parallel process branches.  Is there a way of cancelling/ending these other active tasks in the process if this scenario occurs? 

Sam

Link to comment
Share on other sites

Hi @SJEaton

Would it be possible to show the business process flow you are using and the context around the action you have which may end the process?

Initial suggestion without seeing the flow would be have the human task where the outcome could close the request Outside of parallel processing - this is not to say you can't still use parallel processing but maybe something along the lines of the following:

image.png

So if the outcome is x then the decision node could close the request, but if it is x it might open up more parallel processing with more tasks?

Steve

Link to comment
Share on other sites

Hi @Steven Boardman

Our flow is definitely a work in progress so is nowhere finished and has next stage nodes that won't actually be there when its done so I'm fully aware that this wont work in a lot of places! lol. I have however attached a screenshot highlighting where we close the request in one of the branches.  Basically there are lots of other human tasks in the top branch that will be ongoing and we may be up to any of these when the reference aren't approved (in the bottom branch) which therefore needs to halt all proceedings and close the request.  When we tested it and selected References not approved it didn't close as there were other human tasks still outstanding 

Sam

Capture.JPG

Link to comment
Share on other sites

@SJEaton

I think I have a way you could do it but it would require a lot of decision nodes (one before each human task) 

Basically you could output the references approved / not approved to a custom field. Then add the decision nodes with two branches. Branch one would be IF 'not set' or 'Approved' carry on to next human task. Branch two would be IF 'not approved' move to end of parallel processing. 

At the end of the parallel processing you would need a further decision node, again looking at the custom field to decide if the call needs to be closed or continue. 

I am sure that the amount of decision nodes would cause some kind of slow down when processing the BPM though, but it is the only way I can think of to be able to close the request within (kind of) the parallel processing section.  

Link to comment
Share on other sites

@Dan Munns hah!! ... I had the exact same thought and started a reply, however, I stopped when I read again ... the keyword(s): "parallel processing" ... to be more precise the following scenario:

1. First parallel branch, a human task (T1) then update status = closed node.
2. Second parallel branch a human task (T2)

The branches can be more complex but to describe the scenario we keep it simple. So when the parallel processing initiates, both T1 and T2 are created. Let's say T1 is completed then the next node supposed to close the request. This is where an issue might occur if the application setting which prevents resolve/closure if there are active tasks is ON... Because T2 is still active the request might not get closed because the app setting is preventing this... 

However I am not sure if the above is true, it needs a test, however, this is the reason why the proposed solution might not work (and why I did stop from completing my reply) and we go back to having the option to "cancel/complete" other parallel tasks in this scenario...

Link to comment
Share on other sites

@Victor but surely if the decision nodes kick the current branch to the parallel processing end point, when the other open task is completed it will perform the decision node check, see the 'not approved' and then kick that branch to the parallel processing end point. After the end point the final decision node will confirm if closure or continuation is required. 

I realise that just a simple closure will not work as there will be other tasks open, which is why I suggested the decision nodes before each human task. So you will only have to complete the current task in branch 1 to re evaluate the approved / not approved state provided in branch 2. 

Link to comment
Share on other sites

@Dan Munns true, however, you would want to stop the request (and the BP) once T1 is completed, and not actually having to finish T2 so you can get to the end of the parallel processing :) ... having to complete T2 as well defeats the purpose of (firmly) stopping it after T1 ;) 

Link to comment
Share on other sites

 

2 minutes ago, Victor said:

however, you would want to stop the request (and the BP) once T1 is completed, and not actually having to finish T2 so you can get to the end of the parallel processing :) ... having to complete T2 as well defeats the purpose of (firmly) stopping it after T1 ;) 

@Victor yes that exactly what we would want to do

Link to comment
Share on other sites

But if the not approval has been provided whilst T1 is still open it will skip the next task. Looking at @SJEaton BPM the second branch is the approval branch (I may be mistaken) 

So I had it in my head like this (simplified): 

image.thumb.png.b89360605df34d14a3094ee2b18daeff.png

If you wanted to stop the completion of an ongoing task that you could add the notify node as per screenshot 2. You would just need an outcome for each task of 'Not Approved / Not Required' which would kick straight to the end of the parallel processing (which I didn't add to the Visio for the sake of simplicity)

image.thumb.png.f4837ed8c88b3b59fdd1c8e46a181579.png

Link to comment
Share on other sites

Hi @DeadMeatGF, I did say our process is by no way finished so aware there may be errors!  I just wanted the close request issue ironed out first before we carried on configuring.  Having said that, I think we might have another working process with two separate PP End Nodes...although not certain

Sam

Link to comment
Share on other sites

@DeadMeatGF it will fail in its current form as we tried it (albeit a while ago) and had to have both branches close on the same end point. 

Edit: I stand corrected. This process will work with 1 start and 2 end points for the PP....

Edited by Dan Munns
Hornbill changing stuff and me not noticing....
Link to comment
Share on other sites

@Dan Munns still won't "completely" work (i.e achieve what is needed) I'm afraid... I understand what you say, that after completion on T1 you bypass remaining nodes from branch 1 based on criteria from T2. However, the fact still remains that you can't close the BP and the request right after you complete T1, which is the aim... you would still have to complete T2 to complete the parallel processing sequence...

However, if having to complete T2 after T1, and only then bypass everything else to close the request is an acceptable solution for @SJEaton then by all means ... ;) 


EDIT: You sure the process works with 1 PP Start and 2 PP End?

Link to comment
Share on other sites

Always two there are, no more, no less. A master and an apprentice....

Oh how the tables have turned.....

Edit: It would appear the tables have turned back...it is now not moving to the resolution phase..... but no errors. Upon further investigation it seems to stick on the close PP nodes as after I added a checkpoint directly after the close PP it fails to tick it off.....

It must have been some weird fluke that it completed yesterday. Maybe because I copy and pasted the second branch? Now I have changed the BPM it wont work... :( 

Edit 2: I wish I had saved my Star Wars quote for something else now :( 

  • Haha 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...