Set Up Parallel Approval

You can create an approval workflow that requires approval from a group of people, in any order.

This is called parallel group approval. In parallel approval, all members of a list of approvers must approve a process in any order (the order of approvers in the list isn't relevant, but all approvers must approve it). You manage this using Oracle Business Process Manager (BPM) and object workflows.

This topic describes the following:

  • Creating the group of approvers.

  • Creating the approval flow.

  • Deploying the project.

  • Including the approval flow in an object workflow.

For more information about human tasks, refer to the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

Create the Group of Approvers

To set up parallel group approval, you must first create the group for your approvers.

  1. Sign in to the BPM worklist application.

  2. Navigate to Administration, Approval groups.

  3. Create a group named CRMCommonApprovalGroup. Note that you must give the group this name.

  4. Add the members of the group (the people you want to designate as approvers).

  5. Save the group.

Create the Approval Flow

Next, you create the approval flow, which is based on the standard approval flow template ExtnBusinessProcessComposite.

Note: Modifying templates in BPM Composer might be disabled for your implementation in this release. If so, contact Oracle Support for assistance.
  1. Click New on the Business Processes page.

  2. Select ExtnBusinessProcessComposite as the base template.

  3. Remove the standard human task step named SerialApproval.

  4. From the component palette on the right side of BPM Composer, drag an interactive task step into the approval flow in the same place where you removed the existing SerialApproval step.

  5. Rename the new task step (for example, ParallelApproval).

  6. Select the task, click the four lines icon against it and click Open Properties.

  7. At the bottom of the screen, search for all patterns and select the ParallelApprovalGroupApproval task.

  8. Click Apply changes.

  9. Select the task again, click the four lines icon against it and click Open Data Association.

  10. Map the inputs and outputs as shown in the table below.

    Inputs

    GroupApproval

    Outputs

    taskTitle

    title

    Not applicable

    taskOwner

    taskOwner

    Not applicable

    taskOwner

    errorAssignee

    Not applicable

    "REJECT"

    defaultOutcome

    Not applicable

    100

    VotingPercentage

    Not applicable

    Not applicable

    outcome

    taskOutcome

    parentIdVar

    parentObjectId

    Not applicable

    heldEntityIdStringVar

    ObjectId

    Not applicable

    In parallel approval, you must pay attention to the parameter votingPercentage. This parameter determines how many group members need to approve the request for the record to be considered approved. By setting the parameter to be 100, you specify that every approver in the list must approve the request.

  11. Click Apply.

  12. Save the process.

Deploy the Project

Finally, you deploy the project.

  1. From the main menu, select Deployment, Deploy Project.

  2. In the Deploy Project dialog box, enter the following:

    Field

    Value

    Revision ID

    Provide an identifiable ID.

    Deployer User Name

    Your sign-in name.

    Password

    Your password.

    Mark composite revision as default

    Select this option.

  3. Click Deploy.

    A confirmation message appears after the project has been deployed successfully.

Include the Approval Flow in an Object Workflow

Now you can create an approval workflow that includes a parallel list of approvers. To do this, create an object workflow that uses the ParallelApproval flow that you created above.

  1. Make sure you're in an active sandbox.

  2. In Application Composer, click Object Workflows.

  3. Enter a name for the object workflow, and select an object (for example, Opportunity).

  4. Click Create.

  5. Click the Create icon next to Business Process Flow.

  6. Enter a name for the flow.

  7. Click Search next to Project Name.

  8. Select GroupApproval from the list and click OK.

  9. Click Save.

When the object workflow is triggered, all the users that are part of CrmCommonApprovalGroup will see the approval request. Based on the voting percentage, the outcome of the approval task is determined. In this example, because we mapped votingPercentage to 100, all the members of the group must approve the task before the record is finally approved.

The flow is considered complete when the specified percentage of members of the approval group (in this case, 100%) approve the request. If any member of the group rejects the request, then the record's status is changed to Rejected.