Data flows between Hyperion applications using FDMEE 188.8.131.52
In a scenario where a client has implemented all of the Hyperion suite of products viz. Financial Management, Planning, Reporting, data movement between all these applications becomes a necessity. Budget and forecast data is often required to flow from one application to another. Earlier this was achieved using the Data Synchronization tool that comes along with the EPM suite. However, this tool has very limited features and you will not have the luxury of defining mappings between the applications apart from the straight forward one-to-one explicit mappings. Though the latest FDMEE version of 184.108.40.206 has this data synchronization feature as an out-of-the-box feature, here's how I implemented it in the FDMEE 220.127.116.11 version which had no direct feature to support this requirement.
The following types of data flows can be implemented by the methods described for each of them:
1. Planning to Planning: This is the simplest data flow and does not require any FDMEE intervention if there are not going to be any specific mappings (which is usually the case). Here data is extracted from the source planning application using a calc script and loaded to the target application using the load rule - both Essbase features.
2. Planning to Financial Management: In this case, follow the below steps -
a. Create a calc script to extract data from the source planning application.
b. Create a windows batch which will call this script. The period and scenario can be passed as parameters to this batch from FDMEE so that the data is extracted for the POV selected by the user in FDMEE.
c. In FDMEE, create an import format according to the format of the file generated by the calc script.
d. Create the location and mappings per the requirement.
e. Create a data load rule which will have 2 fixed parameters - the source file name and the path. The file name will be the same as the name of the file generated by the calc script. Path will be a shared location on the FDMEE server where this file will be generated by the calc script.
f. In the BefImport event of FDMEE, write a script to call the batch (created in step 'b')
g. When the load rule is run, the BefImport event will be triggered which will call the batch which will in turn call the calc script which will generate the source file with the fixed name at the fixed path.
h. Once the file is generated, the import step will import it, validate and export the data to the target application.
To the end user executing the interface it appears as a regular data load with the 3 steps of Import, Validate and Export and the BefImport event takes care of making the source file available for the interface in the background.
3. Financial Management to Planning: This is a 2 step process for the end user since there is no direct way of extracting data from HFM through FDMEE.
a. In HFM, create a task flow to extract data from HFM application into a flat file.
b. Provide a fixed name and path for the file that will be extracted through the task flow. The path has to be on the FDMEE server in a shared folder.
c. Similar to the above design, create an import format in FDMEE according to the file format generated by the HFM task flow.
d. Create the location and mappings
e. Create a data load rule with 2 fixed parameters - the source file name and the path - same as that provided in the task flow.
f. When the task flow is executed, it will extract data into the source file at the saved path.
g. When this is done and the FDMEE Import step is executed, FDMEE will import data from the same HFM task flow file since the details are already saved in the data load rule.
h. Thereafter the regular FDMEE steps of Validate and Export will be executed to load data to the target application.
One catch here is that the file generated from the HFM task flow has the encoding as UTF-16 instead of the standard UTF-8 that FDMEE supports. Hence before executing this interface the user has to change the file encoding under "User Settings" to UTF-16 and then Import.
Using a combination of these 3 methods, data can be loaded between the Hyperion applications as required.