If you don’t then read my older brother’s blog posts on the same 🙂
How it works
Create a file which is similar to the one below.
Run the utility with following options
Utility will update the storage properties of all parents in your hierarchy to the one that you specified.
In the example I changed all the parents under Market to a Dynamic Calc and all parents under Product to Store.
This can help you convert an existing BSO cube to Hybrid. Look at ASODYNAMICAGGINBSO
I’m planning to add another option to this which will let you know the members which should be tagged as “Never Share”.
Happy Hybridising 🙂
You can download the file from here.
Update 07/29/2015
I tested this on 19K higher level (44K members) hierarchy and it was done in less than 3 minutes!!!
Turns out this is the fastest way to prepare Essbase cubes for Hybrid 🙂
WIll this run on Linux or only Windows?
Tim it is jar file, so you'll be able to execute it on *nix
I did it as a batch based for just the execution purpose, however you can easily convert that to a shell.
JAVA_HOME=/oracle/Oracle/Middleware/jdk160_35
export JAVA_HOME
BASE_DIR=/oracle/Oracle/Utils/Essbase_Mbr_Operations_Util
export BASE_DIR
EPM_ORACLE_HOME=/oracle/Oracle/Middleware/EPMSystem11R1
export EPM_ORACLE_HOME
# ———————————————————————————————————————-
# — SET parameters —
# ———————————————————————————————————————-
ESBMBROPTS=-u=admin -p=p@ssword -S=localhost -App=Sample -Db=Basic -file=C:PropMbrList.txt -changeproperty
export ESBMBROPTS
EsbMbrOperation_MAIN=com.cera.hyputils.EsbMbrOperation.EsbMbrOperation
export EsbMbrOperation_MAIN
EsbMbrOperation_CP=%BASE_DIR%libEsbMbrOperation.jar;%BASE_DIR%libcommons-cli-1.2.jar;%EPM_ORACLE_HOME%commonEssbaseJavaAPI11.1.2.0libess_es_server.jar;%EPM_ORACLE_HOME%commonEssbaseJavaAPI11.1.2.0libess_japi.jar;%EPM_ORACLE_HOME%commonEssbaseJavaAPI11.1.2.0libess_maxl.jar;%EPM_ORACLE_HOME%commonloggersLog4j1.2.14liblog4j-1.2.14.jar;%EPM_ORACLE_HOME%commonloggersODL1.0.0libojdl.jar
export EsbMbrOperation
JAVAOPTS=-cp %EsbMbrOperation_CP% %EsbMbrOperation_MAIN%
export JAVAOPTS
${JAVA_HOME}/bin/java ${JAVAOPTS} {ESBMBROPTS}
I updated a few issues and came up with this:
JAVA_HOME=/Oracle/Middleware/jdk160_35
export JAVA_HOME
BASE_DIR=/home/appsuper/Downloads/Essbase_Mbr_Operations_Util_1.3
export BASE_DIR
EPM_ORACLE_HOME=/Oracle/Middleware/EPMSystem11R1
export EPM_ORACLE_HOME
ESBMBROPTS='-u=admin -p=p@ssword -S=localhost -App=Sample -Db=Basic -file=${BASE_DIR}/PropMbrList.txt -changeproperty'
export ESBMBROPTS
EsbMbrOperation_MAIN='com.cera.hyputils.EsbMbrOperation.EsbMbrOperation'
export EsbMbrOperation_MAIN
EsbMbrOperation_CP=$BASE_DIR/lib/EsbMbrOperation.jar:$BASE_DIR/lib/commons-cli-1.2.jar:$EPM_ORACLE_HOME/common/EssbaseJavaAPI/11.1.2.0/lib/ess_es_server.jar:$EPM_ORACLE_HOME/common/EssbaseJavaAPI/11.1.2.0/lib/ess_japi.jar:$EPM_ORACLE_HOME/common/EssbaseJavaAPI/11.1.2.0/lib/ess_maxl.jar:$EPM_ORACLE_HOME/common/loggers/Log4j/1.2.14/lib/log4j-1.2.14.jar:$EPM_ORACLE_HOME/common/loggers/ODL/1.0.0/lib/ojdl.jar
export EsbMbrOperation
JAVAOPTS="-cp ${EsbMbrOperation_CP} ${EsbMbrOperation_MAIN}"
export JAVAOPTS
${JAVA_HOME}/bin/java ${JAVAOPTS} ${ESBMBROPTS}
—
But I'm still getting an error. Do I need to add the port name for APS or is it something else?
com.essbase.api.base.EssException: Cannot sign on to domain. Error initializing the ORB. oracle/core/ojdl/logging/ODLLogger
at com.essbase.api.session.Essbase.signOn(Unknown Source)
at com.essbase.api.session.Essbase.signOn_internal(Unknown Source)
at com.essbase.api.session.Essbase.signOn(Unknown Source)
at com.cera.hyputils.EsbMbrOperation.EsbMbrOperation.main(EsbMbrOperation.java:155)
Tim, do you have all the required jar files in that location? common/EssbaseJavaAPI/11.1.2.0/lib
common/loggers/Log4j/1.2.14/lib
common/loggers/ODL/1.0.0/lib
It does say that it cannot intialize ODLLogger.
I don't have a *nix machine to test this, I can do that over weekend. However I feel that it is something related to the path. I beleive you updated the server name and credentials
Success! You were right. I had the wrong path — should have been $EPM_ORACLE_HOME/common/SharedServices/11.1.2.0/lib/ojdl.jar.
I did get a bunch of warnings — would be glad to share in case you're interested. I did it on a dimension with 3k and one with 17k members. I did a quick check and it looks good so far. Now, if Oracle would drop the 100 dynamic children on a sparse member warning, that'd be great…
Thanks for creating this, will be helpful in converting outlines to hybrid.
I'm assuming those the annoying ODL warnings
WARNING: java System properties, java.vm.vendor: Sun Microsystems Inc.
Jul 28, 2015 9:52:07 AM com.hyperion.dsf.server.framework.BaseLogger logWarning
WARNING: java System properties, java.runtime.name: Java(TM) SE Runtime Environment
Jul 28, 2015 9:52:07 AM com.hyperion.dsf.server.framework.BaseLogger logWarning
WARNING: java System properties, java.runtime.version: 1.6.0_35-b52
Jul 28, 2015 9:52:07 AM com.hyperion.dsf.server.framework.BaseLogger logWarning
100 dynamic children warning was making the API report that as an exception, so I had to remove the verify just for changeproperty flag
Glad that it worked for you
Thanks muchly Celvin, saved me a couple of hours!