August 29 2017

The 4-Eyes principle is the term used when you want to ensure that a task is approved by more than one person. This is needed in Oracle BPM approval processes to exclude previous participants from approving tasks in a process that they had approved upstream in a process.  The purpose of this blog is to explain how this is done differently in Oracle BPM 12c processes than it was in 11g (Marcel van de Glind wrote an outstanding blog on how to prevent the previous participant from approving the same task in Oracle BPM 11g).  


In this example even though the two activities are assigned to the same role, the business wants any user that approves a task in the "First User Task" activity not to be able to approve tasks in the "Second User Task" activity. 

Process with two user activities



In both releases Oracle BPM 11g and 12c, this can be accomplished when the human task is initially created by checking the "Exclude previous participants" checkbox.

Exclude previous participant as human task is initially created


The problem is when you try to set this property after the human task has already been created.  In 12c, in order to exclude the previous approver of a task from approving the same task downstream, open the downstream human task ("SecondUserTask" in this example) -> click the "Assignment" tab -> click "Early Completion" (I'd agree that "Early Completion" is a strange place to have placed this property).

Human Task Early Completion

In the Early Completion dialog, check the "Exclude previous participants" checkbox.

Exclude previous participant checkbox to enable 4-eyes

After deploying the project, you are initially going to think this is not working.  The reason is the user who approved the task initially in the first activity will still be able to see the task in the second activity downstream.  Here are the actions that the user has available for tasks in the first activity in the process.

Approval actions in first activity

Once approved, the same user will still see the task in the second activity in the process (the one that they were supposed to be excluded from).

The excluded user still sees the task in their inbox

If you select the instance in the second activity, however, you see that that user is no longer able to approve the task when the "Actions" button is selected in the Workspace.

The user is no longer able to approve the task in the second activity

Download the exported project used in this example from here.

About the Author

Dan Atwood

Dan has more than sixteen years of experience in all phases of design, development, and implementation of software applications using BPM. He has developed Oracle BPM, BAM, business rule and integration solutions for financial services, insurance, food cooperative, and telecommunications clients.

Join the Conversation

December 15, 2017

Hi Dan

Thanks for the post. It helped me understand this strange behaviour... 

I'm trying to use Exclude Previous Participants together with the Round Robin assignment pattern and the result is problematic. The round robin algorithm doesn't exclude the user, so the user is assigned with the task but has only withdraw (the excluded use was the initiator like in your example) and Create ToDo options, and no other user is assigned with the task, so actually nobody can handle the task.

Have you seen this behaviour?

I'm using BPM 12.1.3 (project constraints).


Enter your first name. It will only be used to display with your comment.
Enter your email. This will be used to validate you as a real user but will NOT be displayed with the comment.