Pages

Thursday, March 31, 2016

Copy HFM Applications Using The Import Application Feature

In this post I document the steps required to configure the Import Application feature introduced in HFM 11.1.2.4.200. I recommend reading my earlier post about the Patch Set Update if you haven't done that already. Note that the configuration is database vendor specific and I used MS SQL Server – if you need guidance for setting things up with an Oracle database you can see Larry Lapp's recent blog post about the same topic.

Prerequisites

  • HFM with Patch Set Update 11.1.2.4.200 (patch number 21225611) installed 
  • Access to SQL Server Management Studio with sysadmin privileges
  • SYSADMIN role granted to the SQL login used by HFM (Yes – the almighty sysadmin role. This requirement is documented as known issue #21032270 in the PSU .200 readme)

Create Linked Server

The Import Application feature introduces a way to copy HFM applications from a pre-defined source database to the current HFM environment (not the other way round – hence the term import). To use the feature you need to add the source database as a linked server on the destination SQL Server. Following the server diagram shown below you would add the Test server as a linked server on the Production SQL database in order to be able to import applications from Test.


The following MS SQL specific statements can be used to create a new linked server. Note that the commands are also documented in the updated HFM Admin Guide but the current version of the document contain several syntax errors!

In this example the source server is called "hvtest2.local" and the SQL user/login accessing the database is "hfmdbo". The identifier "TESTSQL" can be chosen freely.

exec sp_addlinkedserver N'TESTSQL',@srvproduct=N'',@provider=N'SQLNCLI',@datasrc=N'hvtest2.local'
exec sp_addlinkedsrvlogin N'TESTSQL',@useself=N'FALSE',@rmtuser=N'hfmdbo',@rmtpassword=N'SekretPasswd'
exec sp_serveroption @server=N'TESTSQL',@optname=N'rpc',@optvalue=N'true'
exec sp_serveroption @server=N'TESTSQL',@optname=N'rpc out',@optvalue=N'true'

Execute the commands and verify that you receive a successful status. Now you should be able to test the linked server using a query such as:

select * from [TESTSQL].[HFMDB].[dbo].[HSX_DATASOURCES]

The linked server should also appear in the server browser in SQL Management Studio.


After creating the link there is one more thing to finalize the SQL Server configuration. Patch Set Update .200 includes a SQL script called SQL_Server_Create_ImportApp_sprocs.sql that is supposed to create stored procedures for use by the import process. The script is not mentioned in the HFM documentation so I assume it should be executed automatically by OPatch... But that didn't happen on my install. Therefore it's a good idea to run the script against the HFM database before attempting to use import feature. The script file can be found in the HFM server installation path, e.g. D:\Oracle\Middleware\EPMSystem11R1\products\FinancialManagement\Server\conf.

HFM Web Interface

Now that the SQL side is set up, you can log in to Workspace and navigate to Navigate > Administer > Consolidation Administration. Select Import Application, where you should now see the Linked Server and Source HFM Database menu items properly populated.


To copy an application, select the linked server, then the HFM database name and the source application. Then fill in the details for the destination application. The options on the bottom of the Import Application panel may be used to leave out HFM audit and data tables and also to copy only selected years and scenarios.


After clicking the Import Application button uou will receive a friendly warning.


Once started, you can observe the status of the import process in the Admin Tasks view in Consolidation Administration. It's a good idea to check the generated log file for errors or warnings.


The imported application is automatically registered to the selected HFM cluster so you can provision roles and start using the app right away.


To summarize:

  • Import Application only works between databases of same type (SQL-to-SQL or Oracle-to-Oracle).
  • The feature requires configuration on the database side – but only before using it for the first time.
  • Copying/importing an application happens directly from database to database. Firewalls between database servers in Test and Production will prevent the usage of this feature (unless you can get the required ports opened). 
  • Importing applications is a one-way process. To copy applications Test-to-Prod and Prod-to-Test you need to carry out the SQL configuration tasks separately in both environments' databases.


7 comments :

  1. Can we try importing applications from 11.1.2.1 to 11.1.2.4 using the above method? I was un-successful and hence wanted to check if someone was successful from 11.1.2.1 to 11.1.2.4.

    ReplyDelete
    Replies
    1. Satish

      I suggest you use the traditional copy application utility to try copy from 11.1.2.1 to 11.1.2.4

      I have tried to do it from 11.1.2.3 to 11.1.2.4 without problem, not sure from 11.1.2.1

      Alan

      Delete
  2. Hi Henri,

    Good post! Please note that source and destination must have identical collation settings and you need to be provisioned to a existing HFM application. If not, the copy app refuses with a matching error.

    Regards,

    christian-hoekstra.blogspot.nl

    ReplyDelete
  3. Hi Henri,
    Thanks a lot for your post.
    Another interesting info, the privileges needed are not as far as sysadmin. As Oracle's advised us, there are just needed:
    GRANT ALTER SESSION TO "";
    GRANT CREATE PROCEDURE TO "";
    GRANT CREATE SEQUENCE TO "";
    GRANT CREATE SESSION TO "";
    GRANT CREATE VIEW TO "";
    GRANT UNLIMITED TABLESPACE TO "";
    GRANT CREATE TYPE TO "";
    GRANT CREATE TABLE TO "";
    GRANT CREATE DATABASE LINK TO "";

    Regards,
    Leonardo Contreras

    ReplyDelete
    Replies
    1. "CREATE DATABASE LINK" is indeed the only additional privilege required when using an Oracle database but the situation seems to be different with MS SQL where sysadmin is needed. Or at least I'm not aware of any other workaround to get Import Application working at the moment (this also concerns the Duplicate Application and Application Snapshot functionality).

      Delete
  4. Thanks Henri, I forget to say I'm having Oracle DB ...Uppss.

    ReplyDelete
  5. Hi Henri,

    I don't know if it is an installation issue or a bug, but I've just observed that HFM sequences haven't been copied during the import application process, at least on Oracle DB.
    HFM PSU201
    Do you confirm?

    Cheers,

    Cédric.

    ReplyDelete