Business Processes can be of varying types.
Sometimes the process can be simple straight flow, like, things go from one activity to another. Or sometimes, it can be based on a condition or a rule, like, if quote amount is greater than 5000 send it to manager approval and then to finance dept, else send it directly to finance dept. Sometimes it can be like Get things approved by any of the managers in the department or something like Get it approved by both manager and the head of the department.
These Branching Processes can be done easily. Basically from the above scenarios the branching can be of three types:
1. Conditional (IF)
2. Either - Or (OR)
3. Both (AND)
Say we have a rule, in Travel Claims Submission process that if the claimed amount is less than or equal to 5000 Rs, then it goes directly to finance department for processing, else it has to be approved by the manager before being sent to finance department for processing. This can be done so easily like this.
1. Click on the plus symbol in the process, and add the diamond symbol to the process.
2. Click on the round dots at the start of the branches to name the branches, Lets name the Manager Activity Branch as Approval Branch and the other one as Direct Branch
3. Assuming we have the claimed amount in the field called Claim_Amount in the model, Click on the if Diamond Symbol and then in the formulae bar write the rule =IF(Claim_Amount<=5000,"Direct Branch","Activity Branch")
Now in the process whenever someone submits the claim, based on this rule the claim will redirected to the corresponding activity in the process.
Now let us make a small change to this rule of ours, that is, if the claim amount is between 5000 and 10000 then the claims has to be approved by either the department manager or the finance manager before processing, else it can be directly sent to finance for processing.
This is a simple OR process. IF the claim is within the specified range, then it has to go to both Finance and Department Manager for approval for processing else it can be directly processed. If any one of the Managers approve the claim then it has to move to finance for processing without waiting for the other one to approve.
Following the same steps that we did for doing a IF flow for this process, we would end up with a process like this with 2 IF's.
The First IF checks if the claim amount is in range, and sends it to the corresponding branch. But the second if, there is no rule to be processed. It has to be changed as a OR process.
to do so, click on the IF to choose it and then in the Menu under the Activities group click on the Change to OR button, to convert the IF in to OR.
That is it.
now if the claim amount is in range then it will go to both Finance and Department Manager, and if either of them approves it moves out to be processed.
Ok. Allowing those who are claiming more than 10000 to be directly processed by finance is not fair, isn't it. So let's bring in another rule now. Let's say, if it is more than 10000 rs then it has to be approved by both department manager and finance manager.
This is a AND process, since here both of them have to act upon the claim for it to be processed. Only after both of the have approved or disapproved then the claim can move for processing. If only one person has acted upon the claim, then it has to wait till the other also acts of the claim, before moving for processing. Lets see how to do this AND process.
This is pretty much same like doing a OR process except that instead of choosing the Change to OR button we will be using the Change to AND button to define the AND flow.
so combining all three rules the process would look something like this. So as you can see you can design processes with branches which have branches within them, thereby doing complex business processes.