Loading and Extracting HFM 11.1.2.4 Data with ODI Knowledge Modules (ODTUG Article)


Hi all!

ODTUG just released our article about “Loading and Extracting HFM 11.1.2.4 Data with ODI Knowledge Modules“. This second article shows all the details behind the construction of ODI IKM for data load and also a procedure to extract data from HFM 11.1.2.4 and it also explain all its options and functionalities.

Please feel free to download and use our KMs. They do not have official Oracle Support, but we try our best to answer and fix any issues that you may find (don’t forget to take a look on our “debug” post here).

Thanks everyone!

Advertisements

4 Responses to “Loading and Extracting HFM 11.1.2.4 Data with ODI Knowledge Modules (ODTUG Article)”

  1. Johnson.Tao Says:

    Excuse me,sir. When I use your method to extract data from HFM 11.1.2.4,i get this error message :
    EPMHFM-65536.
    at bsh.util.BeanShellBSFEngine.eval(Unknown Source)
    at bsh.util.BeanShellBSFEngine.exec(Unknown Source)

    In other words,I’m failed. I need your help,thanks very much!

    Get HFM DB Connection is succeeded.But,Extract data failed.

  2. Johnson Says:

    Hello,sir. It’s very glad to receive your message.

    Now,I get another error was that when I not use agent to extract data from HFM 11.1.2.4.205.5274, I could connect it successful,but when I try to extract data from it ,the error raised.

    The error log in odi like above:

    org.apache.bsf.BSFException: The application script threw an exception: java.lang.Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 BSF info: Extract Data from HFM at line: 0 column: columnNo
    at bsh.util.BeanShellBSFEngine.eval(Unknown Source)
    at bsh.util.BeanShellBSFEngine.exec(Unknown Source)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2473)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
    at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2925)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2637)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2123)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:380)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:312)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:304)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:875)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:133)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:84)
    at java.lang.Thread.run(Thread.java:662)

    And, in the HFM_Extract.log,I see these message:
    Starting Process
    Getting Token
    Connecting to HFM Application.
    Connected to HFM Application.
    Data extract starting…
    Session ID:1696678157
    USERACTIVITYSTATUS_STOPPED

    I dont’ know what’s the meaning “java.lang.Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -1” in odi error log.

    Would you please tell me,what happen with it.Is this error told me the jar file or other configs were invalide ?

    Thanks for your help.

    • Hi, this error happens when the code was supposed to read from an array, but it returned empty and then fails. I took a look in the KM code and it seems that you were able to connect, you ran the extract (you got a valid session ID), but the result returned empty or it had an error in HFM side (thats why the USERACTIVITYSTATUS_STOPPED status). When the code tried to read the result set from HFM, it failed with String index out of range: -1, since it was empty.
      Please try to run the same extract in HFM or go to HFM logs to see why this particular session failed. I believe once you fix the issue in HFM or in the extract options, it should work fine. Thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: