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

Question

Question

Question on Time Catch Event with Condition

asked on June 20, 2017

Good afternoon,

Let's say that have a Business Process that has a User Task. The User Task is attached to a Form. This form has a field for "1" or "0".

Now let's say that we want to set up the Timer to re-route to a different Task in 5 minutes, but only if the value of the Field is '1'.

How can I do this without getting the error below? There doesn't seem to be a checkbox for default outflow or something.

Has anyone run across this issue?

Thank you, 

Raul Gonzalez

TimeCatchEventSettings.png
TimeCatchEventWithCondition.png
TimeCatchEventFlow.png
TimeCatchEventFlowError.png
1 0

Answer

SELECTED ANSWER
replied on June 21, 2017

Raul,

You can attach multiple outflows to any task if you connect the outflow to an exclusive gateway first, and then use the gateway to facilitate the split like I mentioned at the end of my last post.

One problem you might face is that a timer event attached to a user task will always be triggered, so if you set it to interrupt the task, it will interrupt the task regardless of the outflow conditions because those conditions would not be evaluated until after the timer event has completed its tasks.

The ideal solution really depends on what exactly you're trying to accomplish.

Are you trying to set it up so that if the value is "1" then after X minutes it cancels the "Approver" task and skips ahead to the "Backup Approver" task?

Second, does the "Backup Approver" always have to approve the form in addition to the initial approver? The way your process is currently set up, the backup approval task will be required under every condition.

2 0
replied on June 21, 2017 Show version history

Thanks Jason,

So let's say that I have a process in which a customer clicks a checkbox to rush an order. This order will be more expensive to him so we want to make sure that if the Primary Sales Processor is out or in a meeting or something, that it routes to the Secondary Sales Processor, who happens to be someone just dedicated to that, and is always there.

We want to be able to say, if the form is supposed to be "rushed" (checkbox checked), only then take in consideration the Time Catch Event, otherwise just sit there until the Primary Sales Processor comes back.

We are doing something similar, but that's the theory behind.

I took your suggestion on the Gateways and came up with the diagram below, which doesn't give us errors now. I guess we thought we could add "conditions" right on the Time Catch Event, since it seems to allow you.

TimeCatchEventFlowNoError10.2.png
1 0
replied on June 21, 2017 Show version history

With that new layout you should be okay as long as the Timer is set to Interrupt the Approver task. If that is the case, then when the timer hits it will either pass the task over to the Backup Approver, or "refresh" the task for the original Approver depending on the conditions.

 

Something else you can look at, which I have done on some similar processes, is to use a Signal Throw event after the approval steps and assign the tasks in parallel without a delay.

Each of my parallel User Tasks have a Signal Catch attached that all listen for the same signal and will cancel the task if the signal is received. Each of those tasks lead to a merged path so if any one of the User Tasks is completed, it triggers a Signal Throw to cancel the others.

So, I can assign tasks to User A and User B simultaneously. If User B approves the form, the tasks for User A is cancelled by the signal event.

The bonus here is that you can assign the tasks in parallel and it is sort of first-come-first-serve for whoever approves/rejects the form first.

2 0
replied on June 21, 2017

Jason, thanks for sharing; this is great. This will be very useful for another project that we are planing on. 

Thanks again,

 

Raul

0 0

Replies

replied on June 20, 2017 Show version history

Business process activities always need to lead somewhere, and I believe you are getting the error because there is a chance your timer event will trigger and have nowhere to go.

To accomplish your goal, you need at least two possible routes, one for "true" and another for "false"

Add a second outflow that leads to a normal End Event, then set that as the default outflow; this way your timer event will always have a path to follow.

Personally, I would connect the timer to an exclusive gateway, then have the two routes come from the gateway instead of directly from the timer.

2 0
replied on June 21, 2017

If I add a second outflow from the Time Catch Event I get an error "

The timer catch event named "Timer Catch Event" in the "Main Process" cannot have multiple outflow paths."

It seems as if the only solution would be to check for the condition with a Gateway first and have 2 User Tasks, one with timer and one without, and depending on the condition, get to the appropriate User Task.

Also, I still don't understand why the timer allows you to take more than one outflow, if it's going to give you errors; as well as why does it allow you to state a condition if it requires a default one, which will give you errors if you state.

TimeCatchEventFlowError10.2.png
0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.