Controlling Process Flow—Defining exclusive gateways
You will be modeling Task # 2 (Business Analyst Review), which is performed by the Business Analyst role, in the Business Analyst swimlane.
Getting ready
The Business Analyst will review the Sales quote and he/she can either APPROVE or REJECT the Quote.
If Approved: The process continues forward.
Else: On Rejection, the process reaches the Sales Representative again, to refine and resubmit the quote.
How to do it...
Create User Task
Perform the following steps to create a User task:
1. Select Project navigator, click Process | Project Editor.
2. In the Project Editor, at the the BusinessAnalyst swimlane, create a User task, which is performed by the Business Analyst to review the quotation.
3. Select Component Palette | BPM | Activities and select User task.
4. Drag User task from Interactive Activities and position it in the swimlane.
5. Name the User task
Business Analyst Review
.6. When you have finished the preceding steps, click Save.
Create a Condition Switch
Before the Business Analyst performs the review on the sales quote and either rejects or approves the quote, you will check if a Business Analyst Review is required or not.
If required: Proceed to the Business Analyst Review User task.
Else: Proceed to Approvers review.
1. Select Component Palette | BPM | Gateways.
2. Select Exclusive Gateway, click on the Business Analyst swimlane, and position it where you want to create the Condition switches.
3. It will open a Properties dialog box. Enter basic information:
Name: Is Business Analyst Review required? This will get displayed on the Process editor on the Exclusive Gateway.
4. Create an unconditional sequence flow from Enter Quote (Initiator User task) to the Is Business Analyst Review required? Exclusive Gateway.
5. When finished, click Save.
Create Process Data Object
Processes access and store information, and BPM supports data structures to keep track of this information. These data structures are—Process Data objects, Project Data objects, Arguments, and Subprocess Data objects.
Process Data objects—They store information related to each process instance you create. The value of these data objects is different for every instance in the process. However, the structure of the data object is the same for all process instances. When you define a process, you must define the data object to store information. You must also define in which part of the process you assign a value to these data objects. The value of data objects may come from user input, from external systems, or might be calculated based on other process data objects. When you create an instance, the Process Engine assigns Null
as the default value for all the process data objects defined for that process. Later on, the activities in the process assign values to these variables.
Project Data objects—The processes in a BPM project often have a set of data they share. The value of this data is different for every instance in each of those processes; they only share the necessity to keep track of that data. Project data objects allow you to ensure that all the processes in a certain project keep track of a set of data. Then each process has to assign and update the value of this data.
You can create project data objects as follows:
1. In the Project navigator, click on the process name, SalesToContract.
2. You can see a Structure panel open at the lower-left corner of the JDeveloper screen.
3. Right-click Process Data Objects. Click New to create a Data object.
4. Enter the following details for the Process data object:
Data Object name:
BusinessAnalystReviewRequire
Type:
Boolean (Bool)
5. Create a conditional sequence flow from Exclusive Gateway to Business Analyst Review User task.
6. This will open sequence a Flow properties dialog.
7. In the Description tab, enter Name of the Sequence flow as
Yes
.8. In the Properties tab, click on Expression Builder and set the value of the Process Data object as BusinessAnalystReviewRequire == true.
9. When you have finished the preceding steps, click Save.
How it works...
This User task, Business Analyst Review, will be performed by the Business Analyst to review the quotation. However, even before a review is carried out by the Business Analyst, you will check if a review is required or not. When the token reaches Exclusive Gateways, it will determine what path the process token will take.