SAP Knowledge Base Article - Public

3450476 - Unable to add value up to 4 decimal points for PPR0 Condition Type - S/4HANA Cloud

Symptom

There is a business need to add value up to 4 decimal points for PPR0 condition type during Sales Order creation.

Environment

SAP S/4HANA Cloud

Reproducing the Issue

  1. Create Sales Order
  2. Select Item
  3. Click on 'Item conditions'
  4. Edit Amount value for Condition type PPR0 (e.g. 17,5555)
  5. Enter
  6. Error message appears: "Input must be in the format ___.___.__~,__V" (Message no. 00088)

Cause

The entry in this field was rejected because it does not match the specified template.

The entry must comply with the template format. The following template characters have a special meaning:

  • _ (underscore) There should be an input character at this point. This should be a digit for numeric fields.
  • , (decimal comma or point): is valid for numeric fields and timestamps of type UTCLONG. A decimal point or comma is placed here. (Setting is made in user master record).
  • . (thousands separator): is valid for numeric fields. The separator appears between every three digits (optional). Depending on the setting in the user master record, it can be a period or a comma.
  • V: is valid for numeric fields: the plus/minus sign is placed here. If one is used, it must be placed on the right edge of the field. The sign is '-' or ' '(blank character).
  • ~ (tilde): is valid for numeric fields. Leading zeros must also be specified from this point to the right (inclusive). Otherwise, this character has the same meaning as the underscore. Leading zeros do not need to be specifiied to the left of the tilde.  Neither are they displayed in this position.
  • All other characters stand for themselves. When they are input, they must be in the same position as in the template.

Resolution

This is a standard system behavior, and the decimal places at the condition type works as designed.

In general the system will show exactly the number of decimals as they are defined for the currency involved. The result will be rounded if necessary and only the rounded value is available.

It is not possible for customers to manage the settings for the currencies in SAP S/4HANA Cloud, Public edition.

Also, currently there are no BAdIs available to influence the price condition, however the "BAdI - Define Alternative Calculation of Condition Amount in Document Item" can be enhanced as per following document:

(Please note that this BAdI cannot be used to change the number of decimal places a currency is using. It can only be used to change the way the 'ConditionAmount' and other fields are calculated. EUR will always have 2 decimal places and this cannot be changed. The KBA is intended to fix issue with currencies that do not have 2 decimal places like JPY. If this KBA is not applied for these specific currencies, the 'ConditionAmount' will not be calculated correctly.)

If more decimals are needed in the condition amount, a possible workaround could be to try creating an artificial currency (see e.g. USDN with 5 decimals).

This is however usually not feasible for the condition value which is in document currency, because customers need to do the booking into FI with a regular currency.

Please note that as SAP does not support this feature, the above steps are only an alternate workaround. Customer holds full responsibility for any error or inconsistency caused by customizing. Any changes should be thoroughly tested on the test system prior to implementation on production to ensure no negative impact.

See Also

Keywords

PPR0, 00088, condition type, condition amount, decimal, rounding, BAdI, currency, pricing, workaround, decimal place, item condition , KBA , SD-BF-PR-2CL , Pricing (Public Cloud) , How To

Product

SAP S/4HANA Cloud 2402