You are on page 1of 5

How currency conversion in Hyperion planning works.

In multi currency applications there is additional dimension called Hsp_Rates which is used to store exchange rates and has the following members: HSP_InputValue HSP_InputCurrency HSP_Rate_USD HSP_Rate_EUR HSP_Rate_RUB ... These individual HSP_Rates member, they store the data that gets from exchange rate tables of Relation database. While refreshing database from Planning they are pushing to Essbase. Here, HSP_InputValue might be 800, and HSP_InputCurrency might be RUB or USD. You enter exchange rates for conversion one currency to other. Planning then converts to the reporting currency( the currency which you would prefer to see in you final reports) with the help of triangulation. Let's say, USD is application currency and EUR is reporting currency. One enters 0.03 as the rate for converting RUB to USD and 1.6 as the rate for converting EUR to USD. To find the rate for convertin RUB to EUR, planning divides RUB rate by EUR rate i.e 0.03/1.6=.. To apply currency conversion: Create your currencies in Currency dimension Attach the currencies as a base currency to the foreign entities. Specify whether the entity uses triangulation. Create a Exchange Rate table and enter the Rates in to the table. Enable currency conversion Exchange Rate Types There are three types of exchange rates associated with a currency: Historical Average Ending The exchange rate type used for each account is specified in the member properties dialog box when you set up accounts.

Attach the Exchange Rate Table to a Scenario. Refresh to - push the Exchange Rates to Essbase.

Choose a currency or currencies as the - reporting currency. Choose the Scenario that you have the Exchange rate table attached to. Choose a Version that you are focusing on; Bottoms up or Target. Run the HspCRtB(tT).csc. Run the currency conversion calc script that you named at refresh. Verify the conversion. Exchange rate's most common problems for clients. - My Exchange Rates wont push to Essbase. - My Exchange rates are in Essbase, but they don't convert. - My Exchange rates disappear. - How are currencies calculated in the web? - My exchange rates are not pushing to Essbase. Verify that the top level dimensions are not set to dynamic calc (rates need to be stored). Verify that you have an Exchange Rate table attached to a scenario. Verify that the rates have been added into the table properly. As you enter the rates, you must hit the - save button. Exchange rates are stored at the top level. IE; Entities, Currencies, Versions, the specific scenario that you have the table attached, the specific time period and year, and at the HSP_ account level. (see spreadsheet) - My Exchange rates are in Essbase, but they don't convert. After verifying that your Exchange rates are in Essbase, run the hspcrtb or hspcrtt calc script. These calc script names are based off of the type of version you select when creating your currency conversion calc script through the Planning desktop(tb for BU version, tt for target version). NOTE: Selecting the Currency Conversion CalcScript option does not launch the calcscript. After running this script, retrieve again through the Essbase excel addin spreadsheet. The rates should still be there. If they have turned to all 1's this is a bug we have not been able to replicate in house. You will need to modify the hspcrtb(tt) calc script in the following manner: SET CACHE DEFAULT; SET UPDATECALC OFF; SET CLEARUPDATESTATUS OFF; SET LOCKBLOCK HIGH; FIX("Versions","Currencies") FIX(@REMOVE(@LEVMBRS("Accounts",0),@LIST("HSP_Average","HSP_Ending", "HSP_Historical")),@REMOVE(@LEVMBRS("HSP_Rates",0), @LIST("HSP_InputValue","HSP_InputCurrency")),@LEVMBRS("Years",0), @LEVMBRS("Scenarios",0))

"Entities" ( IF (@ISUDA("Accounts", "Average")) "BegBalance" = "BegBalance"->"HSP_Average"; "Jan" = "Jan"->"HSP_Average"; "Feb" = "Feb"->"HSP_Average"; "Mar" = "Mar"->"HSP_Average"; "Apr" = "Apr"->"HSP_Average"; "May" = "May"->"HSP_Average"; "Jun" = "Jun"->"HSP_Average"; "Jul" = "Jul"->"HSP_Average"; "Aug" = "Aug"->"HSP_Average"; "Sep" = "Sep"->"HSP_Average"; "Oct" = "Oct"->"HSP_Average"; "Nov" = "Nov"->"HSP_Average"; "Dec" = "Dec"->"HSP_Average"; ELSEIF(@ISUDA("Accounts", "Ending")) "BegBalance" = "BegBalance"->"HSP_Ending"; "Jan" = "Jan"->"HSP_Ending"; "Feb" = "Feb"->"HSP_Ending"; "Mar" = "Mar"->"HSP_Ending"; "Apr" = "Apr"->"HSP_Ending"; "May" = "May"->"HSP_Ending"; "Jun" = "Jun"->"HSP_Ending"; "Jul" = "Jul"->"HSP_Ending"; "Aug" = "Aug"->"HSP_Ending"; "Sep" = "Sep"->"HSP_Ending"; "Oct" = "Oct"->"HSP_Ending"; "Nov" = "Nov"->"HSP_Ending"; "Dec" = "Dec"->"HSP_Ending"; ELSEIF(@ISUDA("Accounts", "Historical")) "BegBalance" = "BegBalance"->"HSP_Historical"; "Jan" = "Jan"->"HSP_Historical"; "Feb" = "Feb"->"HSP_Historical"; "Mar" = "Mar"->"HSP_Historical"; "Apr" = "Apr"->"HSP_Historical"; "May" = "May"->"HSP_Historical"; "Jun" = "Jun"->"HSP_Historical"; "Jul" = "Jul"->"HSP_Historical"; "Aug" = "Aug"->"HSP_Historical"; "Sep" = "Sep"->"HSP_Historical"; "Oct" = "Oct"->"HSP_Historical"; "Nov" = "Nov"->"HSP_Historical";

"Dec" = "Dec"->"HSP_Historical"; ENDIF; ); ENDFIX; ENDFIX; Validate and save the calc script. Refresh the FX rates back into Essbase. Verify the rates have pushed to Essbase via spreadsheet retrieval. Run the hspcrtb(BU version) or hspcrtt(target version) calc script. Verify that the rates are still the same via spreadsheet retrieval. Run the currency conversion calc script that you create during the refresh based off a reporting currency, a scenario and a version. Verify that the conversion has worked. (rate X amount = foreign curr) Additional Note: From development, since Planning 3.0(defect#118748): - We have revamped the currency conversion script such that calculations can be performed in BLOCK mode. There are now two scripts generated, one to copy appropriate exchange rates to accounts(hspcrtb(tt)), and one to perform the currency conversion itself. If rates have not changed and accounts have not changed, then the first script does not need to be executed(again). - My Exchange rates disappear. Verify the above. When do they disappear? After a calc all. Possible that the client is aggregating #missing. See database? settings in Essbase application manager. Contact consulting! Clients typically do not run default calcs, and they may need agg #missing. Most often, clients are not retrieving on the correct intersections. Send out the spreadsheet, and go through with them where the rates should be and verify that the attributes of the top dims are not set to dynamic calc. Exchange rates cannot be stored to a dynamic calc member! - How are currencies calculated in the web? - Calculate currencies This calc script converts data only from the local currency to the reporting currency specified on the form, applying the exchange rate conversions; This is only a visual for the user using forms. The following is a list of important points to know about the Calculate Currencies calc script: It converts only level 0 members. It does not calculate subtotals. To subtotal values, run the Calculate Form calcscript (or a customized calc script that includes aggregation) after converting currencies.

It ignores #missing values. It can be turned on or off by choosing - run on save selection box in form administration. It is by default set to not run when saving data.

You might also like