Archive for the HFM Category

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

Posted in 11.1.2.4, HFM, Knowledge Models, ODI 11g, Technical Journal with tags , , , on August 8, 2017 by Rodrigo Radtke de Souza

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!

Advertisement

Integrating HFM 11.1.2.4 with ODI Metadata Knowledge Modules (OTN Article)

Posted in 11.1.2.4, HFM, Knowledge Models, ODI 11g on June 1, 2017 by Rodrigo Radtke de Souza

Hi all!

It took a while but it is finally live! Oracle OTN released our article about “Integrating HFM 11.1.2.4 with ODI Metadata Knowledge Modules“. It shows all the details behind the construction of ODI RKM and Metadata IKM for HFM 11.1.2.4 and 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!

Troubleshooting connectivity issues between ODI and HFM 11.1.2.4

Posted in 11.1.2.4, HFM, Knowledge Models with tags , , on April 13, 2017 by Rodrigo Radtke de Souza

Hi all! We are very happy with the feedbacks that we are having about HFM KMs for ODI. People are downloading them and giving them a try, which is awesome! However, we know that this ODI and HFM integration process is not as simple and straight forward as we would like it to be and we generally fall into environment issues to setup the jar files, ODI agent, connect to HFM using the new Java API and so on. In order to make it easier for people to troubleshoot their issues, we are creating this post to hold all known issues that people are having with our KMs and try to help the best we can. We will keep updating it, so please keep checking.

If you have any issues with our KMs usage, please send us an email (devepm@teracorp.com.br) so we may try to help you and all the others that may be facing the same issue. Thanks all!

Error WSSERVLET11: failed to parse runtime descriptor: java.lang.NullPointerException

As we wrote in our blog post, we have two options to setup the necessary HFM Jar files:

1) Install the ODI agent on the HFM server;
2) Copy the necessary jar files to the agent folder;

Some people are getting the above WSSERVLET11 error when performing the first option, which is to install the ODI agent on the HFM server and just point the jar file locations on ODI_ADDITIONAL_CLASSPATH. They change the ODI parameters to point to the right location, but when they start the agent it fails with this error.

We are not sure exactly why it happens, but we suspect that the “absolute file path” gets too big for ODI to handle and then the path gets “truncated” at some point, making ODI to throw this error. Our suggestion is to go with our second approach and add all the jar files to oracledi\agent\drivers folders. If are not sure how to locate the correct jar files, send us an email and we will provide them for you.

Also, if you are not sure if the problem resides on your ODI agent or the Jar files, you may do a test using ODI Local (No Agent) by copying the HFM jar files to C:\Users\\AppData\Roaming\odi\oracledi\userlib (don’t forget to restart the ODI client after that). Then you may try to reverse a HFM model using Local (No Agent). If it works, the Jar files are good to go and your problem resides in the ODI agent itself.

HFMException: EPMHFM-65536

This error is happening when people want to reverse the ODI objects using the new ODI RKM, more specifically when the ODI code tries to connect/get the connection token from your HFM application. EPMHFM-65536 is a very generic error message and can be caused by a number of different factors; ranging from an improper install to application processes crashing.

One of the users (thanks Kevin!) solved his issue with the following:

I needed to copy the file “reg.properties” from Oracle\Middleware\user_projects\config\foundation\11.1.2.0 to path Oracle\Middleware\user_projects\epmsystem1\config\foundation\11.1.2.0 and then the KM is running with success.

This blog post gives some other suggestions for the issue:

https://knowepmbi.wordpress.com/2016/11/03/hfm-error-epmhfm-65536-an-unexpected-error-has-occurred/

Since this error is too generic, each HFM application may have its own kind of fix.

IKM Data Load does not load any data (and does not throw any error either)

One user found a bug where the data interface would run without any error but would not load any data. This happened due to a bug in the RKM that may create the datastore with a wrong column order in some cases. As workaround, please change your HFMData datastore to the following order before loading data to HFM:

HFM_Order

We will work to fix the RKM code to avoid this issue and to create the columns in the correct order.

I get a parse error when I have more than one filter in the interface

We noticed that if you add more than one filter in the ODI interface, the IKM throws a parse error. As a workaround, just group all filter criteria in one single filter component. We will fix the IKM code to avoid this issue and we will let you know once it is released.

Slashes vs Backslashes (Token Parsing Error: Lexical error)

Some people stated that they were getting some errors like this” Token Parsing Error: Lexical error at line 34, column 34.  Encountered: “O” (79), after : “\”C:\\”: “. This error is probably due to the backslashes. All the paths that you add in your KM options needs to be using / (slashes). e.g: C:/Temp/<%=snpRef.getTable(“L”,”TARG_NAME”,”A”)%>_Load.log

Isolate the components to see what may be wrong

