-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Oracle BPM Suite 12c Modeling Patterns
By :

The conditional parallel split and parallel merge pattern is a part of advance branching and synchronization. It's similar to parallel split and merge; however, it is based on conditions, that is, it must follow a conditional transition. This process is shown in the following screenshot:
Let's consider an example scenario. When the token diverges at the first parallel gateway, it should perform conditional transition to different parallel tasks as follows:
Oracle BPM does not have conditional transitions from the parallel gateway. If we try to implement a conditional transition outgoing from or incoming to a parallel gateway, it throws a Parallel Gateway cannot have outgoing Conditional Sequence Flows error . As we don't have a method to do conditional transition from the parallel gateway, we can still implement it in combination with the other gateway; in this case, it's the exclusive gateway (XOR). This scenario would be developed using parallel gateway in combination with exclusive gateway.
Download SalesQuoteProject from the download link for this chapter and open ConditionalParallelSplit&Merge. Check the configuration of the outgoing sequence flows from the parallel split point (ParallelSplit) and incoming sequence flow to the parallel merge gateway (ParallelSplit).
Effective discount: 9
Quote request status: Old
Rest all fields can be user choice
salesrep
user and approve the AcceptQuote task.fkafka
user to approve the BusinessReview task.9
, which is less than 10 percent condition on the transition flow (<10%), the process will flow at the sequence flow (<10%) pathway and halts at parallel gateway (ParallelMerge) to get synchronized at the join convergence parallel gateway.jstein
user and approve the ApproveTerms task. Post approval, the token will get synchronized at the convergent point parallel gateway (ParallelMerge), and the process flow will move ahead.A token gets created for each outgoing flow from the split parallel gateway, and none of the outgoing sequence flows are evaluated as the parallel gateway doesn't allow for outgoing conditional flow. However, we can use exclusive gateways to perform conditional transitions. This is not a direct offering of Oracle BPM; however, we can implement this using a combination of gateways. The parallel merge gateway waits for all the concurrent tokens to reach it. Until the concurrent tokens are not synchronized, multiple incoming sequence flows are blocked. Upon synchronization, one token is passed out of the merge gateway's outgoing flow.
In this section, we will demonstrate the fact that one cannot use conditional parallel split and merge by just merging some of the gateways. Process modeling needs to be performed meticulously. Hence, in this book, we are talking about patterns that offer techniques to solve repeatable issues and enhance the process modeling approach.
We will test the ConditionalParallelSplit&Merge process using the ConditionalParallelSplit&Merge.xml test data available in the testsuites folder in the project. However, this time, we will change the effective discount to any value greater than 10. Let the customer type be old, and keep all other fields as they are as follows:
salesrep
user and then as the fkafka
user to approve the AcceptQuote and BusinessReview tasks.jstein
user. It's the user to whom the ApproveTerms task is assigned. Log in and reject the task as follows:Once the ApproveTerms task is rejected, the process moves to the Terms Outcome exclusive gateway and then to the message end event of the process.
However, we can check the process trace, as encircled in the following screenshot; the process is still running.
Now, if we log in to the BPM workspace as the jcooper
user and approve the Approve Deals task, then only the parallel paths will converge, and the process will move ahead. This is demonstrated in the following screenshot: