Skip to Content
Technical Articles
Author's profile photo Ivan Ramirez

Flexible Workflow in Sales Documents

Heading

Introduction

One of the most requested requirements in SAP ERP project implementations has been the possibility of having workflows in the Order to Cash processes. Sales Consultants often felt a little bit jealous of the Workflow functionality already built-in purchasing but let me tell you that the time has arrived to be jealous no more! Now we have a way to set-up Business Workflow Scenarios without the problem of creating a complicated workflow development. Let me introduce the Flexible Workflow Functionality available for Sales Documents in SAP S/4HANA any Premise.

Flexible Workflow is part of SAP Business Workflow and will allow you to set up and manage simple workflow scenarios in different lines of business, such as SAP S/4HANA Finance, Procurement, Human Resources, Manufacturing, and now SAP S/4HANA Sales. This functionality for SAP S/4HANA Sales has been available since SAP S/4HANA 1809 on Credit Memo Requests, but now in SAP S/4HANA 1909 is extended to Sales Orders and Quotations.

You will find this Blog Post useful if you are planning to implement this functionality on your SAP S/4HANA 1909 environment, or if you are interested in checking the functionality and the steps to set up a workflow scenario.

There is also more documentation available on the SAP help portal (Link) and Manage Sales Documents Workflow App Documentation (Link).

Pre-requisites

There are some pre-requisites that you must check before actually setting up this functionality. If your system comes from a New Implementation using SAP Best Practices, all these pre-requisites should be already on your SAP S/4HANA 1909 environment. Otherwise, if your system comes from an upgrade of a previous SAP S/4HANA release, or a System Conversion, you will have to do some customizing on IMG. I recommend you check with your Basis, SAP Fiori, and even workflow experts on your team for some of these points.

1. User Roles

Flexible Workflow relies on SAP Fiori to be set-up and performed on SAP S/4HANA. Apps like Manage Teams and Responsibilities and My Inbox will be used later on this blog to show you how to set-up and perform a demo scenario.

Most of the apps required are already part of standard roles you can find on your SAP S/4HANA system. The first two roles in the following table have been used to set up this scenario. The latter two were used to perform the scenario in which the Sales Flexible Workflow is used. You can easily add the roles to your user in a Development environment for initial testing, and then define the specific roles and users that will require the apps and permissions that will be used effectively in a Quality and Production environment.

Role Description
SAP_BR_BPC_EXPERT Configuration Expert – Business Process Configuration
SAP_BR_BUSINESS_PROCESS_SPEC Business Process Specialist
SAP_BR_INTERNAL_SALES_REP Internal Sales Representative
SAP_BR_SALES_MANAGER Sales Manager

There is only one app that is missing from the roles stated above. This app is called Custom Fields and Logic and is intended for a System Administrator. You can work with your Basis Expert and create a new Z-role through transaction PFCG to include the SAP Fiori Tile Catalog SAP_BASIS_BC_EXT.

Change%20Roles

Change Roles

2. Approval Reasons

This is the only IMG configuration that is mandatory from the functional point of view. You will have to define and assign Reasons for Approval Requests so the system will trigger a Workflow. If these Reasons are not assigned to a Sales Document, then the workflow will not work. You can create as many reasons as you require, and these reasons can be assigned to different Document Categories (i.e. Sales Order, Quotation and Credit Memo Request)

Follow this IMG path to define your Reasons for Approval Request:

IMG: Sales and Distribution > Sales > Sales Documents > Sales Document Approvals > Define Reasons for Approval Requests

In this example, we have created one default reason for each document category.

Reasons%20for%20Approval

Reasons for Approval

Then, these Approval Request Reasons need to be assigned to the Sales Document Categories on the following IMG path:

IMG: Sales and Distribution > Sales > Sales Documents > Sales Document Approvals > Assign Reasons for Approval Requests

For the purpose of this blog, we have created only one Approval Request Reason for each Sales Document Category available. Keep in mind that you can use the same Approval Request Reason for different Sales Document Categories or assign more than one Approval Request Reason to a Sales Document Category.

Later on, these approval reasons will be assigned to a specific document through the Custom Fields and Logic App.

3. Workflow Settings

