Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

OY04 setting currency maintaining (Decimal Places for currency codes) Importance

Former Member
0 Kudos
7,981

Hello Frds,

I have one doubt regarding OY04 setting in this we are maintaining currencies with decimals.I checked my OY04 setting some special currencies only we are maintaining in this tcode and in that  also some currencies only maintaining decimals. which type of currencies we will be maintain here.

Which is not maintaing currencies in OY04 system is taking as per standard 2 decimals.

For exp: INR and USD we did not maintain in OY04 setting but system is taking automatic 2 decimals.

My question is:

1. Which type of currencies need to be maintained in OY04.

2. Which type of currencies need to be maintained decimals.

3.How will we check on which program system has taking 2 decimals which is not maintained currency in OY04.

Kindly any one can share your views about this.Thanks for your advance help.

Regards,

Lakshmi.

6 REPLIES 6

FredericGirod
Active Contributor
0 Kudos
1,821

Hi,

the table TCURX must be already correct.

The last time we  change it, it's when some currency disappears for EUR.

The problem with currency, SAP save the field like if they have decimals. For example JPY, there is no decimals. You would like to save 100, SAP will save 1,00.  And when they have to write this amount, they read the table TCURX and they know the amount must be x100.

To make it more simple, use the statement WRITE .... (INTO ...) CURRENCY my_curr  if you play with currency with decimals <> 2

regards

Fred

0 Kudos
1,821

Hello Frederic,

Thanks for your reply.I am also facing same problem if i save JPY amount 15500,in table level it is saving 155.00 now i want to correct it.In TCRUX the decimal is ZERO.

In above mail you were saving statement can you please explain briefly in which program has to change, because i discussed with abaper he was asking where has to change.

can give some more information.

Regards,

Lakshmi.

0 Kudos
1,821

Hello Frederic,

Thanks for your reply.I am also facing same problem if i save JPY amount 15500,in table level it is saving 155.00 now i want to correct it.In TCRUX the decimal is ZERO.

In above mail you were saving statement can you please explain briefly in which program has to change, because i discussed with abaper he was asking where has to change.

can give some more information.

Regards,

Lakshmi.

0 Kudos
1,821

Hi,

you don't have to change anything. SAP store the amount with two decimals and convert the value when they will be displayed.

So just use : WRITE .... CURRENCY 'JPY'   and your amount will be correct

regards

Fred

raymond_giuseppi
Active Contributor
0 Kudos
1,821

Just read Customizing documentation  for (SPRO) General settings, Currencies, Set Decimal Places for Currencies :


If you are adding new currencies, which do not have two decimal places, you have to enter these currencies in the menu option 'Decimal places'.

So you got answer to 1 and 2, for 3 answer is "nowhere", if not reverse-engineering of some C code in Kernel of course (WRITE option CURRENCY cur)  (*)

Regards,

Raymond

(*) Or execute some where-used in FG of FM CONVERT_TO_LOCAL_CURRENCY to find code like

select single * from tcurx where currkey = for_curr.
     if sy-subrc ne 0.
       tcurx-currkey = for_curr.
       tcurx-currdec = 2.
     endif.

0 Kudos
1,821

Hi All,

Thanks for replies i found one FM CURRENCY_AMOUNT_SAP_TO_DISPLAY if i maintained in our customized report it is working fine(for exp:BSEG-WAERS:22505.00 actual document currency JPY is 2250500 if used above mentioned FM our output is coming correct document value 2250500).

My question is if want to apply this FM for picking the correct value BSEG-WAERS in which programe has to apply the FM.Kindly anyone can suggest.

Regards,

Lakshmi