Extended Hierarchical Approval Workflow 
Use
Several users are involved at each approval level in an extended, hierarchical, approval procedure. Only some of them are authorized to actually approve or reject the object. The other users are only authorized to propose that the object be approved or rejected.
Each approval level can only be left when the object has actually been approved or rejected. To be proposed for approval or rejection is not sufficient to leave the approval level. A user who has granted an approval, or proposed an approval or rejection, is excluded from further processing in the same approval procedure.
If the object is approved on an approval level, the next approval level is called. You define the number of approval levels when executing the Workflow Wizard.
Once one user does not approve the object, no further approval levels are initiated.
You can specify whether the same
approval task is to be used for all approval levels when the Workflow Wizard is executed.Prerequisites
The object type of the objects to be approved must have an extended approval method and should also have a method for displaying the objects, which is defined as the default method. The Workflow Wizard can insert this default method into the approval step as a
secondary method. All users who are to be able to carry out approvals in this workflow must be possible agents of the approval task.Features
With the Workflow Wizard for extended hierarchical approvals, you can create approval procedures of any nesting depth.
In the first step of any approval procedure, the approval status (container element
ApprovalState ) is first initialized at one.This initialization is followed by the approval steps nested in each other, all of which have at least four possible results (approval, rejection, proposed approval, proposed rejection). In each approval step, the approval method of the object to be approved is executed and, optionally, its default method as a secondary method.
In the event of approval, the approval status is increased by one and the next approval level initiated.
In the event of rejection, the workflow goes immediately to its evaluation part. If the approval procedure is terminated in this way, the approval status is always less than or equal to the number of approval levels.
If the approval or rejection is only proposed by an agent due to their restricted authorization, the approval procedure remains at this approval level. The agent is included in the list of excluded agents. A work item is generated again, and the object is submitted for approval again.
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
An extended hierarchical approval procedure created by a wizard also requires additional container elements in 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 |
Approval status ( ApprovalState ) |
Status of the approval procedure. The status is initialized at one at the start, and increased by one with each approval. If the status is greater than the number of approval levels on evaluation, the object was approved. |
|
Current agent (CurrentAgent) |
The user who processes the work item is saved in this container element. | |
|
List of excluded agents ( ExcludedAgents ) |
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. | |
|
Decision indicator ( DecisionFlag ) |
This indicator is set when a decision is made (approval or rejection). | |
|
Rejection indicator |
This indicator is set in the event of a rejection. | |
|
Approval result ( Result ) |
This container element holds the result of the approval procedure after the workflow. In the case of detailed evaluation, there are the following values: A for approved In the case of the minimum evaluation, there are the following values: 0 for approved |