You are on page 1of 7

Handling Amount Values in BW for

Specific Currencies

Summary
SAP stores amount values of different currencies with a fixed interpretation of having two decimal places.
There are some currencies that do not work well with such two decimal place setting. Usually this is because
for some currencies, a fraction of currency unit is meaningless. That is true for the Japanese Yen, the
Turkish Lira, and Korean Won and many other such currencies. In some cases, people want to store
currencies with more than two decimal places for precision. How SAP handles such currencies (having entry
in TCURX table) in BW is explained in details in this document.

Specific Currencies: Specific currencies here mean the currency keys which are present in the TCURX table.

Author: Yogesh Kulkarni


Company: Patni Computers System Ltd.
Created on: July 22, 2008

Author Bio
Yogesh Kulkarni is presently working with Patni Computers Systems Ltd. He is working on SAP
BW 3.5 and is mainly responsible for various BW developments.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com


© 2008 SAP AG 1
Handling Amount Values in BW for Specific Currencies

Table of Contents
Introduction to TCURX Table..............................................................................................................................3
Implications of currencies present in TCURX table in BW .................................................................................3
Step 1: Updating the amount values into BW data target...............................................................................3
Step 2: Displaying the amount values in the BW reports................................................................................3
Example ..............................................................................................................................................................3
General Observations.........................................................................................................................................4
Key Points to be remembered ............................................................................................................................5
Related Content..................................................................................................................................................6
Copyright.............................................................................................................................................................7

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com


© 2008 SAP AG 2
Handling Amount Values in BW for Specific Currencies

Introduction to TCURX Table

The table determines the number of decimal places in the output according to the currency key. If the
contents of currency exist in table TCURX as currency key CURRKEY, the system sets the number of
decimal places according to the entry CURRDEC in TCURX. Otherwise, it uses the default setting of two
decimal places. That means that TCURX only has to list the exceptions with a number of decimal places
other than 2.

Implications of currencies present in TCURX table in BW

We can broadly divide the phenomenon into two steps.


• Step 1: Updating the amount values into BW data target
• Step 2: Displaying the amount values in the BW reports.

Step 1: Updating the amount values into BW data target


When we load the data into BW having amount fields in it, it checks the TCURX table for the currency entry.
If the currency entry is present in TCURX table, it divides the amount value by 10** (2- (CURRDEC entry in
TCURX table)).

Step 2: Displaying the amount values in the BW reports.


The exactly converse happens while displaying such values in the report output. The amount value will be
multiplied by 10** (2- (CURRDEC entry in TCURX table)) while displaying in the report output.

Example

Note: The KRW (Korean WON) currency key is present in the TCURX table with the decimal place value as 0.

Step 1: Whenever the amount 123 KRW is loaded in BW, it checks the TCURX table for the KRW currency.
After finding the entry in TCURX table, it stores the amount value in target as 123 / {10** (2 – (0))} that is
1.23 KRW. (The amount is divided by 100)

For this to happen, we have to make a specific setting in the InfoPackage thru which we schedule the loads.
The checkbox for “Currency Conversion for External Systs” should be ticked as shown below.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com


© 2008 SAP AG 3
Handling Amount Values in BW for Specific Currencies

Step 2: While displaying the same amount value in the report output, the exactly opposite will happen. That
is the amount value 1.23 KRW will be multiplied by 100 and shown as 123 KRW (Amount is multiplied by
100) in the report output which is the initial value which came from the source system.

General Observations

In most of the cases, we miss step 1 as it need manual intervention (like ticking the checkbox for “Currency
Conversion for External Systs”) whereas the step 2 is carried out by default and we get the wrong results in
the report output. Even if amount is not divided while loading, the multiplication is carried out by default at the
time of reporting. That is the reason why it is necessary to check whether the step 1 is being carried out
successfully or not.

As the settings in the External Data tab of InfoPackage applies to the data which is coming from the external
source only, the checkbox for “Currency Conversion for External Systs” works for the currencies which are
coming from the source system directly. Hence if you write logic to pick up the currency (lookup etc.) in either
transfer rules or update rules, step 1 will not be carried out. Step 2 will be carried out by default thereby
giving wrong results in the report output.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com


© 2008 SAP AG 4
Handling Amount Values in BW for Specific Currencies

Key Points to be remembered

1. The currency associated with the amount should come from the source system itself. If you write any
logic to pick up the currency (lookup etc.) in either transfer rules or update rules, the division will not
be carried out while storing the amount value in target. The default converse (multiplication) will be
carried out at the time of displaying in report output thereby giving wrong results.
2. There has to be a direct mapping between the currency fields from the source system to the
currency fields in the BW system.
3. This phenomenon occurs only with the amounts having CURR data type.
4. We can nullify this effect by using FLTP type of amount KeyFigures.
5. All the currencies having entry other than 2 in the field CURRDEC of table TCURX will be affected by
this phenomenon.
6. The formula by which the division and multiplication is carried out is given as
[Amount Value] * [10 ** (2- (CURRDEC entry in TCURX table))]
7. The division will be carried out at the time of loading while multiplication will be carried out at the time
of report output display.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com


© 2008 SAP AG 5
Handling Amount Values in BW for Specific Currencies

Related Content

http://help.sap.com/saphelp_scm50/helpdata/en/9f/dba1ef35c111d1829f0000e829fbfe/frameset.htm
https://www.sdn.sap.com/irj/sdn/thread?threadID=962056&messageID=5794336#5794336
https://www.sdn.sap.com/irj/sdn/thread?forumID=131&threadID=970596

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com


© 2008 SAP AG 6
Handling Amount Values in BW for Specific Currencies

Copyright
© 2008 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG.
The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries,
zSeries, System i, System i5, System p, System p5, System x, System z, System z9, z/OS, AFP, Intelligent Miner, WebSphere,
Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of
IBM Corporation.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems
Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of
Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts
Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by
Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All
other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves
informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP
Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or
omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the
express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an
additional warranty.
These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied
warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may
result from the use of these materials.
SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these
materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and
does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages.
Any software coding and/or code lines/strings (“Code”) included in this documentation are only examples and are not intended to be
used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of
certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors
or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com


© 2008 SAP AG 7