Thursday, 23 July 2015

Planning with ODI

Just a quick post from me today which has taken me ages to get around to writing up.

When Planning was first released there was no official ODI adaptor to coincide with the release, there was so much talk around there wasn’t  going to be a 12c release that seemed to get lost in the confusion.

If you want to read more on this subject then there is a good Oracle support document available

“Oracle Enterprise Performance Management and Oracle Data Integrator Statement of Direction (Doc ID 1981899.1)”

At the time of the release the compatibility section in the support matrix had N/A against the planning adaptor, even though not certified it was possible to successfully use the ODI files with

A couple of months ago the situation changed and Oracle released a patch and then a month after the patch was released the support matrix was updated with the following:

What is interesting is the description of the patch when you go to download it from Oracle Support.

To confuse matters the description states ODI yet the release version is for

The patch is basically a new release of the jar files which the planning adaptor uses.

Applying the patch is extremely simple using Opatch and basically just copies the jar files to the ODI sdk and client lib directories.

Once applied another script is executed to copy/rename the files to remove the version so you end up with

There is one additional part to the patch and that is an updated SQL to Planning integration knowledge module.

On further inspection of the updated knowledge module there have been a slight change in the jython code.


Patched version:

The target columns in an interface are now stored in an array and then passed into the Java code

So what you really want to know is does it work.

Well there were no problems reversing a application.

If you try and run a metadata load using the original KM then it will complete successfully..

No records will be loaded into the planning application and you will only find an error by looking at the Report statistics task

Changing the interface to use the patched KM version bring more success.

I am not going to get into why the report statistics is still using an awful method and was never updated, here is a post from me back in 2009 which is still valid now.

In the example I was using the agent built into the Studio (which is really all you are licensed for if you don’t own a full ODI license), if you use the standalone agent then you may hit more errors like the following.

If you do then you will need to copy jdom.jar,json.jar and css.jar from your environment

into the agent drivers folder where your agents are located.

If you are using the J2EE agent then you will need to do the same but copy the files to:


If on windows and using a service to start the agent you will also need to add the jars to the classpath in the registry.

There is another good Oracle support document which goes through these in more detail:

“How to Apply ODI Patch 18687916 for Hyperion Planning and Errors that May Occur if Patch Has Not Been Applied Correctly (Doc ID 1683307.1)”

It is aimed at but the information is still relevant in

So what about ODI, well in the EPM support matrix there is no mention of it but in theory it should be ok as there are no many major changes between ODI and

The ODI support matrix says that it is supported with Planning 11.1.2.x

I am sure the EPM support matrix will be updated at some point in the future.

If you do try to apply the patch to then it will fail with Opatch advising there are no fixes in the patch.

This is because the patch has been set up only to run against but it can easily be updated to run against, I am not saying go and do this and it is just for demonstration purposes :)

Within the patch folder structure there is a config directory which contains a few XML files.

If you edit the inventory.xml file.

Update to and save.

Next edit actions.xml and update each version from to

Now the patch should apply.

In my testing I didn’t see any issues and it worked like it would with but remember it is not yet verified as compatible by Oracle.