# Pricing with higher decimal places

At times, it is a Business or a regulatory requirement to implement the usage of pricing up to 4 decimal points in SD Pricing Procedures. The standard currencies like EUR or USD allow for decimal notation up to 2 decimal places only.

Workaround

The workaround for the same is to have a new currency defined. This would be an internal currency type and currency conversion would have to be maintained at the condition level configuration. The steps involved are as under:

1. Creation of a new internal currency type – The first customization required is the definition of a new internal currency type. Let us take an example, where the document and local currency is EUR and we would need to define a new internal currency type, say EURL.

The customization path for the same is as under:

IMG-SAP Netweaver – Currencies – Check Currencies Code

The transaction code for the same is OY03

1.

1. Set the Decimal places for the new internal currency type which has been created. The customization path for the same is:

IMG – SAP Netweaver – Currencies – Set Decimal Places for Currencie

The customization transaction code for the same is OY04

1.      2. Condition Type – Suppose the condition type PR00 is used to maintain the sales pricing in 4 decimal places. However, as a default the net value of a sales document must be calculated in 2 decimal places, it is necessary to activate currency conversion in the condition type customizing.

The path for the same is as under:

IMG-Sales & Distribution-Basic Functions-Pricing-Pricing Control-Define Condition Types-Maintain Condition Types

The transaction code for the same is V/06

A customizing would be required to take care of exchange rate conversions and also to avoid rounding errors.  We have created an alternative formula 900 and assigned it to pricing condition type PR00 in the pricing procedure:

form frm_kondi_wert_900.

check: xkomv-waers=’EURL’ and komk-waerk=’EUR’

data: xkbetr like xkomv-kbetr

xkbetr=xkomv-kbetr

if komp-shkzg ne space

arbfeld=xkbetr*-1

xkebtr=arbfeld

endif

arbfeld= xkomv-kawrt * xkbetr/xkomv-kpein

arbfeld=arbfeld/100000

xkwert=arbfeld

xkomv-kkurs=komp-kursk

endform

The IMG Path is as under:

IMG- Sales & Distribution- Basic Functions-Pricing – Pricing Control- Define and assign Pricing Procedure – Maintain Pricing Procedure

The transaction code for the same is V/08

1.       3. Changes for the output – By default, both currencies EURL and EUR would be printed in the output. However, ABAP Program changes would have to be done to ensure that the output is printed in EUR with amounts from EURL.

### Assigned Tags

You must be Logged on to comment or reply to a post.

Very Useful...Many Thanks.

Best Regards,

Naresh K.

Sanil Bhandari
Blog Post Author

Thanks much Naresh

Regards

Sanil Bhandari