This one is more of troubleshooting. Be aware that the Flexible Workflow relies on the standard workflow scenarios. You may need help from Basis and SAP Fiori experts to check missing customizing and settings.

These are the standard workflows you should worry about when using the Flexible workflow functionality in Sales for SAP S/4HANA 1909.

Workflow Description
WS02000006 Workflow for Sales Orders
WS02000029 Workflow for Credit Memo Requests
WS02000447 Workflow for Sales Quotation

Some customizing settings need to be checked. Again, if you installed Best Practices for the latest SAP S/4HANA release, all these customizing should be already in place.

First, make sure that make the scenario for the specific flexible Workflow is active.

IMG: SAP NetWeaver > Application Server > Business Management > SAP Business Workflow > Flexible Workflow > Scenario Activation

Scenario%20Activation

Scenario Activation

Then, make sure that all the Tasks Names and Decision Options are maintained so they are not filtered on My Inbox App.

IMG: SAP NetWeaver > SAP Gateway Service Enablement > Content > Workflow Settings > Maintain Task Names and Decision Options

Decision%20Options

Decision Options

More information on this topic can be found on My Inbox documentation – chapter 5 (Link), referenced by the KBA 2424054 – How to setup My Inbox 2.0 app (Link).

It is also useful to notice that service SD_F3014_SALESORDER_WORKFLOW_SRV should be working in SAP Fiori to correctly display the requests on My Inbox App.

4. Business Partners

Users that are going to be used as approvers on the Define Teams and Responsibilities App require to be created both as an employee (Person Number) and a Business Partner. Also, the Business Partner needs to be created linked to the employee, so the correct role is created in its Master Data. This is not as easy as to create a role on the BP Master Data, but a report has to be executed to create the BP from the employee data. Steps described in the blog How to create employee in S/4HANA for Customer Management (Link) should be enough to do this. In the end, the Business Partner should have the correct BP role as in the following image.

Display%20BP

Display BP

Scenario

Now that we have taken care of the pre-requisites to make the Flexible Workflow in Sales Documents work, we can set up our scenario.

In our test scenario, we want a specific Sales, Credit Memo, and Quotation document types to be relevant for approval and trigger our workflow scenario. We want these approvals to be processed by a First Level or Second Level approver depending on the amount of the document.

I will use the following document types and amounts to trigger the second level of approval.

Document Type Description From L2 Amount (USD)
ZORW Sales Order with Workflow $2000.00
ZQTW Quotation with Workflow $2000.00
ZCRW Credit Memo Request with Workflow $5000.00

Step 1 – Define Relevancy for Approval

To define the relevancy for Sales Documents you will need to use the Custom Fields and Logic App. Go to the Custom Logic tab, and create a new enhancement implementation.

Then, you will have to select Sales: Sales Document in the Business Context field, Set Approval Request Reasons for Sales Documents on the BAdI Description Field, and enter an Implementation Description and ID before creating the enhancement implementation.

New%20Enhancement%20Implementation

New Enhancement Implementation

On the following screen, you will need to enter a logic to determine a Reason for Approval. This Reason for Approval will be the factor that triggers the workflow on the sales document. In our scenario, we are defining an approval reason depending on the sales document type.

BAdI

BAdI

You can also use any field on salesdocument, saledocumentitem, and salesdocumentpartner structures for this purpose. For example, if you want to trigger the workflow only for documents that are above an amount you can use field salesdocument-totalnetamount on your own logic.

Step 2 – Define Teams and Responsibilities

Here you will define the approvers for your documents. Go to the manage Teams and responsibilities App and create your Team of Approvers.

Go ahead and define a Name and Description for your team. Use type Sales and include all the relevant team members. Remember that team members will have to be created both as employees and business partners as explained in the pre-requisites section.

For each team member, you will require to include their function, this is if they are first level approver, second-level approver, or both. In our Example, Hector will be L1 Approver, and Thomas will be L2 Approver. Other approvers will be both L1 and L2 approvers.

Define%20Team%20and%20Responsibilities

Define Team and Responsibilities

You can define the responsibility for each team of approver according to different characteristics. For example, you can have a team responsible for a Sales Area or a specific customer. You can manage this through the Responsibility Definitions Section.

