cancel
Showing results for 
Search instead for 
Did you mean: 

Exchange rate Decimals

Former Member
0 Kudos

Hi Frenz,

       We got a requirement from business to match our BW Exchanges rate decimals with ECC.

The InfoObject that we currently use is the standard Object 0IEXRATE_ACC and it locked into multiple data targets with huge volumes of records in the data target.

Also, the business is expecting the changes to reflect only for Q3 and Q4 (Future only); they dont care about the Past records.

Do we have any successful option to change InfoObject decimals by avoiding the huge rebuild in BW?

We are in tight phase to close this requirement before this month end. Appreciate any help on this.

Can anyone please guide on this ?

Thanks

San

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Arun,

   thanks. the exchange rate is not assigned at the Query level for a Key figure.

Instead, it is from source PSA -> DSO1 where use the 0EXRATE_ACC then to the next level, we used this InfoObject and use the calculation(Unit values*Excahnge rate = Local Curr) to get values in Local Currency.

Based on the information from the other thread, we plan to hadnle this in Transformation routine at 2 levels 1. PSA -> DSO1 and 2. DSO1 -> DSO2. Using the math option.

Sorry for 2 thread on this...

And thanks for your guidance.

For Example:

Where

E = 1.2345
L = 123
N=151.8435

1st
  Level : e = (E*10000)
12345
2nd Level:
  L*(e)= N
1518435
2nd Level:
  N/10000
151.8435
N with 2
  decimal places
151.84

Regards
San

former_member184494
Active Contributor
0 Kudos

San,

If you still assign it to the currency key figure - you will not get the 5 decimal places...

Here you will have to possibly keep the currency key figure as it is in the Data model and then divide by 10000 in the report where you have control over the number of decimal places.

Another thing to watch out is - since this is a key figure - if you have very large numbers - you might get overflow errors ( for instance if you have a LC value of 1 Billion - multiplying it by 100000 will lead to an overflow because it cannot be stored as an integer. I would recommend good amount of testing before you put this in.

Another point to note is that you need 5 decimal places - you already have 2 by default - you can instead multiply by 1000 to get to 5 decimal places to avoid the overflow issue if you get one...

Former Member
0 Kudos

Yes Arun, you are correct. During our multiple math scenario testing we got dump at one ooint; where the LC value crossing 1 billion.
We are going to change it to 1000 instead of 10000 and that helps our problem.

former_member184494
Active Contributor
0 Kudos

San,

Exchange rate and number of decimal places are unrelated....

A Key figure can be of type DEC ( usually with 17 Numbers and 2 decimal places )

A currency can have only 2 decimal places - this is because of the way currencies are structured across the globe - for instance - if you are reporting in USD - the value can be 99.99 USD which is a valid number and a valid value also. If you chose to have 99.997 USD - the third decimal has not value because there is no 0.007 USD available as a physical currency.

If you are converting values using the exchange rates in the report at run time - then your Key figures are declared as Currency key figures. What you could do is have a separate exchange rate type with the three decimal places and use that in the report. As for the data - it will not change ( unless you are converting the currency values in code during transformation or otherwise)