In this blog post you will get to know about Issues and recommendation related to Workflow for sales document in App "Create preliminary billing document” having currency with zero decimal (JPY). 

 

Usually in sales process workflow is triggered for approval process, however few issues are identified in workflow to be taken care while design of such workflows.  it is observed that below are the common issues faced by customers in workflows

 

Ø  Workflow doesn’t trigger in app - Create preliminary billing document

Ø  BADI SD_BIL_APM_SET_APPROVAL_REASON doesn’t work in workflow for some specific currency scenarios

Blog Applicability

 

SAP S/4HANA Cloud Release

2005

 

Target Audience

Business Users, Key Users, Consultants

Target Industry

Any

Business benefit

 

·       Faster resolution or to avoid workflow related issue

·       Ease of monitoring, know workflows issues can be managed

Issue details

 

Ø  Workflow doesn’t trigger in APP - Create preliminary billing document

Ø  BADI SD_BIL_APM_SET_APPROVAL_REASON doesn’t work in workflow for some specific currency scenarios

 

Workflow is setup for the process and then check in APP "Create preliminary billing document” but ORD REASON is not updated

 

Process steps

 

1

In Create Preliminary Billing Documents app, create a PBD (Preliminary Billing Document) with reference to a sales order.

2

In Manage Preliminary Billing Documents app, select the PBD which you have created and click 'finalize'.

3

In Manage Preliminary Billing Documents app, select the PBD and go to Display Preliminary Billing Documents app and check order reason

 

Example - Custom logic badi implemented, pre requisite steps to be completed

 

Custom Fields and Logic app

 

 

Create order for greater than value of 500 JPY

 

Manage preliminary billing documents app

 

 

Display preliminary billing documents

 

 

 

Here we can that approval req. reason is not updated highlighted in yellow

Solution

Since currency is JPY, has zero decimal places, internally when saving to database the system divides the value by 100 so that it has 2 decimal places, while comparing the value in your BADI implementation you need to take this into account. otherwise the value check itself will not work.

Refer notes

 

1679279 - Wrong decimals places displayed for price fields

2810000 - Decimal places for sales price fields

 

The IF statement should be written like "If billingdocument-totalnetamount >= 5 ."

Here value and statement both should be in correct format to avoid issues .

Also check the preliminary conditions fulfilled like.

Define reason for approval reason SSCUI 102751

 

Assign reason for approval request - SSCUI 102752

 

 

Manage preliminary doc workflow app

 

 

Related SAP Note / Links

1679279 - Wrong decimals places displayed for price fields

2810000 - Decimal places for sales price fields

 

https://help.sap.com/viewer/a376cd9ea00d476b96f18dea1247e6a5/2005.500/en-US/583f3832e8124b9b95dbdfb16a467727.html