Thursday, November 10, 2011

OLAPUnderground Outline Extractor on 11.1.2.1 - Updated Path Requirements

We are starting to get OlapUnderground users who have installed 11.1.2.1 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 11.1.2.1.

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 EPMHOME=C:\Oracle\MIDDLE~1\EPMSYS~1


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

set ESSBASEPATH=%ARBORPATH%
set ESSLANG=English_UnitedStates.Latin1@Binary

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


start C:\PROGRA~2\OLAPUN~1\ESSBAS~1.2\EXPORT~1.EXE 


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 11.1.2.1 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 11.1.2.1.  The likely case is that no declarations changed and we can just use the 11.1.2.0 version with an updated ESB_API_VERSION variable.  Until we do that, when you run the Essbase Outline Extractor with Essbase 11.1.2.1, you will see a dialog that warns you are using the incorrect version of Essbase.













If you are using the Essbase Outline Extractor for 11.1.2.0, 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.

13 comments:

SickSkilz said...

We basically had the same issue but with our own APIs over the past few versions. Wanting to write 32 bit apis but with 64 bit Essbase. My process for servers is to install all server side applications as 1 "admin" userid. Then I take all the environment variables and move them from system to user environment variable. Then I log in as a separate user and install the client applications. The beauty of this is that if you want to you can even run multiple Essbase server instances of different versions on the same server. (of course with different port numbers)

D Clarke said...

Thanks Tim. Had a similar similar problem myself on this one in on of our ASP.NET systems that use components of the Essbase C API.

All we had to do was add the bin-32 directory to the PATH and then it was sorted!

Tim Tow said...

I am glad I was able to help; that is the reason I have a blog!

BTW, the VB and C API's seem to getting harder to support. Meanwhile, the Java API is becoming more complete and easier to support. That is why we chose to use the Java API for Dodeca. The Dodeca client is written in C# and talks to our Java server via web services. Would you be interested in seeing how the Dodeca dll's could be used in your ASP.Net project?

Tim

D Clarke said...

Hi Tim,

Yes I agree. We've been using the C API in this application since version 9.3 and every time it's updated to support the latest release a new problem occurs!

I've already had a chance to play with the Java API and I found it can be incorporated into a .NET project by using IKVM. I think the java API for Essbase is well implemented.

Not yet used web services myself but it also seems a good way of integrating the JAPI with .NET.

Anyway, many thanks again for your help.

Tim Tow said...

I haven't used IKVM yet; it was pre-version 1.0 last time I saw it.

Tim

newbish said...

You know there is really no reason to use this tool in 11.1.2.x due to XML exports now being available through MAXL. On top of that when testing on a large hierarchy this tool took over 30 minutes for just the account hierarchy were as the native tool took under a minute for a full outline extract.

Tim Tow said...

Not everyone will upgrade to 11.1.2.x in the near future and, when they do, they may need to extract/rebuild. Further, the xml format published by 11.1.2.x cannot currently be used to build a cube, so there will be usefulness for years to come.

Tim

Aarthi Krishnan said...

I tried the utility for 11.1.2.2 essbase on windows 2008r2. we have a job that uses the exportdim.exe through a batch file. we have modelled our export in the same format as the loadsample.bat but each time it runs it throws the error- win is not recognized as an internal or external command.

Tim Tow said...

Hi Aarthi,

Contact Applied OLAP support at support@appliedolap.com for assistance.

Tim

Naren said...

Hi Tim,

We have a Outline extractor connectivity issue and it is fixed by creating a batch file as suggested by you.

Unfortunately, instead of creating a new oracle home path, I have used the path where Essbase 64bit is running. Now, the EPM system Crashed. Do you have any suggestions?

Thanks
Naren

Tim Tow said...

Naren,

Please contact the Outline Extractor support team immediately at support@appliedolap.com.

If you set the environment variables and run the extractor from a batch file, there should not be any way it would affect the entire EPM environment as the scope of those variables would be limited to the command instance.

Tim

Siddhartha Nag said...

Thanks a lot Tim...I got it configured on a 11.1.2.3 platform running Windows 8 / 64 bit environment Here goes my batch 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 EPMHOME=C:\Oracle\MIDDLE~1\EPMSYS~1
@rem ESSBAS~3 points to EssbaseRTC
set ARBORPATH=%EPMHOME%\common\ESSBAS~3\1112~1.0
set ESSBASEPATH=%ARBORPATH%
set ESSLANG=English_UnitedStates.Latin1@Binary

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

start C:\PROGRA~2\OLAPUN~1\ESSBAS~1\EXPORT~1.EXE

shashi said...

Thanks Tim your blog helped me resolve the issue of outline extractor for 11.1.2.1