Online Tutorials & Training Materials | STechies.com
Register Login

Currency Conversion decimal places are not displayed properly in BW queries.

|| 0

Currency Conversion decimal places are not displayed properly in BW queries.
Stechies

Why the decimal places in a query is returning wrong values, sometimes the amount might be too high or too low by a factor of 100.

Solution:

1. Option "Number of Decimal Places" in query designer:

You use this dropdown box to specify the number of decimal places to be displayed, from 0 to 10. Example: Specify the number of decimal places to be displayed as 0, 0,0, 0,00… to 0,0000000000.

Background documentation

The default settings for the scaling factor and the number of decimal places correspond to settings in the query’s design under Selection/Formula Properties.

If you have not made these settings in the query’s design, the system will use the default settings that you have made in InfoObject maintenance under Tab Page: Additional Properties. See also Priority Rule with Formatting Settings.

2. Decimals places configured by default in ABAP:

a. By default there are two decimals on the data base, e.g. 123.45, table TCURX defines this.

The Table TCURX defines how currency amounts are converted between DB storage and display on the front-end. By default, all amounts are stored with 2 decimal places on the database and are later converted for display based on the currecny entry in table TCURX. If a currency is entered with e.g. value 0, then the currency is displayed with 0 decimal places in BW Queries (which means that the amount is displayed with factor 100 higher than it is stored on DB Level).

b. When there is an entry in TCURX, it determines the division factor when reporting. (default = 2)

Example TCURX = NO ENTRY:  Database entry = 123.45

There is no division

The above number is displayed as 123.45
Example TCURX = 3:  Database entry = 123.45
There is a division by 10 (because 3 # 2 = 1).
The above number is displayed as 12.345.
Example TCURX = 0 Database entry = 123.45
There is a division by 0.01 OR Multiplication by 100
(because 0 # 2 = -2)
The above number is displayed as 12345

OBS: Normally, the TCURX settings are considered also when loading data. Therefore, in order to get consistency, there is always the inverse calculation done at loading time.