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: 
Read only

SRM: Currency value issue

dhinesh_thirugnanam
Contributor
0 Likes
3,260

Hi All,

Where I am creating a Shopping cart for 1000 USD for a Taiwan user(his default currency:TWD).

This 1000 USD is converted to his local currency TWD.I need to know how it is being calculated.based on the exchange rate,all the calculation is done in a standard program.Any idea ?


CURRENCYAmountExchange RateAmount / Exchange rateAmountAmount / Exchange rate
TWD10.032730.58103976100030581.03976
Actual Value
305.81


The Actual value(305.81) is only being passed to the FM - CONVERT_TO_LOCAL_CURRENCY to convert into USD value in the program


My Question how the value(305.81) is being calculated in the standard program?

Hi Dhinesh,

yes , there is a FM for getting direct exchange rate from the system

DATA G_EX_RATE TYPE VBRK-KURRF.

CALL FUNCTION 'READ_EXCHANGE_RATE'

    EXPORTING

      DATE                                  = Exchange Date

      FOREIGN_CURRENCY      = 'USD'

      LOCAL_CURRENCY          = 'TWD'

      TYPE_OF_RATE                = 'R'

    IMPORTING

      EXCHANGE_RATE    = G_EX_RATE.

and multiply  G_EX_RATE with 1000 USD.

Regards,

Hitesh

7 REPLIES 7
Read only

former_member201275
Active Contributor
0 Likes
2,543

It reads table TCURR which is updated daily by a background program on your system.

Read only

0 Likes
2,543

Hi Glen,

Yes it reads TCURR.But how the value is calculated.Where 0.0327 is Excahnge rate for TWD.

For 1000 USD/0.0327 = 30581.03976

But in the standard program the value is showing as 305.81

Similarly for currency IDR:Where 0.07568 is the exchange rate.

For 1000 USD / 0.07568 = 13213.53066

But in the standard program the value is showing as 132135.31


Not sure how it is being calculated.......

Read only

0 Likes
2,543

What this means is that:

1 TWD = 0,0327 USD, therefore if you give 1000 TWD you get (0,0327 x 1000) 32,70 USD

1 USD = 30,58103 TWD, therefore if you give 10 USD you will get (30,58103 x 10) 305,81 TWD

it is simply multiplied?

Read only

0 Likes
2,543

1 USD = 30.88326- TWD, therefore if you give 10 USD you will get (30.88326- x 10)=308,83 TWD.


But I am giving,when creating the Shopping cart as 1000 USD


1 USD = 30.88326- TWD, therefore if I give 1000 USD we will get (30.88326- x 1000) =30883.26 TWD


But the value I am getting after the std.conversion using the exchange rate I am getting as 308.83.


So question is is there a FM or a BAPI that is populating the value 308.83?


1.Creating a Shopping cart for 1000 USD for the Taiwan user TWD.





2.value 308.83 is getting populated.



3.By executing Function Module.




OB08 transaction for checking the exchange rate.













Read only

0 Likes
2,543

Hi Dhinesh,

yes , there is a FM for getting direct exchange rate from the system

DATA G_EX_RATE TYPE VBRK-KURRF.

CALL FUNCTION 'READ_EXCHANGE_RATE'

    EXPORTING

      DATE                                  = Exchange Date

      FOREIGN_CURRENCY      = 'USD'

      LOCAL_CURRENCY          = 'TWD'

      TYPE_OF_RATE                = 'R'

    IMPORTING

      EXCHANGE_RATE    = G_EX_RATE.

and multiply  G_EX_RATE with 1000 USD.

Regards,

Hitesh

Read only

0 Likes
2,543

I found this information:

Check at HTTP SC if the value there is correct (not bbp_pd)

-> Decimal Places for Currency and conversion                                                                               

Decimal Places     value of price in stored in table            

      0                     /100 (Divide 100)                   

      1                     /10  (Divide 10)                    

      2                     No Conversion(Standard)             

      3                     * 10 (Multiply 10)                                                                               

EXAMPLE:                                                                               

Currency      Decimal places      AMOUNT            BSEG-WRBTR  

SGD                  2                         2000                  2000     

NLG                  2                         2000                  2000     

JPY                   0                         2000                   20       

KWD                 3                         2000                   20000    

ITL                    0                         2000                    20         

Also refer to note 783877 Currency translation

Read only

Former Member
0 Likes
2,543

Hi Dhinesh

I have seen previously that there are issues in some currency while converting to the home currency .

So , Is this an issue with only this currency or with more ?

If Only this I refer you to check this link and see if you are able to diagonse

Also the exchange rate in TCURR is generally calcuated for a TYpe M .. check if the value you see there is correctly populated or not ?

Please also check if reports BBP_GET_EXRATE, BBP_GET_CURRENCY to get the

current values from the Backend are up and running ..

SAP does not provide provision to easily play around with those rules for an obvious reason so the only option is if nothing works from below links .. kindly contact SAP to get that fixed ..

http://wiki.scn.sap.com/wiki/display/SRM/Currency+integration+between+SRM+and+ECC

Currency Related Issues and Debug Tips - Supplier Relationship Management - SCN Wiki

And Also some notes mentioned below for your reference..

1659128 - Incorrect value in some currencies (HUF, JPY) - Multiply or divide per 100

879309 - Pricing slightly falsifies some prices

  805675 - Conversion error in the shopping cart

486061

1124630

1027656

1038241

0850008

Regards

Vinita