cancel
Showing results for 
Search instead for 
Did you mean: 

Set Decimal Places for Currencies OY04_mismatch in BSEG fields WRBTR DMBTR

Former Member
0 Kudos

Hi Gurus,

We have a major issue in our client's system.

We had configured a new company code for Columbia, and then posted a few documents in Development and Quality. Then a requirement came from the client that the currency COP should not have any decimal places. Accordingly a configuration was made in OY04 (Set Decimal Places for Currencies) for COP currency. After that all the documents posted were deleted.

These changes were then moved to the Production environment, after some tests in Dev and Quality.

Now the client has asked to include the decimal places for COP as per instruction from their Banking partners.

Following are my concerns/queries:

- At current configuration in our system (i.e. COP without decimals), we see that all whole amounts being posted in BSEG are reflecting as decimal amounts. For ex: If we post COP 35,987, in BSEG it reflects as in the following view (tcode SE16N):

Field NameValueTechnical Field NameValue Unconverted
Amt.in loc.cur.359.87DMBTR359.87
Amount359.87WRBTR359.87
General ledger amount35,987PSWBT359.87

Hence it is automatically setting a decimal after two units from the right, even for whole amounts. This is occurring for the above three fields for both Value and Value Unconverted views, expect for General Ledger Amount's "Value" view in BSEG, where it is reflecting correctly.

- If we have made COP as without decimal currency in OY04, and while posting and in FB03 view it is showing correctly (i.e. without decimal) then why is it reflecting in BSEG as an incorrect decimal amount? Will this affect future postings/reports made with reference to these entries? If yes, is there any way to correct this?

- Also, now that we want to change it back to "with decimals", if we make the changes directly in OY04, will it have any effect on future documents which will be posted with and without decimal amounts? Will there be a need to delete the documents of Dev and Quality from the database?

Currently there are no documents posted in Production yet for our company code.

Please help as this very critical.

Thanks & Regards

Ambarish

Accepted Solutions (0)

Answers (1)

Answers (1)

Gustavo_Vazquez
Active Contributor
0 Kudos

Hi Ambarish,

Documents read from SE16N have always 2 decimals. Look at  the definition of the field in SE11.

OY04 converts decimal places in FB03 (and other reports) so you can read them correctly.

Changing decimal places in currency with documents posted is a project to be done with SAP SLO - Currency Conversion - and should only be done by legal requierements of the country.

You could use BAPI_CURRENCY_GETDECIMALS to get the decimals in your currency and then convert to decimal places you wan You can also use  CONVERT_CURRENCY_BY_RATE  with the creation of a new COP currency but with 2 decimal places.

Hope this helps

Kind Regards

Former Member
0 Kudos

Hi Gustavo

Thanks for your reply.

I know that in SE11 the definition for the amount field is with 2 decimals. However as I mentioned earlier, when we post the document with COP 1000, it shows as COP 10.00 in the tables. I believe that if the field has a 2 decimal definition and sets it accordingly in the table view, it should set it after the amount i.e. COP 1000 should reflect as COP 1000.00. However making it COP 10.00 makes it a completely different amount. Also while trying to clear this item (F-04) it is considering it as COP 10.00.

As per user's requirement, we configured COP to not have decimal places. The reason the requirement changed and the users now want a decimal place is due to a need arising out of an interface from the bank which needs decimal places. This is basically for Automatic Payment Program (APP) and Electronic Bank Statement (EBS) processes where we send out IDOCs and receive MT940 formats respectively from the bank. Here the bank needs to have decimal places in the amount to process payments. Is there any other standard way of tackling this, so that we can send out decimal values and receive decimal values only for APP and EBS without having the need to change this configuration again?

Please let us know.

Thanks & Regards

Ambarish

Gustavo_Vazquez
Active Contributor
0 Kudos

Hi Ambarish,

The amount 10.00 in SE16N equivalent to 1000 COP is correct.

Please, record a document with currency USDN an let me know the value in BSEG.

If the requirement is an interface, I would change it. There are other reports which uses decimals and could give some problem.with COP.

If you use BAPI_CURRENCY_GETDECIMALS on COP and do


x = 2 - "decimals on COP"


and then

BSEG-WRBTR * ( 10 ^ x )

Could it solve your problem with the interface ?

Kind Regards

Gustavo_Vazquez
Active Contributor
0 Kudos

Hi Ambarish,

Did it work ? if yes, please close the thread

Kind Regards