Wednesday, November 16, 2011

Strange New(?) Error Message in Essbase API

I have been working with Essbase and am seeing an error message that I don't remember seeing in previous Essbase versions.  The new error message is:

Unknown Error: Not a valid entry

I saw this message a couple of times over the past couple of days when working with Essbase members.  On the first occasion, I was calling the IEssCubeOutline.getDimensions() method and saw this error:

Cannot get child member names. Essbase Error(1013383): Unknown Error: Not a valid entry

I traced this issue to code that inadvertently called IEssCube.clearActive() before calling the IEssCubeOutline.getDimensions() method.  The second instance happened when I called IEssMember.getRelatedMemberNames() on an IEssMember object that was obtained from an IEssMemberSelection object.  In this case, the error number was slightly different:

Cannot get related member names. Essbase Error(1013384): Unknown Error: Not a valid entry

I expected the second exception to occur.  The getRelatedMemberNames() method, which returns an array containing the parent, sibling and first child information, is not available unless you obtain the IEssMember object by querying an IEssCubeOutline object.  I was simply surprised that the error message was the same.

Of course, it is confusing that all member objects are not created equal in Essbase.  It will be a great day when Essbase returns a full IEssMember object regardless of the method used to obtain it.  That being said, I am not holding my breath.

Thursday, November 10, 2011

OLAPUnderground Outline Extractor on - Updated Path Requirements

We are starting to get OlapUnderground users who have installed and are seeing problems with the Outline Extractor.  We also had issues with this version of the Outline Extractor.  Some of the typical symptoms were that Essbase dialogs, such as the login dialog, did not work.  In fact, I saw this same behavior in the classic Excel add-in on my machine; it did not work.  My QA team went to work and found a couple of interesting things about Essbase API applications in

First, there is a new requirement for another directory in the path statement.  After a bit of searching, our QA guys found the following article on Oracle's MySupport site (Document ID 1322496.1):

Problem : Running a 32-bit VB API on a 64-bit Essbase Server Fails With "ERROR: Essbase Initialization Failed, StatusCode = 1030803

This document explains that the "environment has to use the bin-32 directory to get 32-bit VB API programs to run on the 64-bit server."

There is a new directory that must be in the PATH environment variable!  As I am running the 64-bit Essbase server on my machine, I didn't want to change the PATH of the operating system on the chance it would break the Essbase server.  Instead, I created a cmd file to set the appropriate environment variables and run the Outline Extractor.  Here is the complete command file:

@rem This command file uses the 8.3 filename format.  
@rem The 8.3 filename may vary between machines, so 
@rem be sure to check the paths carefully.  Use dir /x
@rem to find the filenames in the 8.3 format.


set ARBORPATH=%EPMHOME%\common\ESSBAS~2\1112~1.0

set ESSLANG=English_UnitedStates.Latin1@Binary

set PATH=%ARBORPATH%\bin;%EPMHOME%\bin-32;%PATH%


Note that I used 8.3 filename format.  I quickly tried using double-quotes around long filenames to these directories in an attempt to make it run without the 8.3 filenames.  I didn't get it right the first time and didn't put any more time into it; the script with 8.3 filenames worked the first time.

A second thing we noticed about the Essbase VB API is that the VB supporting files, most notably esb32.bas declarations file that defines the functions in the dll's, do not appear to be in the distribution.  We did find esb32.bas in the samples, but they were from Essbase 9.3

Finally, due to the missing esb32.bas, we have not yet shipped an official version of the Essbase Outline Extractor for  The likely case is that no declarations changed and we can just use the version with an updated ESB_API_VERSION variable.  Until we do that, when you run the Essbase Outline Extractor with Essbase, you will see a dialog that warns you are using the incorrect version of Essbase.

If you are using the Essbase Outline Extractor for, you can ignore this warning and the Extractor should still run successfully.

Note: I will follow up with a similar post on how I got the classic Excel add-in working on my machine.

Saturday, November 5, 2011

We finally got out and did something here in the beautiful city of Sydney.  Yesterday, Darlene and I did the Sydney Harbour Bridge Climb with Mark Rittman and Stuart Bryson from Rittman Mead along with Stuart's wife Pamela.  Here is a shot from the top of the bridge.

After the climb, we met up with Ash Beauman from Rittman Mead Australia for a few beers and even some late night clubbing around The Rocks area of Sydney.  Of course, we had plenty of time to discuss OBIEE and how Essbase fits into the picture; I guess we are all true geeks.

Later, I pulled an all-nighter to go on-line and watch my Michigan Wolverines play Iowa; I didn't like the result.  Today, it is off to Manly Beach to explore another part of Sydney.

Friday, November 4, 2011

NZOUG / ODTUG SP Sydney Wrapup

It is Friday afternoon and my busy week of speaking is over.   It started out in Auckland, New Zealand at the NZOUG conference.  It was a great conference and the special event, a dinner with an interactive mystery game, was excellent.  

Wednesday, we flew to Sydney for the ODTUG SP Conference.  The flight was on Qantas and, due to the airline shutdown earlier in the week, we had to check-in for the flight 2 hours ahead of time or risk losing our seats.  Qantas also enforces a weight limit of about 16 pounds per carry-on bag.  We didn't know that until we tried to go through security and we were sent back to check-in to check one of our carry-on bags.  Once airborne, however, the flight was great and I relaxed, watched the movie and enjoyed the meal service.  They even brought ice cream bars for dessert!  As we approached Sydney airport in the plane, we had a great view of the harbor, the Sydney Harbour Bridge, and the famous Sydney Opera House.

The SP Conference was well attended in both the BI and the EPM tracks.  I participated in the keynote where I got to tell everyone about the new version of Smart View.  I also had the honor of introducing the Oracle Fusion Accounting Hub.  This new product shows Oracle's deep commitment to Essbase and I will be doing a blog post with more details in the near future.   

My first session in Sydney covered Essbase techniques in Excel.  This session first discussed the new version of Smart View and I threw in some live demos.  The new Smart View brings near-parity to the classic Excel add-in and thus makes available a number of techniques that did not work with the older Smart View versions.  I also covered how Essbase 'Query-by-Example' grid layouts work and, based on the applause at the end, the session was very well received (or the attendees where very polite).

My final session was this afternoon and focused on Essbase API tips and tricks.  The SP conference is now complete and it is time to relax for a while.  I have been in Australia for 48 hours and haven't seen the famous Sydney Opera House yet.  It is only 2 or 3 blocks from our hotel, but I haven't really been outside at all.  We are headed out for dinner tonight and will be staying in Australia until next Wednesday, so I am sure I will see it soon.  

Tomorrow morning, we are doing the Sydney Harbour Bridge Climb with Mark Rittman and Stewart Bryson from Rittman Mead.  We will certainly see it then.

Speaking of Mark Rittman, he tweeted about the dangerous animals featured on the wall displays leading to customs in Sydney Airport.  At lunch yesterday, he pulled up a 'Top 10' list of Australia's most deadly animals.  I guess there are some nasty creatures here; the Great White Shark is only the 9th most deadly animal on the list!   I will be sure not to let down my guard.