We are seeing that generally the errors may happen on the ODI agent (that does not load the Jar files correctly or does not have access to the HFM application) or on the HFM installation installation. In order get it easier to identify where the issue may be happening, it is a good advice to install a Java IDE (like Eclipse) in the HFM server and try to create a small code just to connect to your HFM app. If it connects, then the problem is likely to be in the ODI agent. If it does not connect at all, then you have a problem in you HFM application that is not accepting Java API calls.

Here you may find some examples on Java codes that you may copy from and try to create a sample app:

http://hyperionfinn.blogspot.com.br/2016/09/hfm-java-api-part-1-getting-started.html
http://www.accelatis.com/the-accelatis-blog/dissecting-my-first-hfm-sample-program/
http://www.accelatis.com/the-accelatis-blog/coding-against-the-new-hfm-11-1-2-4-java-api/

Running a simple connect Java code first against your HFM application “eliminates” ODI from the possible points of failure. In other words, if you are not able to connect using standard Java code, ODI will not be able to connect as well.

Thanks all!

ODI KMs for HFM 11.1.2.4

Posted in 11.1.1.9.0, ACE, Configuration, DEVEPM, ETL, Hacking, HFM, Knowledge Models, ODI, ODI 11g, ODI Architecture, Uncategorized with tags , , , , , on March 3, 2017 by RZGiampaoli

Hi guys how are you? Today we are proud to announce that we are making available the ODI KMs for HFM 11.1.2.4.

—- EDITED on June/17 —-

We developed these KMs around 6 months ago, but we were waiting to release them together with an article that we wrote for Oracle.

Since OTN had some “Priority changes”, our article was postponed to later this year. As we had some people asking for these KMs we decide to release the KMs now and when the article is published we will let you guys know as well.

The article is live here! And if you guys are having errors with our KMs, please check our troubleshooting post here.

—- EDITED on June/17 —-

Prior to version 11.1.2.4, ODI could be easily used for HFM integration processes. ODI used its KMs with specific HFM drivers (HFMDriver.dll) provided by Oracle that were used to access and manipulate HFM applications. However, on HFM’s latest version, Oracle decided to remove its support for ODI, meaning that all HFM integrations would have to move from ODI to either manual iteration with HFM, usage of another integration tool (Like FDMEE) or create custom code using the new Java HFM API.

Since we didn’t want to re-write all our ODI environment and also none of the above options are robust enough, we decided to recreate the ODI KMs using Java HFM API. For these KMs to work we need to do two things: import them from ODI Java Net and do some setup in the ODI agent.

In the article we explain all options and how do we came up with this solution, but here we will not talk about it since we want you guys to read our article as well and we can’t use the content of the article here since we already signed an exclusivity agreement with Oracle.

The first part is easy and you just need to download the files from the link below

ODI KMS for HFM 11.1.2.4

The second one is more difficult. We need to make the new HFM Jars available to the ODI Agent and in order to do so we have two options:

Install the agent in the HFM machine OR copy the necessary jar files to the agent drivers folder (oracledi\agent\drivers).

If your architecture allows to have both HFM and ODI agent in the same server, then you may use this approach, which is very simple. The only thing to do is to change odiparams file (oracledi\agent\bin\odiparams.bat file in a standalone agent) and add the location of those three HFM jar files. Open odiparams.bat file and search for “ODI_ADDITIONAL_CLASSPATH”. On that setting, just set the location of the HFM jar files, as below (this is just an example. Please adjust the path accordingly to your environment):

set ODI_ADDITIONAL_CLASSPATH=%ODI_ADDITIONAL_CLASSPATH%;

“D:\Oracle\Middleware\EPMSystem11R1\common\jlib\11.1.2.0\epm_j2se.jar”;

“D:\Oracle\Middleware\EPMSystem11R1\common\jlib\11.1.2.0\epm_thrift.jar”;

“D:\Oracle\Middleware\EPMSystem11R1\common\jlib\11.1.2.0\epm_hfm_server.jar”

Save the file, restart the ODI agent and it is done

If you decide to go with the second option, we’ll provide a list of all the necessary jars (be prepared… it’s huge). In the article we explain how to identify all the necessary jar files in a systematic way but here this is not an option as explained before.

Search for all the Jars in the below list and copy all of them under oracledi\agent\drivers folder.

