Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

Starting 2.1 release users can convert currency measures to other currencies at runtime.  Let's dig a little deeper into this functionality.  In the application currency conversion is done in 2 locations:

  • At load time
  • During report execution

In both cases SPM application is using standard BW mechanism to perform currency conversion.

 

Currency conversion at load time

When data gets loaded into the inbound layer of the data model the application API's convert the transaction (document) currency to global (reporting) currency.  Out of the box the SPM application is using the ‘M' rate type.  But this can be customized to use other rate type.  More details of this are available in OSS note 1278988.

The second variable in currency conversion is the date that needs to be used for looking up the rate and in this case ‘Transaction date' is used.  Every transaction record (Invoice, Contract, Purchase Order, Budgets & Forecast, External Factor, etc.) has transaction date and this date is mapped to different dates from source depending on the transaction data, to check what date is mapped to transaction date please check the excel sheet "Transaction Data for Spend Performance Management" on service marketplace (http://service.sap.com/instguidesssa -> Transaction Data for Spend Performance Management).

Data Type

R/3 Table

R/3 Field

Purchase Order

EKKO

BEDAT

Invoice

BKPF

BLDAT

 

Currency conversion during report execution

Here users can choose their target currency of any measure in the report, once selected the conversion itself is handled by the BW query.  As an example out of the box BW query ‘Spend Analysis Final' (0ASA_MP01_Q1002) the system uses currency translation type "0SSATGTCUR".  The details of the currency translation type can be seen using transaction ‘RSCUR'.  Here you will notice that the system is expecting the target currency to be supplied from the application through the variable "SSA_TARGET_CURR".

Date is the other key component of currency conversion; in this case the value from 0CALDAY is used for looking up the rate.  0CALDAY is mapped to transaction date from the inbound layer.  To display the converted measure in the report the BW system has to perform the currency conversion at the most detail record that is available (for standard reports at the cube level and detail reports at the DSO level) and values are then aggregated to the dimension in the report to display the final values.  As an example if a user executes a report for company code 100, the system has to first gather all the records that make up company code 100 perform the currency conversion for each record then aggregate the data and display it back at company code 100 level.

Below is the sequence of event that takes place for currency conversion.

1. The user executes a report with at least one measure of type currency and specifies a target currency.

2. The application passes this target currency using the variable "SSA_TARGET_CURR", this can be changed in the application properties (Administration -> Analysis Administration -> Application properties -> Data sources tab -> Data source details -> Currency/Unit tab).

3. The system calls the BW query and for currency conversion the measure marked ‘Local' is used.

4. This key-figure has the conversion property set to use "0SSATGTCUR".

5. Looking at the details of this conversion type the system will translate it to the target currency the user selected using the rate specified.

6. Make sure that in your BW system you have loaded the conversion rates for the rate type "SPM" (or any other rate type you select). You can test this conversion using the function module "CONVERT_TO_LOCAL_CURRENCY".

Configuring currency conversion in UI

In the UI you notice that measures with different currencies (Global, Local, Document) are not visible.  But using the conversion functionality provided the system allows users to display them, how does this happen you ask?  Here are the details of how to configure this.  Let's say you are trying to introduce a new measure ‘Spend Tax Amount' which has three currencies Global, Local, Document.  You add these three currency key-figures to the BW query.  Then in the application set the property of the Local & Document measure to 'child' as shown below

and for the Global currency under the ‘Measure Property' select the local currency and document currency as show below.

When users are building a report all the 3 currency measures are not available but can added to the report when needed with the steps mentioned below

2 Comments