Tuesday, 27 May 2014

..synchronising HFM applications

Hi all,
It’s been a long time since my last post but I am in the middle of 3 different projects and blogging is not one of the priorities. However, I spend a lot of time on OTN Financial consolidation space.

    1. Proem
The topic of post today will be the data synchronisation of two HFM applications with the use of the rule file.

To give you a bit of background, during an Oracle training for the HTP application, one of the interesting topics that we discussed was how to keep the data of the HTP application in sync with the data of the statutory application. The solutions offered were:
  • Use of FDM.
  • Use of Data synchronisation (if the application are EPMA).
  • Manually extract and load data.
  • Use of the rule file 

    2. Approach
Since more or less all the rules have a VB code to write to text file the debugging logs during the calculation of the data, we will use the same approach to extract the data from the source application and load the data to the target application.

I believe that the logic behind this approach is quite simple. The aim is to remove the requirement of any other step and/or applications in this process as well as the need of the HFM administrator in the process (I am sure, we have more important things to do).
    3. Editing the rule files
The synchronisation of the data with the use of the rules will require editing the rule files of both application and adding a combination of the HS.DataUnit expression, VB code to write to a text file and VB code to read from the text file. To be more specific, we should:
  1. In the HFM application server 
    • Create a folder where a text file will be created with the synchronisation data.
  2. In the source application,
    • Create a data unit to capture all the data that should be extracted.
    • Use a Write to File command to write the specific data to a text file.
  3. In the target application
    • Use a Read from File command to read the data from the text file and load the in HFM application.

    4. User experience
     The users should not be affected in any way from this approach. In order to synchronise the two applications, the user should do the following:
  1. In the source application, run calculate contribution for a base entity or Consolidate the parent entity. In this way, the application will create a text file with data from all the Value dimension members.
  2. In the target application, run (Force) calculate contribution for a base entity or Consolidate (all) the parent entity. In this way, the application will read the data from the text file and load the specific data on the appropriate Value dimension members. If the entity has no data at the target application, it is required to run the force calculate. The reason is that HFM cannot "know" that there is a file at the HFM server with data.

     5. Epilogue
Apologies for not giving more details on how design the specific approach and/or edit the rule files for three reasons:
  • Firstly each application is different and each approach should be customised to the application,
  • Secondly the aim of this post is to give ideas on how to approach this requirement,
  • Finally you should use this approach at your own risk since I cannot promise for any support.
If you find the post interesting, please share it with your colleagues, if you use the approach after reading this blog please kindly use it as a reference and of course send me any comments on how to improve it...

Kind regards,


...using SmartView

Last week I was chatting with an ex-colleagues about our HFM experiences. After 10 years, we both have a lot of stories to share but a...