adm.jar
admaps.jar
admodbo.jar
ap.jar
ArtifactListing.jar
audit-client.jar
axiom-api-1.2.10.jar
axiom-impl-1.2.10.jar
axis-ant.jar
axis-jaxrpc-1.2.1.jar
axis.jar
axis2-adb-1.5.4.jar
axis2-kernel-1.5.4.jar
axis2-transport-http-1.5.4.jar
axis2-transport-local-1.5.4.jar
backport-util-concurrent.jar
broker-provider.jar
bsf.jar
castor-1.3.1-core.jar
castor-1.3.1.jar
com.bea.core.apache.commons.collections_3.2.0.jar
com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar
com.bea.core.apache.commons.pool_1.3.0.jar
com.bea.core.apache.log4j_1.2.13.jar
com.bea.core.apache.regexp_1.0.0.0_1-4.jar
com.bea.core.apache.xalan_2.7.0.jar
com.bea.core.apache.xml.serializer_2.7.0.jar
com.oracle.ws.orawsdl_1.4.0.0.jar
commons-cli-1.1.jar
commons-codec-1.4.jar
commons-compress-1.5.jar
commons-configuration-1.5.jar
commons-dbcp-1.4.0.jar
commons-discovery-0.4.jar
commons-el.jar
commons-fileupload-1.2.jar
commons-httpclient-3.1.jar
commons-io-1.4.jar
commons-lang-2.3.jar
commons-validator-1.3.1.jar
cpld.jar
css.jar
cssimportexport.jar
ctg.jar
ctg_custom.jar
dms.jar
epml.jar
epm_axis.jar
epm_hfm_web.jar
epm_j2se.jar
epm_jrf.jar
epm_lcm.jar
epm_misc.jar
epm_stellant.jar
epm_thrift.jar
essbaseplugin.jar
essbasestudioplugin.jar
ess_es_server.jar
ess_japi.jar
fm-actions.jar
fm-adm-driver.jar
fm-web-objectmodel.jar
fmcommon.jar
fmw_audit.jar
glassfish.jstl_1.2.0.1.jar
hssutil.jar
httpcore-4.0.jar
identitystore.jar
identityutils.jar
interop-sdk.jar
jacc-spi.jar
jakarta-commons.jar
javax.activation_1.1.jar
javax.mail_1.4.jar
javax.security.jacc_1.0.0.0_1-1.jar
jdom.jar
jmxspi.jar
jps-api.jar
jps-common.jar
jps-ee.jar
jps-internal.jar
jps-mbeans.jar
jps-unsupported-api.jar
jps-wls.jar
js.jar
json.jar
jsr173_1.0_api.jar
lcm-clu.jar
lcmclient.jar
LCMXMLBeans.jar
ldapbp.jar
ldapjclnt11.jar
libthrift-0.9.0.jar
log4j-1.2.14.jar
lucene-analyzers-1.9.1.jar
lucene-core-1.9.1.jar
lucene-spellchecker-1.9.1.jar
neethi-2.0.4.jar
ojdbc6dms.jar
ojdl.jar
opencsv-1.8.jar
oraclepki.jar
org.apache.commons.beanutils_1.8.3.jar
org.apache.commons.digester_1.8.jar
org.apache.commons.logging_1.1.1.jar
osdt_cert.jar
osdt_core.jar
osdt_xmlsec.jar
quartz.jar
registration_xmlBeans.jar
registry-api.jar
resolver.jar
saaj.jar
scheduler_ces.jar
servlet-api.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
sourceInfo.jar
stax-api-1.0.1.jar
wf_ces_utils.jar
wf_eng_agent.jar
wf_eng_api.jar
wf_eng_server.jar
wldb2.jar
wlpool.jar
wlsqlserver.jar
wsplugin.jar
xbean.jar
xmlparserv2.jar
xmlpublic.jar
xmlrpc-2.0.1.jar
XmlSchema-1.3.1.jar

Restart the ODI agent and it should be ready to execute any HFM Java code inside of ODI.

I know that this is a lot of jars and will take some time to find all of them but at least you’ll be able to upgrade you HFM and still use the same interfaces you have today in ODI to manage HFM (just remember to use the new data store objects reversed from the new RKM).

The KM usage is very similar to the old ones and we had the instructions in all its options so we’ll not explain then here (just in the article). The only important difference is on how to setup the “Cluster (Data Server)” information on Data Server (Physical Architecture). For the new HFM API, we need to inform two new settings: Oracle Home and Oracle Instance Paths. Those paths are related to the server where your HFM application is installed. These settings will be used internally in HFM API to figure out all HFM information related to that specific HFM instance.

Due to these two new settings and in order to continue to accommodate all connection information within a single place (ODI Topology), “Cluster (Data Server)” was overloaded to receive three settings instead of just one, separating them by colon. So now “Cluster (Data Server)” receives “dataServerName:oracleHomePath:oracleInstancePath” instead of just dataServerName.

data-server

Having those considerations in mind, it is just a matter to create a new Data Server and set the overloaded “Cluster (Data Server)” information and the user/password that ODI will use to access the HFM application. After that, we just need to create a Physical Schema with the name of the HFM application, a new Logical Schema and associate that to a context.

And that is it, you guys are ready to upgrade your HFM environment and still use your old ODI interface to maintain HFM. If you guys have any doubts/suggestions about the KMs please few free to contact us.

If you guys are having errors with our KMs, please check our troubleshooting post here.

I hope you guys enjoy these KMs. See you soon!