If you are interested in a sales price approval process in SAP S/4HANA (as a user or as a consultant), I think this blog could be helpful for you. I will share my experience implementing Workflow for Sales Price in SAP S/4HANA step by step using a business case. Additionally, I will show different scenarios in some videos.
Our business case:
First, as always, some prerequisites to be aware of:
Assuming all prerequisites are completed, let’s go to the SAP Fiori app. Manage Sales Price Workflows (ID F5525) to set up the system. After each step, I will show you the settings needed for our business Case:
How can you define preconditions to start the workflow and split the decision into different workflows?
Preconditions require the transaction to have certain characteristic values before the workflow can be started. If you specify one or more preconditions in workflow, then the workflow will start only if all Preconditions are met.
You can define to start the workflow without a precondition (None). Or you can specify different condition type, distribution channel, division or/and any Sales Organization to start it and in this way, you can split the approval to different workflows.
You can combine all these attributes to complete your business preconditions requirements. To do this you can use the "+" icon as “AND” and "Create Alternative conditions" button, it means in the logic “OR”.
In our business case we need to define the approval for condition type = YK08 and only for Sales Organization = 1710, Distribution Channel = 10 and Division = 00:
Which kind of steps can you define when the workflow starts?
As it is described in the Manage Sales Price Workflows | SAP Help Portal, currently it’s not possible to set step conditions. There is a section where you can do it, but the workflow ignores any conditions that you set for each step.
So, for now leave this precondition blank.
How can you define the next action if the step is rejected?
In the Exception Handling section, you can select the option to cancel the workflow, continue to the next step, repeat the step, restart the workflow, or repeat parallel step.
In our business case if any level cancels the step, the workflow will be cancelled. So, the configuration will be:
Who will be receive the approval request?
Each level of approval is a step in the workflow process and in each step, you can define who will receive the approval request. Also, if it is necessary to have all the approvals to go to the next step or at least with only one approval the process can be sent to the next step.
To specify a group of approvals you can define a Role, and all users with this role will receive the approval request in each step.
Or you can define a specific user,
Regardless of how you will define the recipients they must be created as business partner with person category and linked to a SAP user.
In our business case the first level must be approved by the whole group to go to the next level:
and if one of them rejects the approval, the workflow will be canceled.
And for the Step 2 (Level 2) the Manager approval is needed to finally release the condition:
If the workflow is rejected by this step, the workflow will start again to the first step.
Is it possible to mark the step with “Overdue”?
You can mark the step with “overdue” if the approval step is still pending over minutes, hours or days after workflow start or after a specific step start. You have set that in the session as follow:
In our business case if the first level is overdue more than 1 hour the step will be marked as overdue:
How can the Workflow be actived?
Status: Must be Active to be executable. When you initially create the workflow, it will be on “Draft” status until you decide to Activate it.
Validity From/To Periods: Use these fields to limit when the workflow should be executed. Both fields can be left empty, which will mean that the workflow will always be executed (when the workflow status is active).
In our business case we don’t define a validity period, the workflow will be executed wheneber it is active.
Is it possible to define an order to execute the active workflows?
Yes, you can do it. For example, to execute for the same condition in more than one workflow and execute them in sequence starting with the most specific to the general.
In our business case we want first to execute our workflow for condition YK08 / Sales Org. 1710 / Dist. Channel 10 / Division 00, then another workflow without specific sales area (for the same condition YK08).
Use the sequencing buttons to move the workflow towards the top of the list:
The sequence order number will be recalculated based upon the new position for the moved workflow:
During execution the system will first try to match our workflow “Condition YK08 – All approvers need to approve”. If it does not find a match, then it will move to the next one called “Condition YK08”.
Important: Only the first workflow with matching conditions will start. After that, any additional workflows in the sequence will be ignored.
Some demo video scenarios following the Business Case described above:
CASE 1: Level 1-Marketing user MG and Marketing user SS approve – Level 2-Sales Manager approves
CASE 2: Level 1-Marketing user MG approves and Marketing user SS rejects
CASE 3: Level 1-Marketing user MG rejects
CASE 4: Level 1-Marketing user MG and Marketing user SS approve – Level 2-Sales Manager rejects
Some findings …
The approval workflows are not applicable for condition records that do not contain the release status. These condition records are not relevant for approval even if they meet the predefined workflow conditions.
If a condition record is created or changed by transaction VK11/VK12 the condition record will be set up as status "blocked". If this occurs, you can request for approval by the "Manage Prices Sales app" next.
If a condition record was rejected, you would not be able change it. You need to create a new one to resubmit.
If an approver changes or creates a condition record where he/she is an approver the condition record will skip his/her approval.
The workflow request number is the same as condition record number.
It is not possible to edit a workflow once it has been activated.
I hope this blog post was helpful for you. If so, please, click on "like" or "share".
I'm looking forward to your feedback and thoughts or clarification questions you may have in the comment section below.