I need to run a Essbase MaxL script from a ODI package or procedure [Either put OS command in Package or Create a procedure and insert it into package].
Essbase(Server A) and ODI(Server B) are on different servers.
So basically, I need to call Maxl (located on server A) from server B.
Any help will be appreciated.
We have the Essbase client on the server where the ODI agent resides. NB, we had to update the OPMN.xml with some references to Essbase paths.
ODI calls a cmd script to call maxl.
I can provide some more details if you want to go down this route.
You need to make sure to setup proper path and all the environment variable are properly for the ODI agent in order to get the MAXL executed through OS call. As part of OS command execution ODI submits the command to the underlying OS just like any other java program. It assumes that all the path and parameters needed for the command are configured properly and available for the JVM process.
There are couple of other ways to execute maxl scripts.
1. You can write the jython code in procedures to execute MAXL using Essbase Java APIs.
2. The IKM/LKM for Hyperion Essbase have option to execute maxl script before and after extracting/loading data from Essbase cube. You can make use of that for you purpose.