Delete members in Essbase database using Java

The case discussed below will help clients to delete a selected hierarchy of Dimension and rebuild it in pure native Essbase application. This is not applicable to Hyperion Planning since all Essbase database information is stored in relational database for Planning. Below code makes use of Essbase API i.e. Java program talks to Essbase directly and not to any relational database.

Consider a Location Hierarchy below.

Location

AllLocations

FinLocations

StoreStatus

XXX

YYY

 

In Location Dimension, requirement was to delete FinLocations & StoreStatus and all members below it and rebuild it. Note that XXX & YYY should not be deleted.

We can make use of java program that can talk to Essbase via Essbase API. There are various functions in Essbase API that can help to login, connect & carry out several other Essbase related task on Essbase database. I made use of EditOutline.java for this purpose. It has a function called testDeleteDimension in it. testDeleteDimension has code to delete a specific member in a Essbase dimension. I had to modify the code to fit my requirement. It is straightforward.

First create an object for Location Dimension. Using this object handle you can add/delete dimension members as shown above. In my case , I am deleting FinLocation and StoreStatus from Location and then adding it under “AllLocations” later. Later FinLocations and Storestatus are built using a separate process.

I am also attaching the code for reference. You will need to run runsamplesEmbedded.cmd to compile the .java file to .class file.

List of all things that you need to know.

1)Check if E:\Oracle\MiddlewareEPM\EPMSystem11R1\common\EssbaseJavaAPI\11.1.2.0\samples exists. We will leverage java files present here.

2)Modify the appropriate java file present at F:\Oracle\Middleware\EPMSystem11R1\common\EssbaseJavaAPI\11.1.2.0\samples\japi

as per your need including username/password & server. In our case it is EditOutline.java.

3)You need to compile this java to generate .class file.

You can compile using runsamplesEmbedded.cmd . It is present in the path F:\Oracle\Middleware\EPMSystem11R1\common\EssbaseJavaAPI\11.1.2.0\samples\japi

It has the information of login,password and server

Challenges

You need to understand java for this. Once you make changes to .java file you must compile the java file using runsamplesEmbedded.cmd. Ensure that JAVA_HOME & Hyperion_Home are set correctly in runsamplesEmbedded.cmd file.Ensure that all jar files are present.eg ess_*.jar. Jar files are nothing but collection of (.java & .class) file