Step 3 – Manage Sales Documents Workflows

The last step to define the scenario for Flexible Workflow in Sales Documents is to create the Workflow definition through the Manage Sales Document Workflows App.

On this App, you will have to set up the workflow settings for each Document Category Available. Sales Quotation, Sales Orders, and Credit Memo Request are available on SAP S/4HANA 1909. Option Workflow for credit Memo Req. (obsolete) was used on SAP S/4HANA 1809 and is not recommended on SAP S/4HANA 1909.

Document%20Categories

Document Categories

Select the Document Category and add a new Workflow.

New%20Workflow

New Workflow

Maintain the Workflow Name, Description, and Validity Period. Remember that after the validity period ends, you will have to copy your previous workflow or set up a new one.

Maintain%20Workflow

Maintain Workflow

Now add the step sequence. In our example, our first step is to check if the document exceeds the minimum amount for a Second Level Approver. This will be maintained through the step conditions.

Step%20Sequence

Step Sequence

Don´t forget to include the exception handling. This is required to restart the workflow in case a rework is requested by the approver.

Exception%20Handling

Exception Handling

We followed the same procedure include a second step for the rest of the documents, for which the first Level approval is required.

Step%20Sequence%202

Step Sequence 2

Rinse and repeat this procedure for each of the remaining Document Categories required in our scenario.

Workflow Process and My Inbox

Now that the workflow is all set up, you will notice that newly created Sales Documents will now have an approval status. This approval status will appear on the SAP Fiori “Manage” collection of Apps for Sales.

Manage%20Sales%20Orders

Manage Sales Orders

You can also display the approval reason at the document header on the Status tab. If you try to change any document that is currently In Approval, you will get an error message to prevent any changes during this process.

Display%20Sales%20Document

Display Sales Document

Message

Message

The approval request will be displayed through My Inbox App. Here the approver will receive the notification and check basic data from the Sales Document, such Partner Functions, Amount, item details, etc.

The approver can also navigate to the Sales Document if further information is required, and is given the option to Release, Request to Rework, or Reject the Sales Document.

My%20Inbox

My Inbox

Approval Request can also be displayed on the notification area, so there is no need to navigate and open My Inbox App to approve a request. The approver can take action directly from the SAP Fiori Launchpad.

Notification%20Area

Notification Area

Once the Sales Document is approved, the Approval Status will change and now modifications will be allowed. Further processing can be performed such as the creation of following documents.

Sales%20Document%20Status

Sales Document Status

If in any case the requestor or any other user require to change a sales document that is under approval, they can withdraw the Approval Request. Once the modification is done and the document is saved, the Approval Request will be triggered again.

Withdraw%20Approval%20Request

Withdraw Approval Request

Worth to notice that if you make any changes to the released sales order (i.e. modify items, quantities, or even trigger ATP check), status In Approval will be set again and a new work item would be generated. You may have to take care of “sensible” fields through a custom logic on the Custom Fields and Logic app if you don´t want to have an approval to be triggered.

Summary

I hope this blog was useful for you or anyone interested in learning and implementing the Sales Flexible Workflow on your own SAP S/4HANA 1909 system. You will now be able to check all the pre-requisites and set up a new Workflow. For those customers that are not yet on the latest SAP S/4HANA release, it is a great chance to build up a business case and promote an upgrade or even a system conversion on your Landscape.

Special thanks to Jean-Marie Conseil to help me set up the workflow scenario and build this blog post.

Thanks,

Iván Ramírez, SAP S/4HANA RIG

