Use
This workflow implements majority decisions of the form n from m . A total of m users receive a work item with the activity for approval at the same time. They can also agree or reject at the same time.
If the necessary number of n agreements required for an approval is reached, the object is regarded as having been approved.
The object is regarded as rejected when the number of users rejecting it renders it impossible for the necessary number of agreements to be reached.

A 2 from 4 approval procedure is implemented for a purchase order. A total of 4 recipients receive a work item for approval at the same time.
If 2 recipients agree, the purchase order is approved. Once 3 have rejected, the purchase order is rejected.
With this variant n (necessary agreements) from m (total number of recipients) must agree. To implement this, the Workflow Wizard creates a workflow with parallel processing with m branches in which the approvals are carried out.
The approval procedure is terminated once approval has been granted in n branches, or once the number of branches in which the object has been rejected renders it impossible for the number of necessary agreements to be reached.
For a parallel approval workflow, the type of the object to be approved, the
approval task and the recipients for each branch must also be specified at definition time.Prerequisites
The object types that are to use an automatically created approval procedure must have an approval method. It is best if these object types support the
interface Approval, which incorporates a method for approval and whose interface is ideal for the Workflow Wizard.The object type should always, however, have a method for displaying objects, which should be entered as default method, because the Workflow Wizard integrates the default method of the object type to be approved into the approval step as a secondary method during instantiation.
Features
In the first steps, the two elements in the workflow container are initialized with the number of necessary approvals (container element
Approvals ) or the number of necessary rejections (container element Rejections ).The workflow definition then contains a fork that has a branch for each agent who is to receive the approval task. Each approval task can have Approved or Rejected as a result.
In the event of approval, the approval counter (
Approvals ) is decreased by one and checked to see whether it has reached zero.In the event of rejection, the rejection counter (
Rejections ) is decreased by one and checked to see whether it has reached zero.If one of the check routines ascertains that the approval or rejection counter is less than or equal to zero, the fork is terminated and the evaluation step is implemented.
For further information, refer to
Evaluation Part of All Approval Workflows.Enhancements to the workflow definition
The workflow definition created by the Workflow Wizard can only be used practically as part of a superordinate workflow definition. Steps still need to be added to it in which the object that is to be approved is created or established.
A reference to this object must be stored in the container element
ApprovalObject in the workflow container.Activities
The system adds the following container elements to the workflow container:
Data type |
Description |
Explanation |
Object reference |
Approval object (ApprovalObject) |
Reference to the object to be approved. The object to be approved and the approval task must be determined at definition time. |
|
Address object ( AddressObjects ) |
Reference to the address objects of those who are informed of the approval. | |
ABAP Dictionary reference |
Number of approvals ( Approvals ) |
This container element counts the agreements. If the necessary number of agreements is reached, the workflow is set to approved. |
|
Number of rejections ( Rejections ) |
This container element counts the rejections. If the necessary number of rejections is reached, the workflow is set to rejected. | |
|
Exit indicator ( Exit ) |
This indicator exits the fork if it is set to X. | |
|
List of (excluded) agents ( Agents ) |
The list of agents contains all users, positions, jobs, organizational units and work centers that have been involved in the approval process.This list is used to exclude agents who have already granted an approval from approving the same object again. You can also include the workflow initiator in this list. This prevents applicants from being able to approve their own requests. | |
|
Approval result ( Result ) |
This field contains the result of the approval procedure after the workflow: A for approved |