You are viewing limited content. For full access, please sign in.

Question

Question

Form keeps Terminating with [LFF5408-RoutingConditionMayFail]

asked on April 13, 2021

I have a form that goes out to several approvers (7) using an Inclusive Split gateway, depending on selections that are made by the submitter (could be 1 of 7 needed 2 of 7, 3 of 7, so on or all 7).  Then once all approvals that are needed come back (based on ones needed, not all) I have another Inclusive Merge gateway, that will send the form to the Final Security Approver. But, somehow what is happening is I get 2 approvals back and it is sending two separate forms to the Final Security approver instead of one combined form.  My Final Security form has all of the possible Approver fields on its form.

Is there a limit to how many of these I can included in this Gateway?  These are "And / Or" conditions. Am I using the correct Gateway type? Maybe my conditions are not needed or incorrect?  It should only return the Active selection with an Approved signature.

Attached is a part of my Process Diagram.

Any help on the error and any input is helpful.  The approvers are approving applications for access, then they go to the final IT Security to grant the access with approval or reject for specific reasons.

 

Robin Morse

Process Diagram.PNG
0 0

Answer

SELECTED ANSWER
replied on April 14, 2021

In every instance, there can only be one of two cases that happen, either someone says Yes or everyone says No. Instead of trying to build conditions for both, instead, just make it "someone says Yes" and "everything else". "Everything else" is easy, just click the checkbox to make the branch the default branch. 

And I mean the latter, get the first one working in the condition, then add one more and test with two and so on. 

You should still only have two outflows, one with the condition that you build up and the other as the default. 

1 0

Replies

replied on April 13, 2021 Show version history

I think there is a logic issue here. You have the first splitting inclusive gateway which is correct and flow into 1 - 7 user tasks. After those tasks, ALL outflows should go into the same merge inclusive gateway so that the gateway knows when all active branches are complete. Then once the 1 - 7 branches are merged using a single inclusive gateway, use another gateway (probably exclusive) with the conditions that can include as many ANDs/ORs as you like. 

The problem I'm seeing with your diagram is that after each user task, there is a condition to go to either inclusive merge 1 or inclusive merge 2. When you merge the branches separately like that, you'll get unintended behavior. 

1 0
replied on April 13, 2021

Jared,

First of all, Thank you for your input here.

Okay, I'm trying to follow you. So, each user task uses a different form. How do I handle capturing each of the signatures they are stored in different fields? Do I only use one and add all the signatures to that one form?

0 0
replied on April 13, 2021

No the user tasks can stay the same as you have them. My concern is with your two merging inclusive gateways "Collect All Required Signatures" and "Rejections Gateway Signatures". Keep your user tasks and have them use different signature fields. Then just have one inclusive gateway after them for "Merge branches". After that, use an exclusive gateway with conditions to either Route to IT security approval OR send the rejection email. 

Your process branches, then for each branch has user task then exclusive gateway to either inclusive gateway 1 or inclusive gateway 2. 

You need it to branch, then for each branch go to user task, then the same inclusive gateway. AFTER the inclusive gateway, then do that exclusive gateway logic. 

0 0
replied on April 13, 2021

Okay, so correct me if I am not following:  1) Inclusive split to send the tasks then 2) Inclusive merge to Collect signatures tasks, then 3) run a Exclusive condition for whether there are any rejections or not 4) send to Security. Am I following you?

This is my hardest form so far, and I do appreciate your help. :)

1 0
replied on April 13, 2021 Show version history

Yes exactly. 

In principle, once you branch with an inclusive or parallel split, make sure you then merge each branch with the same inclusive parallel merge. You will run into trouble if you use gateways within each branch and then use different gateways to merge. Your new solution of merging THEN using an exclusive is perfect. 

0 0
replied on April 13, 2021

This is how I changed it, but it still terminated and not sure what I did wrong? In my test I only chose two of the applications and got both signed, then it didn't know what to do to send to Security and terminated.

Maybe my conditions were wrong or am I missing another gateway?

 

see below

Process Diagram-after.PNG
0 0
replied on April 13, 2021

Your process diagram looks correct so long as the inclusive gateway can EITHER go up to Route to IT security Approval OR branch into 1 - 7 of those user tasks. If it goes that top route and a few of the user tasks, that merge gateway may get confused. 

That said, what step is throwing the error and terminating the process? 
Can you show your gateway conditions on that step and possibly what variable values you are using? 

0 0
replied on April 14, 2021

It looks like the Exclusive gateway decision is throwing it out.  For each signature request they are asked the question "Are you rejecting this form?", then they answer Yes and hit the Reject button if rejecting or hit  No and the Approve button.  So I am using this question's answer in my decision tree.  Each application has to Approve to go to Security; or Any 1 selection can reject to end the form.  

See my Approved conditions, then my Reject conditions below. I may not be getting this "And/Or" part right.

 

All Approved-Answer No on reject.PNG
Any Reject -Answer Yes to reject.PNG
0 0
replied on April 14, 2021

This is why I had 7 separate Exclusive decisions before.

0 0
replied on April 14, 2021

I think the problem is in the formatting of the conditions. I would make one branch the "Any rejection" case and get that working with just 

/dataset/rejectAnsBC="Yes" first. 

Then get the first or working with

/dataset/rejectAnsBC="Yes" OR /dataset/RejectAnsDIV="Yes"

once you get that working, add the rest of the ORs. 

For the other branch, make that a default branch so every instance has a place to go. 

0 0
replied on April 14, 2021

So I'm trying to follow, the second branch doesn't have conditions, just make it the default?

And for the Rejections, do you mean for me to add a condition gateway for each of the questions?  Or do you mean just add more rejections once I get the first one working, then test with two and so on?

0 0
SELECTED ANSWER
replied on April 14, 2021

In every instance, there can only be one of two cases that happen, either someone says Yes or everyone says No. Instead of trying to build conditions for both, instead, just make it "someone says Yes" and "everything else". "Everything else" is easy, just click the checkbox to make the branch the default branch. 

And I mean the latter, get the first one working in the condition, then add one more and test with two and so on. 

You should still only have two outflows, one with the condition that you build up and the other as the default. 

1 0
replied on April 14, 2021

Okay, I tried what you said on the first Reject one and it Worked. I'll add another and let you know tomorrow. I'm on CST and get off at 4:00 PM.  Thank you so much for all your help getting my logic straight!!!

 

Robin

1 0
replied on April 15, 2021

Jared,  Got it working with your help!  Thank you again.  I sometimes try to make things harder than I need to.  Really appreciate you!!  yes

 

Robin

1 0
You are not allowed to follow up in this post.

Sign in to reply to this post.