Assigned Tags

      61 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Allan Pizaia
      Allan Pizaia

      Wow

      The SD module has long needed a workflow solution but is flexible. Very good!

      Great news and excellent post!

      Allan Pizaia

      Author's profile photo Gaurav Karkara
      Gaurav Karkara

      Very useful blog post. Thanks you for this!

      Gaurav

      Author's profile photo Vikas Yadav
      Vikas Yadav

      Practical and a quick insight to Sales workflow. Excellent Blog!

      Author's profile photo Rafael Castillo
      Rafael Castillo

      Excellent Post.. Thank you...

      Author's profile photo Amit Kumar
      Amit Kumar

      Excellent block......Ivan I explored this workflow for one of my Customer in S4HANA 1909,everything went well but after 3 days this workflow stopped working and could not run again,i did all the analyses by me and from technical colleague also but could not find the reason.

      Author's profile photo Ivan Ramirez
      Ivan Ramirez
      Blog Post Author

      Hi Amit,

      Thanks for liking my blog!

      About your Flexible Workflow stopped working, perhaps I can recommend you to check where exactly the workflow stopped working. I can think of 4 places you should check:

      1. Check that your logic in Custom Fields and Logic App is working. When you create a Sales Document the approval status is determined and the document is blocked for any modification.
      2. Check that your team is "ready to use" and the workflow is released and within the validity date.
      3. Check that  the workflows steps are triggering. You may need a help by a workflow expert to check the workflow logs. In the Manage Teams and Responsibilities App you can find a log as well.
      4. Check My inbox app. If the workflow task are being triggered correctly, they may have been filtered in this app or services missing. Check My Inbox documentation.

      If after this check you can't find where the problem is, or you can't fix it, please raise an Incident to the support colleagues on the support launchpad.

      I hope my recommendation is helpful! Let me know if you get your workflow running again.

      Author's profile photo Sarish Numbialil
      Sarish Numbialil

      Hi Ivan,

      Excellent Blog.

      Is there a possibility to check a subtotal (for example cumulative discounts) instead of the net value as a step condition for triggering the workflow?

      Thank you

      Sarish

      Author's profile photo Ivan Ramirez
      Ivan Ramirez
      Blog Post Author

      Hi Sarish,

      Thanks for liking my blog! Regarding your question, Subtotal 1 to 6 are available on the Custom fields and Logic App at Sales Document item level. You can build your own logic using those fields to assign an approval reason to a Sales Document and trigger your workflow.

      I hope my answer is helpful!

      Iván

      Author's profile photo Sarish Numbialil
      Sarish Numbialil

      Thank you, Ivan.

      I will check this out when I get a chance to configure this in the 1909 system.

      Regards

      Sarish

      Author's profile photo Murali K
      Murali K

      Superb Blog.It is very clear reference.

      Thank you

      Author's profile photo Ahmed Khan
      Ahmed Khan

      That is what I was looking for. Well documented blog.

      Author's profile photo mohd shakib
      mohd shakib

      Hi

      Excellent Blog, Please let me know if the same can be implemented for 1809 on Premise Version.

      Author's profile photo Ivan Ramirez
      Ivan Ramirez
      Blog Post Author

      Hi Mohd,

       

      Thanks for liking my blog. Flexible Workflow in Sales is available since SAP S/4HANA 1809 with some limitations. It is available for Credit memo Request only, and customization is different since Reasons for Approval are not available in that release. You can find the pre-requisites on the Manage Sales Document Workflows documentation on the following Link.

      Check the documentation from slide 31 onward.

       

      Hope this help!

       

      Author's profile photo Sachin Shankarrao Jayade
      Sachin Shankarrao Jayade

      Thanks for the excellent Blog, Ivan!

      Is it possible to configure the flexible workflow at the Sales order line item level? i.e. to trigger separate work items for each sales order line item based on line item usage.

      Author's profile photo Jorge Celis
      Jorge Celis

      Great Blog Ivan,  i have a doubt, How activate  WorkFlow in Condition Contract Management and Settlement Condition Contract?

       

       

      Author's profile photo Anjikumar Pasumarthy
      Anjikumar Pasumarthy

      Hi Jorge,

      Please visit this blog post

      https://blogs.sap.com/2020/11/16/workflow-configuration-for-condition-contracts-settlement-documents/

      Author's profile photo Jorge Celis
      Jorge Celis

      Thank you very much Anjikumar, it´s a very good blog, thanks for your great help

      Author's profile photo Oguzhan YILDIRIM
      Oguzhan YILDIRIM

      I activated the flexible workflow for sales documents in my 1909 FSP01 on promise system. This blog has been very helpful to me. But I want to suggest something that event linkage step is missing. In my system event linkages was not activated.

      Thank you so much.

      Here is the help document.

      https://help.sap.com/viewer/7b24a64d9d0941bda1afa753263d9e39/2020.000/en-US/709aae2194ab45cd9867515282da7351.html

      Activate the event linkage for workflows in your system. This ensures that the system events are linked to your workflow scenarios. In Customizing, go to SAP NetWeaver  Application Server  Business Management  SAP Business Workflow  Perform task-specific Customizing.

      For sales quotations, sales orders, and credit memo requests:

      1. Expand the application component for SD  SD-SLS.

      2. Ensure that event linkage is active for the following:

        • WS 02000447 (for sales quotations)

        • WS 02000006 (for sales orders)

        • WS 02000029 (for credit memo requests)

       

      Author's profile photo Monica Muñoz
      Monica Muñoz

      Hi Ivan! Excellent post! Thank you! ?

      Is there possible to use other SD Document Category?

      For example: I need to implement this solution for document category I – Order Without Charge; but in
      the standard solution I saw only those types: C – Order / K-Credit Memo Request /
      and B – Quotation.

      Thank you for your help!

      Monica

      Author's profile photo Rauno Müller
      Rauno Müller

      Hi Monica

      Free of Charge orders category I are included in Release 2020.

      Regards

      Rauno

      Author's profile photo Monica Muñoz
      Monica Muñoz

      Thanks for your help Rauno!

      Author's profile photo Pavel Jaros
      Pavel Jaros

      Hello Ivan, thanks for your post.

      I have one question re design of Flex WF.

      If this is activated and created SO is not released yet, what is the effect of this SO status - e.g. what about transfer of requirement (for MRP planning)? Does transfer of requirement take place or not?

      Thanks for your feedback.

      Best regards, Pavel

      Author's profile photo Dieter Maes
      Dieter Maes

      Nice document.

      You mentioned next part:

      Worth to notice that if you make any changes to the released sales order (i.e. modify items, quantities, or even trigger ATP check), status In Approval will be set again and a new work item would be generated. You may have to take care of “sensible” fields through a custom logic on the Custom Fields and Logic app if you don´t want to have an approval to be triggered.

      How can this be done in the custom fields and logic app to avoid a new approval is every time triggered after a change of document and first approval of order type is done?
      Is it also possible to trigger only again an approval if specific fields are changed (e.g. material added in sales order, quantity of material changed, price of sales order changed, ...)

       

      Thanks for your feedback.

      Author's profile photo Rauno Müller
      Rauno Müller

      Hello Dieter

      you find examples for coding within the App "Custom field and Logic" (at least or Release 2020). One of these codings shows how to define certain changes as relevant to trigger a workflow.

      Regards

      Rauno

      Author's profile photo Sanket Vaity
      Sanket Vaity

      Hi Dieter Maes ,

      Hope you are doing well.

      Were you able to find out a solution for your requirement? We also have a similar requirement hence asking.

      We want to trigger workflow on change of partner function only and don't want to reset the status while doing the same.

      Please let us know if you have already figured it out.

       

      Thanks & Regards,

      Sanket

      Author's profile photo Dieter Maes
      Dieter Maes

      Hi Sanket Vaity

      We did fix this with additional development. I don't know if this is the best solution...

      Kind regards,

      Dieter

      Author's profile photo Vinay Chopra
      Vinay Chopra

      Ivan,

      Very clear and concise instructions. Covers all the points. I commend you for this valuable piece.

      I have an issue in that I am seeing something different on "My Inbox" on Fiori though - where the workflow responses available to me are "Complete", "Show Log", "Claim", "Forward" and "Suspend".

      On the SAPGUI Inbox, however, the workflow shows the expected available responses - "Approve",  "Reject", "Request Rework", "Cancel and keep work item in inbox".

      Would you have a clue to what I'm missing? Its on on-prem 1909 front-end/back-end config.

      Thanks,

      Vinay

      Author's profile photo Priya Shekhar
      Priya Shekhar

      Hi Vinay,

      Were u able to figure out how to get the "Request Rework " option in My Inbox fiori App.

      Thanks,

      Priya

      Author's profile photo Rohit Zalani
      Rohit Zalani

      Hi

      Thank you for this Blog. Wanted to confirm the following with you:

      a. Once the workflow has been approved, the release of the document is not recorded in the sales order changes to show that this was approved by an authorized user. How do we get that information?

      b. Is there a report that can give a list of orders that were approved for audit purposes ?

      c. There are comments that you record on the workflow object and also the decision text. How is that attached back to the sales document / can this be attached as a PDF to the underlying sales document so that this can be easily accessed for the specific sales order ?

      Appreciate your responses.

      Author's profile photo Priya Soma Shekhar
      Priya Soma Shekhar

      Great blog.

      Is it possible to trigger the workflow if a delivery block is filled in the sales order header level.

      The badi implementation doesn't seem to have delivery block field in the importing parameters.

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hello,

      You're right, delivery block is not part of the structure. Maybe you can solve this by means of creation of a custom field in context "Sales: Sales Document":

      https://help.sap.com/viewer/ed0e11412f9841e7ac5cd9a6799368d4/202009.001/en-US/3a713139e548434e8a50800e7a7c8172.html

      Then extend (or create) Custom Logic for "Sales Header Modification":

      https://help.sap.com/viewer/ed0e11412f9841e7ac5cd9a6799368d4/202009.001/en-US/228e93706169472abdb1665293378e8b.html

      Update your custom field with source value "salesdocument-deliveryblockreason".

      This will make available the new field in the BADI...

      Author's profile photo Priya Soma Shekhar
      Priya Soma Shekhar

      Thanks a lot for your input. It worked .

      Author's profile photo Sameer Ahmed Ahmed
      Sameer Ahmed Ahmed

      Hi Ivan, great blog !

      Most customers (including mine) would like to trigger the workflow from the schedule line delivery block though, from what I observed the BADI SD_APM_SET_APPROVAL_REASON is only assigned to the SD_SALESDOCUMENT (header) business context, perhaps that could be fixed by adding the business context SD_SCHEDGAGRMTDELIVSCHED in the extensibility registry but the approval reason configuration assignment is only at the document category level which a header level field. Is it possible to trigger this workflow from the schedule line level delivery block ?

      Appreciate your thought on this

      Thanks

      Sameer

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hi Sameer,

      Actually, approval logic is set on overall document and not on item or (even more) not on schedule line level, so I don't know if your suggestion to add business context could work.

      I did a unit test and saw that putting a delivery block on schedule line item resulted in updating field "Overall Delivery Block Status" (VBAK-LSSTK) with value "B". This will be (maybe) an easier way to build a rule...

      ...but if your requirement is to build a rule depending on the specific value of delivery block put on the schedule line, then it will be more cumbersome to evaluate this in the BADI. You will need to access all the data or use some logic to get the data from "buffer", but you will need a skilled developer to achieve this I would say...

      Best regards,

      Jean-Marie

      Author's profile photo Rishi Mohan Khanna
      Rishi Mohan Khanna

      Very informative Blog !! Thanks for sharing this.

      I just have one question.. why the Debit Memo request (Doc Category "L")  is not part of the applicable sales document list with the 2020 release ??

      Am I missing anything here?

       

      Regards

       

       

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hello,

      You're right. Doc categories are enabled progressively. Debit Memo Requests will come later (Q4 2021) as per information coming from Roadmap Explorer:

      https://roadmaps.sap.com/board?PRODUCT=73554900100800000266&q=debit&range=CURRENT-LAST#;INNO=000D3ABE772D1EDBA19F23BAA5D90438

      Best Regards,

      Jean-Marie

      Author's profile photo Rishi Mohan Khanna
      Rishi Mohan Khanna

      Thanks a lot for sharing this  !!

       

      Author's profile photo Suman Chanda
      Suman Chanda

      Hi Ivan / Jean-Marie,

      Great Information !!

      While setting up CMR approval workflow in 1909, I noticed that the option of setting up "Automatic  Release" is not available in 1909. In the 1809 version of CMR workflow, we had the option to set up automatic release as a step type within a workflow.
      It seems that now we would need to define the approval conditions (and hence auto-approval) in the Badi "SD_APM_SET_APPROVAL_REASON" itself.
      Ideally, I would like to keep the BadI as generic as possible without adding any business logic and instead maintain the business rules (e.g. amount more than $) through the  fiori app "Manage Workflows". So, that we can avoid code changes in the BadI if our business rules change at a later time.

      Is there an option or workaround to define automatic release conditions through workflow instead of coding in the BadI ? Appreciate your thoughts on this.

      Thanks,
      Suman

       

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hi Suman,

      New sales document workflow no longer includes this "automatic release" step in the workflow definition as per documentation you can find at help.sap.com:

      Seems the only way to achieve your business need will be to implement a logic in the BADI so that approval reason is not set under certain circumstances.

      I'm sorry but I see no other solution here...

      Best regards,

      Jean-Marie

       

      Author's profile photo Suman Chanda
      Suman Chanda

      Thanks for confirming...

      Author's profile photo David Jinn
      David Jinn
      Thanks Ivan for the all the good works ! 
      
      This really help my project, but im encountering an issue when I want to 'Reject' the Approval Request. 
      The Approval Status in the Sales Document stays as 'In Approval' instead of 'Rejected'. Anyone encounter the same issue as i do ? 
      
      I did maintain the Task Name and Decision Options, and included the 'Reject' option as part of the Deicision Keys for WF step 0000009.
      
       
      
      
      Author's profile photo Priya Shekhar
      Priya Shekhar

      Hi David,

       

      Did you find an answer to your question?

       

      Thanks,

      Priya

      Author's profile photo Mehmet Ata İnan
      Mehmet Ata İnan

      Hello David & Priya,

       

      I have looked for solution everywhere and like you could not find any good answer. Finally found and wanted to share with you.

      This BADI_SD_APM should be used to put rejection reason to document after rejection via workflow, and then you will see status for workflow also will be rejected.

        METHOD if_badi_sd_apm~get_sdoc_rejection_reason.

      cv_sdoc_rejection_reason 'Z1'.

      ENDMETHOD.

       

      Have a nice day.

      Ata

      Author's profile photo Priya Shekhar
      Priya Shekhar

      Is the only way to create BP to use in Teams and Responsibilities App, the one described in the link? Or is there any other way?

      Author's profile photo Sweta Gohil
      Sweta Gohil

      Hi Ivan,

      Do we have start condition on material group in flexible workflow provided by SAP?

      Does flexible workflow applicable to FIORI transaction only or SAP GUI transaction also?

      Thanks & Regards,

      Sweta Gohil.

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hello Sweta,

      Sales document Workflow approval is on overall document level, not on item level. So that's why it does not "consume" item attributes out of the box. By means of ad hoc development in the BADI implementation, you can eventually influence this but remember what you will approve in the end is the complete document and not a single item...

      About your second question, I do not see any gui alternative to "Manage sales document workflow" app, same for "Manage teams and responsibilities" app. You can eventually use the business workplace instead of "My Inbox" app but I personally find it less easy to use...

      Best regards,

      Jean-Marie

      Author's profile photo Sweta Gohil
      Sweta Gohil

      Thanks Jean,

      Very well understood for my first query but for second query let me describe it in details.

      suppose we are using gui transaction in the begining will flexible work flow help there or it will be useful only if we us FIORI app for SO transaction?

      I hope I could convey my query. Please guide.

      Thanks & Regards,

      Sweta Gohil.

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hi Sweta,

      Still not 100% sure I got your question but what I understand is you are asking if workflow gets triggered whatever the "method" used to capture (or change) sales orders, right?

      According to my own experience, there was no difference between sales order captured in Gui or in Fiori. Workflow was also triggered on sales orders created with Idocs and, as far as I know, creation with BAPI works as well and I also expect the same with SOAP.

      Did I get your point correctly?

      Best regards,

      Jean-Marie

      Author's profile photo Konstantinos Sofios
      Konstantinos Sofios

      Hello Ivan and Jean,

      Thank you very much for the great post. In my current implementation in SAP S4HANA 1909 we activated the Flexible workflow for Credit memos requests.

      When a user changes the credit memo request (VA02) after its release from the Approver, the workflow restarts even if the change does not affect the amount of the credit (e.g. change of payment term).

      Do you know which fields trigger the workflow restart and if there is a way to configure them?

      Best Regards,

      Konstantinos Sofios

      Author's profile photo Rutwik Nagwankar
      Rutwik Nagwankar

      Thank you, Ivan!

      This serves as a great primer on Sales Document Workflows!

      We have a requirement wherein any change on the Net Price of the Sales Document should trigger an approval process.

      Wanted to know from the forum if we can have such a requirement covered?

      Any direction on this is highly appreciated.

      Thanks,

      Rutwik

      Author's profile photo joshua a ruse
      joshua a ruse

      This seems strange to me that SAP would force you to assign an approval reason to the sales document rendering the preconditions moot. For purchasing there is an auto release step to counteract this but that is no longer present in Sales Documents. So the suggested SAP solution is to basically code the pre-conditions in the BADI (something I would use to 'start' a standard purchasing workflow) for approval reason assignment? Then use the pre-conditions, mainly, to target the teams responsible for release/rework? This seems very flawed.

      Author's profile photo r a rajaraman
      r a rajaraman

      Hello Ivan,

      This is a wonderful Blog.

      May i know if there is an option to see the approver details in the Sales Document (CMR / DMR). This is for the end user to follow-up.

      Regards

      Ramanathan

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hello Ramanathan,

      As of SAP S/4HANA 2020, you can see in which phase of the approval process the documents are lying in the "Approval details" section of the object page (e.g. in object page for credit memo request - app ID F1846 or in in object page for sales order - app ID  F1814).

      Workflow approval for debit memo request has been enabled as of SAP S/4HANA 2021. I didn't test it yet but I would expect approval details to be also available in debit memo request object page (F1848).

      Best regards,

      Jean-Marie

      Author's profile photo SIVASANKARAN SUNDARESAN
      SIVASANKARAN SUNDARESAN

      Very useful bllog, Ivan. Thanks a lot. Siva.

      Author's profile photo Dan Brooks
      Dan Brooks

      Is there an App available to check where a sales document is currently in approval flow?

      IE, we can see that the document is currently with user/team/role for approval.

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hi Dan,
      "Manage sales orders" app (and also the other "manage" apps for other document categories) can show current status in the Fiori Worklist. If one of the documents are relevant, you can branch to the object page of the document and check the "approval details" section. There you will be able to see to whom the work item is assigned if the document is "in approval", or who took the decision to accept or reject the document.

      For On-prem edition, feature is available as of 2020 Release as far as I remember...

      Approval%20details

      Approval details

       

      Author's profile photo Lynn Yoke Ling Guan
      Lynn Yoke Ling Guan

      Anyone encounterr issue on not able to approve due to missing Decision reason?missing%20list

      missing list

      Author's profile photo Surekha Chawale
      Surekha Chawale

      Dear Ivan ,

      We have implemented standard workflow of sales order in system and it works fine end to end for custom condition and standard condition as well .

      But Customer requirement is as well .

      1. TRIGGER workflow for Order type(Condition 1) - Single level approver
      2. Trigger workflow in Case Sales Order creation date and  Purchase order date diff is greater than 10 days.(Condition 2) Single level approver

      So here if both condition satisfy we need to trigger 2 workflows and 2 work items may gets created for different approver's for same sales order .

      Till this one we are able to manage our solution .

      But When approver 1 from condition 1 approves sales order the status changes from in approval to released .

      Our requirement is that Both approvers should approve and then only Sales order set in released state .

      Please confirm for same .

      Thanks

      Surekha

      Author's profile photo Jean-Marie CONSEIL
      Jean-Marie CONSEIL

      Hello,

      I did not face the same requirement but I would say that in this case triggering one workflow with two steps would maybe be a better approach, even if preconditions you mentioned (based on creation date & purchase order date) are not part of standard catalog...

      Having 2 work items in parallel generates the issue you mentioned as workflow is then finalized...

      Best regards,

      Jean-Marie

      Author's profile photo Akarsh Aman
      Akarsh Aman

      Thank you Ivan for the blog. This is informative.

      I have a query - "Would it be possible to have approval workflow in sales orders based on item quantity?"
      Since item quantity would be on item level not header, i was wondering if it would be possible?

      Appreciate your response.

      Author's profile photo Clara Villalobo-Galindo
      Clara Villalobo-Galindo

      Excellent blog Ivan. Thanks for sharing !