The Essbase API gives you unrestricted access to many of the same functions that Essbase Administration Server and MaxL use.
This section is a quick reference to help you in identifying and solving the most common problems.
Problem | Solution |
---|---|
Your program is generating protection faults when allocating or freeing memory. | Here are some things C programmers can check:
Even if the errors are occurring when accessing memory not used by Essbase, there may be some interference between the Essbase memory management scheme and your own. You might consider defining your own custom memory management functions. |
Your program generates an Essbase error when calling an API function. | Most of the Essbase error messages are self-explanatory, and it should be fairly obvious where the problem lies. However a couple of common errors to watch out for are (%n indicates a message argument which is replaced by a context-specific string):
|
Your program is consistently receiving an Essbase error return code from an API function, but no message is displayed, or a message saying "No message for message #%1 in message database" is generated. | Certain internal API errors cannot display a message, typically because the user's context information is not available when the message occurs. In these cases, make a note of the error code returned from the function, then refer to the list of error messages in messages.txt to find the corresponding message text. The error constants themselves are contained in esserror.h. |
When accessing fields in API-defined structures, they appear to contain the wrong values, or the values seem to be "shifted" by a few bytes. | Check your compiler defaults to ensure you have structures aligned on byte boundaries. If the problem still occurs, make sure you are compiling with the most recent versions of the API header files, and linking with the most recent API DLLs. |