Hello everyone!

Although I've worked with ARIS for a long time, and created a lot of APG workflows, there is still one question that always haunts me, and although I can solve it, it does not seem like a neat solution.

It's related to a situation when in APG I need to create an Approval Task(s) to more than 1 user, which are always determined dynamically, at run time.

The logic should be that when any one of the user Reject the Task, Approval Task should Terminate for all users.

As long as noone rejects, the task is still there for any member to give his opinion.

The requirement is also to log the Decision comment from every user that had the chance to give his opinion.

Optionally, sometimes there is a logic required to stop the "voting" after some days. (14 in the example below)

I always resort to this kind of a solution, where in each branch I check the size of an Approver array (the number can be 1 to 10, so I'll need to create a copy for a theoretical max number. If it were 100, I would create 100 paralel branches). If the size is higher than the branch counter, activate the branch and send it to the Approver. If not, never activate the branch.


Any better ideas how to solve this?

Executor strategy "Voting" does not help, as it's not a majority vote. Any Reject is a knockdown.

Strategy "All required" also did not seem to give me a proper behaviour.

Thanks a lot upfornt!


Tags: ARIS Advanced Process Governance