Currency conversion is a foundational component in global business analytics. With organizations operating across borders, converting financial figures into a unified currency —accurately and consistently—is essential for meaningful reporting and decision-making.
This guide explores the end-to-end process of setting up currency conversion in SAP Datasphere based on S/4HANA currency conversion Data. We'll look at how to:
- Access and derive currency conversion data
- Import currency conversion data (models) in Datasphere
- Utilize these resulting views to carry out currency conversion(s)
- Deal with common problems with Sharing currency related Views
Accessing Currency Conversion Tables from SAP S/4HANA
SAP S/4HANA offers standard currency conversion tables such as:
- TCURR - Exchange rates
- TCURC - Currency codes
- TCURX - Decimal places in currencies
- TCURV - Exchange rate types
- TCURW - Exchange rate type text
- TCURN - Quotations
- TCURF - Conversion factors
- TCURT - Currency text
These tables provide the conversion data that can be leveraged within SAP Datasphere to facilitate the conversion logic. To access these tables, you need to establish a Connection between SAP S/4HANA and SAP Datasphere. Since this is well-documented in many other resources, we’ll assume the connection is already in place and move on to the next step.
Importing S/4HANA Currency Tables into SAP Datasphere
Prerequisites
Ensure the SAP S/4HANA system is connected to Datasphere and that validating the connection works successfully.
Import Objects
Use the Data Builder to create “Currency Conversion Views” based on the S4/HANA Connection. The import process creates tables, views and data flows that will make the source conversion data available in Datasphere.
Load Data
After importing the objects you will need to run the generated data flows to populate the corresponding tables and views. We recommend manually creating a Task Chain that contains all these Data Flows and then schedule or orchestrate the regular execution of that Task Chain to keep your currency conversion data up-to-date.
Carry out Currency Conversion(s)
Using Graphical Views
SAP Datasphere allows you to visually create data models using its Graphical View tool. Within the “Calculated Columns” node in a graphical view, you can create new columns. To do a currency conversion you select “Currency Conversion Column” here. After that, the properties of the currency conversion must be set.
Watch the recording of our webinar:
"SAP Datasphere and the Databricks Lakehouse Approach"
Below is an example of the conversion properties within a View:
AMOUNT: The numeric expression or column containing the values to be converted (e.g. your NetAmount). This is mandatory and represents the sum that will flow through the conversion logic.
STEPS: A comma-separated list of sub-operations.
- shift normalizes the source decimal places (per TCURX).
- convert applies the FX translation itself.
By combining them ('shift,convert'), you ensure both scaling and conversion occur.
SOURCE_UNIT: The ISO currency code (or column reference) of the original amount (e.g. "EUR", "JPY"). This tells SAP which currency your base figures are in.
TARGET_UNIT: The ISO currency code for the desired output (e.g. 'USD'). SAP uses this to look up and apply the correct conversion rates.
REFERENCE_DATE: The reference date (e.g. your sales-document date) used to select the applicable exchange rate from the rate tables. It can be a column or a constant literal.
SCHEMA: The database schema where your currency tables live. If omitted, the current schema is assumed. Only manually adjustable in the SQL View.
CLIENT: The three-digit SAP client (mandant) filter (e.g. '100'). This determines which rows in your TCUR* tables apply.
CONVERSION_TYPE: The rate category code (commonly 'M' for average, 'B' for buying, or 'S' for selling rates) as defined in your TCURV table.
ERROR_HANDLING: Defines behavior when the rate lookup fails.
- 'fail on error' (default) aborts with an exception.
- 'set to null’ returns NULL.
- 'keep unconverted' returns the original amount.
XYZ Entity: References the Currency Conversion Views we set up previously.
Using SQL Views
You can also implement currency logic directly using SQL with the Data Builder SQL View. Here's the same example from above, but using a SQL currency conversion function instead:
SELECT
,”SalesDocument”
,"SalesDocumentDate"
,“NetAmount”
,CONVERT_CURRENCY(AMOUNT = > NetAmount, STEPS = > 'shift,convert',
SOURCE_UNIT = > "TransactionCurrency", TARGET_UNIT = > 'USD', REFERENCE_DATE = >
"SalesDocumentDate", CLIENT = > '100', CONVERSION_TYPE = > 'M', ERROR_HANDLING = >
'set to null', LOOKUP = > 'regular', ACCURACY = > 'compatibility', DATE_FORMAT = > 'auto
detect', PRECISIONS_TABLE = > 'SAP.CURRENCY.VIEW.TCURX', CONFIGURATION_TABLE = >
'SAP.CURRENCY.VIEW.TCURV', PREFACTORS_TABLE = > 'SAP.CURRENCY.VIEW.TCURF',
RATES_TABLE = > 'SAP.CURRENCY.VIEW.TCURR', NOTATIONS_TABLE = >
'SAP.CURRENCY.VIEW.TCURN', SCHEMA = > 'SALES_REPORTING') AS “NetAmountUSD”
FROM “Sales”;
Common problems with Sharing
SAP Datasphere allows sharing of views between different spaces. After carrying out the currency conversion in your views, click the Share button to expose the object to other spaces.
It is a prerequisite, to also share the TCUR* views to the same target space for the currency conversion to operate properly.
In some scenarios, sharing a view that contains a CONVERT_CURRENCY function might produce the following error or similar ones:
“currency/unit conversion error: could not read currency precisions from table "xxxx"."sap.currency.view.tcurx" - insufficient privilege: detailed info for this error can be found…”
In such cases, be sure that the views that contain the CONVERT_CURRENCY function are in SQLScript mode and not Standard SQL. As mentioned above, the TCUR* views must also be shared to the same target space.
Our Conclusion
If your organization operates across multiple currencies, you will inevitably face the challenge of dealing with currency translation. We’ve shown how that challenge can be reliably and smoothly tackled with the combination of S/4HANA and Datasphere. Ensuring that your Datasphere spaces are populated with the necessary currency objects (either imported or shared) will enable you to execute currency conversion at any point with minimal effort.
Do you have questions about SAP Datasphere? Are you trying to build up the necessary know-how in your department or do you need support with a specific issue? Please do not hesitate to contact us. We look forward to exchanging ideas with you!
SAP BW, SAP Data Warehouse, Datasphere
