Patch file name: FIXPK9LA.HTM
Applies to: All platforms
Patch Date: January 2000
Identification: R5.0.2_P9L
************************************************************
Hyperion Patches in IBM Fixpacks
Enhanced Member Querying with New APIs
Fixpack 9LA for DB2 OLAP Server Version 1.1 is the equivalent of patch 9LA for Hyperion Essbase Release 5.0.2. Hyperion Essbase patches are cumulative; patch 9LA contains new fixes plus the fixes found in patches 1 through 9.
This file also contains information regarding Hyperion Integration Server as it relates to DB2 OLAP Server. This fixpack does not support HP-UX. If you need service for DB2 OLAP Server on HP-UX, contact IBM.
R5.0.2_P9 is Release 5.0.2, Patch 9 from Hyperion, which is in Fixpack 9 from IBM.
R5.0.2_P8 is Release 5.0.2, Patch 8 from Hyperion, which is in Fixpack 9 from IBM.
R5.0.2_P7 is Release 5.0.2, Patch 7 from Hyperion, which is in Fixpacks 7 and 9 from IBM.
R5.0.2_P6 is Release 5.0.2, Patch 6 from Hyperion, which is in Fixpacks 7 and 9 from IBM.
R5.0.2_P5 is Release 5.0.2, Patch 5 from Hyperion, which is in Fixpacks 7 and 9 from IBM.
R5.0.2_P4 is Release 5.0.2, Patch 4 from Hyperion, which is in Fixpacks 4, 7, and 9 from IBM.
R5.0.2_P3 is Release 5.0.2, Patch 3 from Hyperion, which is in Fixpacks 4, 7, and 9 from IBM.
R5.0.2_P2 is Release 5.0.2, Patch 2 from Hyperion, which is in Fixpacks 4, 7, and 9 from IBM.
R5.0.2_P1 is Release 5.0.2, Patch 1 from Hyperion, which is in Fixpacks 4, 7, and 9 from IBM.
Patch 9LA fixes problems on all server and client platforms, particularly
for compliance with Lotus 1-2-3 Millennium releases.
Patch 9 fixes problems on all server and client platforms.
Patch 8 fixes problems for the Spreadsheet Add-in for Microsoft Excel 2000.
Patch 7 fixes problems on all server and client platforms.
The main contents of Patch 6 are two new C Outline API functions, and one new structure. These support Enhanced Member Queries, and are needed for integration with Hyperion applications.
Patch 5 fixes problems on all server and client platforms.
Patch 4 fixes problems on all server and client platforms.
In addition to bug fixes, Patch 4 includes support for the Spreadsheet Add-in on Microsoft Excel 2000.
Patch 3 fixes problems on all server and client platforms.
In addition to bug fixes, Patch 3 includes:
For a matrix of database servers/platforms tested, see SQL Source Connectivity.
Patch 2 fixes problems on all server and client platforms.
Patch 1 fixes problems on all server and client platforms.
Certain Characters Appear Incorrectly in the the Essbase menu for
Non-English Versions of Lotus 1-2-3
Spreadsheet Add-in (14711, 17185, 17186, 17772, 17383, P9LA)
These fixes require an upgrade of the 1-2-3 add-in. Various translation/localization
errors appear in the Essbase menu for
the Lotus 1-2-3 Spreadsheet Add-in .
Unnecessary Informational Messages Appear in Log File After Running
a Report Script (14451, P9LA)
After running a particular report script against a target partition,
the informational message "Grid Expansion enabled for this
query" unnecessarily appears multiple times in the server log file.
The Spreadsheet Add-in for Lotus 1-2-3 Incorrectly Displays Greek,
French, or German Characters When a
Particular 1-2-3 Function is Invoked (15049, P9LA)
This fix requires an upgrade of the 1-2-3 add-in. Greek, French, or
German characters are displayed incorrectly in the
Spreadsheet Add-in for Lotus 1-2-3 when a particular 1-2-3 function
is invoked.
Using EssCell on a Dynamic Calc Member Causes Error Messages or Application
Crashes (16726, P9LA)
Retrieving on a Dynamic Calc member using the EssCell Spreadsheet Add-in
function causes application server error
messages or crashes when certain database settings and .CFG file settings
are in place.
Retrievals in Spreadsheets with Multiple Columns, and Only Dynamic
Time Series Members in the Topmost
Column, Cause the Application Server to Crash (18154, P9LA)
Retrieval on a spreadsheet which has only Dynamic Time Series members
in the topmost column, and more than one
column in the sheet causes the application server to crash.
Retrieval Changes Members in Spreadsheet (18421, 18439, 18491, 18358,
18540, 18436, 18557, 18234, P9LA)
When the Repeat Member Label option is turned on, some spreadsheet
retrievals change the names of the displayed
members.
The following is a list of known problems that exist in P9LA:
Pivoting Column Heading Returns Unexpected Results (12386)
Pivoting a column heading causes another column heading to fall outside
the Page dimension.
Keep Only and Remove Only Commands Fail When the Repeat Member Labels
Option is Turned On (14139)
When the Repeat Member Labels option is turned on, the Keep Only command
fails and the Remove Only command
generates the following error message: "The operation would generate
a nonsensical report."
Alias Names for Shared Members Are Not Displayed Within the Member
Selection Dialog Box (18356)
In Member Selection, when the Use Aliases option is checked and a member
is added to the Member Selection dialog box,
the stored member appears without its alias name.
Unable to Drill Down on Greek Characters in Lotus (18480)
An attempt to drill down on a database that contain Greek characters
fails.
A Report That Has Two Accounts Over Two Months Will Only Display
One Account When The Report is Run
(18495)
If a report contains values for two accounts over three months (Sales,
COGS) for Jan, Feb, Mar, and you run the same
report for the two accounts over two months instead (Jan, Mar), it
will show just one account (either Sales or COGS). It
will not show both accounts for those two months.
The Target Database in a Transparent Partition Crashes During Data
Retrieval (18520)
In a transparent partition, an attempt to connect to the Target database
and retrieve data results in a crash that generates an
exception log.
Saving an Outline Causes the Server to Hang and Generates an Exception
Log (18536)
Opening an outline from the client and attempting to save it causes
the server to hang and generates an exception log.
Alias Names Not Being Displayed for the First Member in the Report
Script (18539)
When a report script is run, the alias for the first member is not
displayed. The alias names for members following the first
member are displayed. If the second member is moved above the first
member, the alias for the second member is no longer
displayed but the alias for the first member is displayed since it
is no longer the first member in the report.
The following problems are fixed in Patch 9. Unless otherwise noted, these fixes are reflected in the patched server software and do not require a client upgrade; however, we recommend upgrading client and server software to the same patch level.
Memory Leaks Occur With Consecutive Connects and Retrieves With Flashback
Enabled in Spreadsheet Add-in (12185, P9)
This fix requires a client upgrade. Memory leaks occur after consecutive
connects and retrieves in the spreadsheet add-in, when Flashback is enabled
(Essbase > Options > Global tab).
Errors with Formulas After Retrival in 1-2-3 Add-in (12477, 16057
P9)
This fix requires a client upgrade. In the Spreadsheet Add-in for 1-2-3,
the following problems can occur:
Formulas disappear on retrieval or are replaced with 0s.
When formulas result in a 0 data value, the 0 does not send as data.
Invalid Block Header Error Occurs During Concurrent, Multi-User Workloads
(14434, P9)
In various scenarios, an "Invalid Block Header" error message occurs
during concurrent, multi-user workloads, and the database must be recovered
from an archived copy or rebuilt.
DB2 OLAP Server Treats Unsuccessful Data Loads as Successful (14494,
P9)
If a data load request fails, DB2 OLAP Server does not display the
failure message and time elapsed.
DB2 OLAP Server May Write to the Application Log Before Process is
Completed (14677, P9)
When processing data, DB2 OLAP Server may record elapsed time into
the application log before the function is completed.
Formulas Created With the Formula Editor Disappear After the Database
Outline is Saved (14974, P9)
Application Manager does not recognize some invalid formulas created
in a database outline. These invalid formulas disappear after the outline
is saved.
Reports Take Longer to Run in Patch 2 (15359, P9)
Reports take longer to run in DB2 OLAP Server Version 1.1, fixpack
4 (Essbase 5.0.2, Patch 2) than they did in Essbase Version 4.1.2, Patch
10.
Running Batch Calculations May Cause the Application to Crash (15507,
P9)
Running batch calculations may cause the application to crash when
the FIX statement contains only Dynamic Calc members from a dimension.
SQL Drill-Through Fails on Second Drill When Running on Machines
Faster Than 400 Mhz (15559, P9)
SQL Drill-Through functions correctly on the first attempt but hangs
on the second attempt.
Application Server Crashes after Running a Default Calc on Transparent-Partitioned
Target Database (15639, P9)
Running a default calculation on the target transparent-partition database
crashes the application server.
Application Manager Displays Incorrect Date for Database Modifications
(15698, 16450 P9)
This fix requires a client upgrade. After a user changes the year in
the computer's date to 2000, Application Manager's Database > Information
> Modifications tab displays the year as 1900.
Application Server Process Uses Up Memory and CPU (15830, P9)
If the Essbase Agent Process is killed using the Task Manager on Windows
NT while a calc is running on an application, the ESSSVR process uses up
all the available memory on the system.
Invalid Syntax Errors Returned for Calc Scripts Using Parenthenses
and Commas Within a FIX statement (15952, P9)
Certain calc scripts containing parentheses and commas within a FIX
statement return "Invalid Syntax" errors.
Attempts to Import Data into the Data Prep Editor From Excel Fail
(15961, P9)
DB2 OLAP Server cannot read Excel worksheets because it does not ignore
Evaluation Errors such as #DIV/0.
After Mandatory Password Change, Retrieval Attempt Results In "Incorrect
Password" Error (15970, P9)
This fix requires a client upgrade. In the Spreadsheet Add-in for Excel,
after changing the password as required, a user who attempts to retrieve
on a second spreadsheet gets an "Incorrect Password" error message.
Application Crashes After Repeated Calculation Attempts by a User
Without Calc Privileges (16147, P9)
When a user without calculation privileges repeatedly tries to run
a default calculation from the spreadsheet, the application server crashes.
"Invalid Block Header/Duplicate Key in AVL Tree" Errors Occur After
the Following Sequence of Steps: CALC, Successful Sparse Restructuring,
Server Crash, CALC (16288, P9)
"Invalid Block Header/Duplicate Key in AVL Tree" errors occur after
the following sequence of steps: calculation, successful sparse restructuring,
server crash, calculation.
Exiting from Excel Returns Essbase Error Message (16492, P9)
This fix requires a client upgrade. After loading the Excel add-in
and closing all workbook sheets, exiting from Excel results in an Essbase
error: "Active sheet could not be determined."
Large Member Formulas Create Server Exception and Crashes Application
(16571, P9)
Large member formulas generate a server exception when you attempt
to save the database outline. This results in an application crash.
@ISMBR Function Used On Dynamic Calc Members in Member Formulas Returns
#MISSING Values (16595, P9)
Certain member formulas using the @ISMBR function and containing references
to Dynamic Calc members other than the ones being calculated do not execute
correctly, returning #MISSING values.
Dynamic Calc Members are Retrieved as 0 in Certain Spreadsheet Views
(16718, P9)
Formulas involving the @PRIOR, @SHIFT, or @NEXT functions on Dynamic
Calc members may return incorrect values upon retrieval.
Unchecking Allow Attribute Changes Results in an Erroneous Build
(16720, P9)
DB2 OLAP Server does not ignore duplicate occurrences of aliases for
a member and records warnings in the error file.
Retrievals From Partitioned Databases on Solaris Return Error Messages
(16739, P9)
Spreadsheet retrievals against replicated-partition databases on a
Solaris server fail with memory allocation or network timeout errors.
Aggregate #Missing Option Not Working with Non-Consolidating Children
(16810, P9)
When a child has a non-consolidation tag and a value, the Aggregate
#Missing option fails to consolidate #Missing values of other children
of that parent member.
In Application Manager, Successfully Defined Alias Does Not Display
in Member Properties (16848, P9)
After adding an alias to a member using Application Manager's Member
Properties > Alias Combination tab, the alias is not listed after the user
clicks OK. However, the alias is still functional in the Excel add-in.
A Default Calc on an Empty Database May Cause the Application to
Crash (16910, P9)
When a member formula contains a cross-dimensional operator with the
@ISMBR function, the application may crash.
Calc Causes a Crash with Some .cfg Settings (16956, P9)
If more than 100 blocks need to be locked during a batch calculation,
the database may crash with an error message.
Users Can Log On to DB2 OLAP Server After a Timed Automatic Log Out
(16964, P9)
This fix requires a client upgrade. After DB2 OLAP Server has logged
out users, the users can still automatically log on to DB2 OLAP Server
through the Client.
No Data Values Return for Dynamic Calc Members After a Retrieve (17011,
P9)
In Patch 7, an attempt to retrieve data values for Dynamic Calc members
fails, resulting in #Missing values.
Calc is Slow and May Give Incorrect Results (17084, P9)
Calc is slow and may return incorrect results in Patch 4 and succeeding
patches.
Setting Substitution Variables at the Application Level Causes Security
Corruption(17335, P9)
Setting substitution variables at the application level causes DB2
OLAP Server to display an erroneous message stating that the security files
are corrupted.
The following problems are fixed in Patch 8, and required a client upgrade.
Data Retrieval by EssVCell is Incorrect in Spreadsheet Add-in for
Excel 2000 (15930, P8)
In Excel 2000, member formulas do not work correctly after the database
outline is restructured.
In New Installations of the Spreadsheet Add-in for Excel 2000, the
VBA Formula Retrieval Does Not Work Correctly (15928, P8)
In new, non-upgraded installations of the Spreadsheet Add-in for Excel
2000, the VBA formula retrieval loses the formula after running the macro.
Some Essbase Functions in the the Spreadsheet Add-in Do Not Work
Correctly (15196, P8)
Essbase functions such as formula preservation, pivoting, and double-clicking
work correctly when the Spreadsheet Add-in for Excel is installed as an
upgrade to the add-in on Excel 97. In fresh installations of the add-in,
these functions do not work correctly.
The following problems are fixed in Patch 7.
Memory Leak Occurs with Consecutive, Repeated Retrievals (12185,
13762, P7)
This fix requires a client upgrade. Consecutive, repeated retrievals
in Excel Spreadsheet Add-in cause a memory leak.
Viewing the Application Log by a Specified Date May Not be Successful
When Error #1013104 is Present in the Log (14398, 15194, 15479 P7)
When error #1013104 (invalid member name) is recorded in the application
log, an attempt to view the log records by a specific date may be unsuccessful.
In the Formula Editor, a Syntactically Incorrect Formula Passes Syntax
Validation, but Disappears after a Save (14974, P7)
The Formula Editor validates a member formula that has incorrect syntax,
but after the outline has been saved the formula disappears. With this
fix, the formula does not get truncated or disappear. When the outline
is saved to the server, one error message is recorded in the application
log file and another error message is inserted into the member comment
field. The formula is ignored during calculation. The error can be seen
only if the outline is closed and reopened.
To fix the member formula:
Progressive Memory Leak on Successive Dimension Builds (15520, 15521,
P7)
During dimension builds, memory leaks in the calc data structure and
the outline API.
With "Create Blocks on Equation" Database Setting Enabled, Running
a Certain Calc Script on a Database with Many Dynamic Calc Members Crashes
the Application (15647, P7)
For a particular database, the application crashes during a calculation
with the the following calc script, with "Create Blocks on Equation" enabled:
Set cache high; Set Aggmissg On; Set Frmlbottomup On; Set Updatecalc off; Calc all;Spreadsheet Retrieval Causes Application Server Crash (15650, P7)
Supervisors are Unable to Log into the Application Using the Reserve
Port (15757, P7)
Supervisors are unable to log into the application using the reserve
port but users are successful in logging in through the reserve port.
Server Crash Occurs When Viewing Database Statistics (15783, P7)
A server crash occurs after selecting Database > Information > Statistics
tab in Application Manager.
Data Load from Certain Erroneous Data Files Crash the Server (16024,
P7)
Loading data from a data file containing duplicate member names (or
other errors) crashes the server.
The following problems are fixed in Patch 6.
In addition to two bug fixes, Patch 6 contained two new C Outline API functions, and one new structure. These support Enhanced Member Queries, and are needed for integration with Hyperion applications.
Data Load and Spreadsheet Add-in Retrievals Fail with "Unknown Member"
Errors, for Members that Exist (15580, 15581, P6)
A data load from a Lotus 1-2-3 file fails with an "Unknown Member"
error when it encounters a member name with an underscore in the data file.
Spreadsheet Add-in retrievals on aliases fail with an "Unknown Member"
for particular members in Excel, when the alias has spaces or underscores.
The following problems are fixed in Patch 5.
System Password Visible on HP-UX and Solaris Using ps -ef (9377,
P5)
Users can view the DB2 OLAP Server system password on HP-UX and Solaris
when using the ps (process status) utility with options -ef to
view a full listing of all current processes. With this patch, you can
hide the system password from the UNIX process listing by creating a shell
script through which to launch DB2 OLAP Server. For more information, see
UNIX
Secure Password Script.
Data Retrieval on Large Dimension Through Excel Spreadsheet Add-in
is Slow (12302, P5)
In the DB2 OLAP Server Version 1.1 Spreadsheet Add-in, data retrieval
on large dimensions in certain outlines takes longer than it did in Hyperion
Essbase Release 4.12.
Files Named With More Than 8 Characters Cannot be Opened (13770,
P5)
This fix requires a client upgrade. An attempt to open files with names
longer than 8 characters through the Application Manager returns an error
message.
Numerous Connections and Disconnections Could Result in Users Being
Logged Off (14465, P5)
Continual connections and disconnections through the Excel Spreadsheet
Add-in may result in users being randomly logged off of the server component.
ESSLANG Language-Environment Variable is Not Documented
(14499, P5)
Information about the ESSLANG environment variable is missing
from Version 1.1 documentation. English versions of DB2 OLAP Server are
already set by default to use the correct code page. For non-English versions
of the client and server, you need to set the ESSLANG variable
(which defines the code page) to be the same on both the client and the
server. The ESSLANG variable can be a user variable or a system
variable. If $ARBORPATH is defined as a system variable, create
ESSLANG
as a system variable also. If $ARBORPATH is defined as a user variable,
create ESSLANG as a user variable.
ESSLANG settings should follow this format: ESSLANG=<locale>
where <locale> is a supported Uniscape GlobalC locale of
the format
<Language>_<Country>.<code page name>@<sort order>
Here is an example of a Japanese ESSLANG environment variable
setting:
ESSLANG=Japanese_Japan.MS932@binary
Supported locales, and more information about code pages, are listed on the Uniscape page at: http://www.uniscape.com/technology/global_c_locales.htm
Replicated Partition Shows Incorrect Values when Aggregate Missing
Values is OFF (14317, 14319 P5)
After replicating data, if the Aggregate Missing Values option is disabled,
the target partition shows incorrect values. If the Aggregate Missing Values
option is enabled, then zeros were substituted for #MISSING values.
Dimension Build Using a Microsoft Access Data File and a Rules File
Fails (14506, P5)
This fix requires a client upgrade. A dimension build using a Microsoft
Access data file and a rules file fails when the dimension building field
names are defined in the Access data file.
Operations on Invalid Spreadsheets Cause Application to Shut Down
(14667, P5)
Particular operations on invalid spreadsheet views (ambiguous member
combinations) cause abnormal shutdowns of the application. With this patch,
the crashes are prevented and an error message is displayed.
Application Manager crashes When There is a Large Amount of Text
in the Area Definition of the Partition Wizard (14695, P5)
This fix requires a client upgrade. During partitioning, if the text
in the area definition is more than 4K, the Application Manager crashes
when validating or saving the partition definition.
With Low Virtual Memory, Restructuring All-Dense Databases Crashes
Application (14817, P5)
On certain systems with low virtual memory, loading and restructuring
a database with all dense dimensions causes the application to crash with
an "unable to reallocate memory" message. This fix prevents the
crash.
LISTLINKEDOBJECTS ESSCMD Returns Wrong Modification Date for the
Object (14959, P5)
This fix requires a client upgrade. The LISTLINKEDOBJECTS ESSCMD returns
an incorrect modification date after the date on the client and server
is changed to 2000.
LISTLINKEDOBJECTS and PURGELINKEDOBJECTS ESSCMDs Fail to Recognize
Leap Year 2/29 as Input for the modDate Parameter (14972, P5)
This fix requires a client upgrade. The LISTLINKEDOBJECT and PURGELINKEDOBJECT
ESSCMD commands do not recognize 02/29/2000 as a valid date input.
On NT with Certain Non-English Regional Settings, Excel Spreadsheet
Add-in Returns Failed in GCSetLocale() Error (15023, 15150, 14882
P5)
This fix requires a client upgrade. When running on NT with certain
non-English Regional Settings, the Spreadsheet Add-in returns a Failed
in GCSetLocale() error. With this fix, when DB2 OLAP Server runs on
NT configured with a Regional Setting for a language that is not supported
by GlobalC locales, it will (1) first try to use the operating system's
locales, or (2) failing that, give a warning message and default to English
(United States).
After Using the @PRIOR Function in a Calc Script, Database Statistics
Indicate that an Extra Level-0 Block Has Been Created (15035, P5)
The @PRIOR function used in a calc script (with Create Block on Equation
unchecked in Database Settings) may result in Database Statistics showing
an extra level-0 block.
A Calculation with Calculator Cache On Returns Different Values than
the Same Calculation Run with the Calc Cache Turned Off (15083, 14753 P5)
A calc script using arrays is calculated incorrectly when Calculator
Cache is used; for example, by including the following lines in the ESSBASE.CFG
file:
CALCCACHEHIGH 30000000 CALCCACHEDEFAULT 10000000 CALCCACHELOW 5000000The @ANCESTVAL Function Returns Wrong Values when Level References are Used (15108, P5)
When First Disk Volume has Too Little Space, Loading a Database Configured
with Multiple Disk Volumes Fails after Creation of First Index File (15122,
P5)
When a database is configured with multiple disk volumes and the creation
of that database's first index file fails due to lack of disk space, DB2
OLAP Server does not write to the remaining allocated disk volumes. The
problem does not occur if there is already at least one index file or if
there is so little disk free space on the first disk volume such that the
first index file cannot be created at its creation size of 2 Kb.
With the Excel Spreadsheet Add-in, Lock and Sends or Retrievals in
Certain Spreadsheets Cause the Application to Crash (15154, 15274, 15409,
15648 P5)
With the Excel Spreadsheet Add-in, certain lock and send or retrieval
operations cause the application to crash.
Renaming a Member and its Shared Member with OUTLINECHANGELOG TRUE
in the ESSBASE.CFG file Crashes the Application (15232, P5)
After renaming a member and its shared member with outline change logging
turned on, saving the outline crashes the application.
Using Member Select by Generation Name Causes Application Crash (15342,
P5)
In the Spreadsheet Add-in, using Member Select to view members by generation
name when the members are Dynamic Time Series (DTS) or shared causes the
application to shutdown.
In Some Scenarios, Calculation of Dense Dynamic Calc Members May
be Incorrect in Excel Spreadsheet Add-in Retrievals (15357, P5)
Dense dynamic calculations sometimes produce incorrect results during
data retrieval in Spreadsheet Add-in.
Dynamic Calc with Time Balance Last Returns Incorrect Values (15416,
15418 P5)
Time Balance Last account totals for dynamically calculated periods
show incorrect values under the following conditions:
1. The Time dimension is sparse
2. No data exists for some of the members (for example, Qtr4) that
roll up into the dynamicaly calculated periods.
The following problems are fixed in Patch 4.
On UNIX, HTML Documentation has Broken Links and Missing Graphics
(P4)
On UNIX, the online Technical Reference and API Reference
documents contain broken links and missing graphics. To fix this problem,
you must choose Yes to install the HTML docs as part of your API installation.
Current Time Displays Only Day and Year in the Japanese Version of
DB2 OLAP Server Application Manager. (14198, P4)
The date display for the Japanese version of the DB2 OLAP Server Application
Manager excludes the month.
The Application Manager Crashes if a Substitution Variable in a Calc
Script Exceeds the Maximum Number of Characters (14200, P4)
An attempt to perform a syntax check on a Calc Script containing a
substitution variable with more than 256 characters crashes the Application
Manager.
Report Scripts Freeze When Launched from the Server Using the ESSCMD
RUNREPT Command (14263, P4)
An attempt to run a report script on a remote server from ESSCMD fails
because of a file input/output problem on the server.
LOGOUTUSER Agent Command Doesn't Log Out the Specified User (14413,
P4)
When an administrator issues the LOGOUTUSER command against an active
user, the Agent window reports that the user is not logged in. Other users
are incorrectly logged out.
Long URL as Linked Reporting Object on a Data Cell Won't Truncate,
and Causes the Spreadsheet to Crash (14501, P4)
This fix requires a client upgrade. A long URL (in this case, a URL
with about 300 characters) attached to a cell as a Linked Reporting Object
won't truncate. If other LROs are attached to the same cell, the spreadsheet
crashes when you select Essbase|Linked Objects for that cell.
The EsbGetActive Function Truncates Database Names by One Character
(14510, P4)
The API function, EsbGetActive, truncates database names to seven characters
even though the limit is set to eight characters.
Unable to Reallocate Memory when Restructuring an Outline (14531,
P4)
Restructuring certain large outlines fails with a memory allocation
error.
Calc Script with Formula Assigned to a Member on a Sparse Dimension
Returns Wrong Result with the "Create Blocks on Equation" Option Enabled
(14554, P4)
A formula in a calc script that calculates a regular member on a sparse
dimension member that has Dynamic Calc children (for example, Year
= Qtr1 + Qtr2, where Qtr1 and Qtr2 are Dynamic Calc)
returns a value of 0 instead of the calculated value. This problem occurs
when the "Create Blocks on Equation" option is checked.
Users Can Add Members to a Group Beyond their Privileges, and the
Members Disappear (14606, 14433 P4)
A User with only Create/Delete Users privilege can add members to a
group with Application Designer privilege for Sample Basic, but the members
disappear from the group's list of members. With this fix, users who attempt
to add members to a group with higher privileges, or to a group created
by a supervisor, will get an error message.
Default Calc using @PARENTVAL in a Formula on a Dynamic Calc Member
Crashes the Application when Dynamic Time Series Members are Enabled (14635,
P4)
When the @PARENTVAL function is used in a formula on a Dynamic Calc
member to calculate a particular database that has Dynamic Time Series
members enabled, the application shuts down abnormally.
Member Names in Outline Cannot Be Edited Using Ctrl + X, C, and V
Keys (14716, P4)
This fix requires a client upgrade. Outline member names could be cut,
copied, and pasted using the Windows standard Ctrl + key combinations
in DB2 OLAP Server Version 1.0.1, but not in Version 1.1.
DISABLELOGIN Prevents Application Connections by Users with Application
Designer Privileges (14812, P4)
Issuing the DISABLELOGIN ESSCMD command prevents users with Application
Designer privileges from making certain connections to the application:
for example, an error is returned after the GETDBSTATE ESSCMD command is
issued from within a batch program.
ESSCMD Doesn't Work on Solaris After Customizing the Path to the
Message Database using ARBORMSGPATH Variable (14836, P4)
ESSCMD returns an error "can't init database" on Solaris 2.6
when the ARBORMSGPATH environment variable is used in the .cshrc
file.
Dynamic Calculation Functions Incorrectly When Level-0 Members are
Removed (14843, P4)
The @ACCUM function, when applied to a Dynamic Calc member, may yield
incorrect results if the query specifies only part of the defined range.
Importing an Outline Does Not Work in the DB2 OLAP Server Version
1.1 Application Manager (14862, P4)
This fix requires a client upgrade. Selecting Import|Outline after
exporting it and deleting the members fails to restore the outline.
Data Load Stops, or is Incomplete for Other Records, After a Faulty
Record is Encountered in the Input File (14873, 14597 P4)
A data load terminates after encountering a record containing duplicate
members from the same dimension. Unless "Abort on Error" is Selected, the
data load should continue, but generate errors for the faulty records.
Outline of Data Target is Not Synchronized when Members are Rearranged
(14874, P4)
Rearrangement of members in the data source outline may not be reflected
accurately in the data target outline after synchronization.
Selecting a Dynamic Time Series Member from List Box Causes Application
Manager to Crash (14905, P4)
This fix requires a client upgrade. On a particular outline, selecting
a D-T-S member to disable (for example, Y-T-D) in Application Manager's
Dynamic Time Series Member Information dialog box causes Application Manager
to crash.
Server Crashes When Creating or Migrating a Large Number of .PAG
Files (14931, P4)
When the server is creating or migrating .PAG files, if the
number of .PAG files exceeds 99 on Windows NT, or 82 on UNIX,
the server crashes.
The following problems are fixed in Patch 3.
Objects Download Fails if there is no /LOCALE Directory
(11383, P3)
With this patch, users of Objects and API programs no longer need a
separate /LOCALE directory for the .NLS (National Language
Support) files. Those files can be kept in the directory containing the
application program.
In a Particular Outline, a Non-Consolidating Member is Included in
the Calculation (12011, P3)
The data value associated with a Dynamic Calc, non-consolidating member
(labeled with the "~" operator) is incorrectly incorporated into a default
calculation.
Column Adjustment Occurs on Active Sheet Instead of the one Specified
by EssVRetrieve Macro (12668, P3)
This fix requires a client upgrade. The EssVRetrieve Spreadsheet Toolkit
macro retrieves into the correct Excel sheet, but column widths are adjusted
in the active sheet.
Agent Crashes after Second Startup with Certain non-English NT Regional
Settings (12813, P3)
With Certain non-English NT Regional Settings, the Agent crashes after
you start it a second time.
Long PATH Variables are Truncated During Server Installations on
Windows NT and Windows 95/98 (13005, P3)
Long PATH variables (>255 characters) are truncated when you install
the server component on windows NT, Windows 95, or Windows 98. With this
fix, the environment is updated only when necessary. If the updated value
would be too long, no update occurs, and there is an informational message.
EsbGetFilterList API Function Appends String to Normal Return Value
(13059, P3)
The API function EsbGetFilterList returns an unknown string at the
end of the list of users.
A Constant is Missing from Visual Basic API Header File (13212, P3)
The ESB_OBJTYPE_NONE constant is not declared in the Visual Basic header
file, Esb32.bas.
Incorrect Retrieval in Spreadsheet Layout with Unknown Member (13534,
P3)
The first retrieval on a particular sheet with an unknown member puts
incorrect data in other rows below the unknown member. The second retrieval
is correct.
Solaris Server Crashes when you View the Application Event Log in
Application Manager (13667, P3)
On a Solaris server, viewing the application event log by date in Application
Manager causes a core-dump crash.
Updated Message File for Relational Storage Manager (13730, P3)
The message database file has been updated with two new messages.
DB2 OLAP Server Version 1.1 Will Not Install on Solaris 2.7 (13863,
P3)
With this patch, DB2 OLAP Server Version 1.1 is installable and supported
on the Solaris 2.7 operating system on Sun SPARC or ULTRASPARC machines.
Calc Script Editor Tab Settings Increased from Version 5.0.1 (14021,
P3)
This fix requires a client upgrade. Tab settings in Calc Script Editor
increased from version 5.0.1 to version 5.0.2, affecting on-screen script
readability. This fix decreases the tab setting.
Cell Note Disappears after Outline Restructure (14174, P3)
Following an outline restructure, a cell note is no longer visible
in the Linked Objects Browser of Application Manager, or Excel Spreadsheet
Add-in.
Application Not Successfully Deleted from DB2 OLAP Server Looks as
if were Deleted in Application Manager (14275, P3)
DB2 OLAP Server removes the App folder and the security file
entry for an application after a DB2 function, EssSmAppDelete(), fails
to delete the application.
On Solaris Server, Drill-Down on Japanese Member in Spreadsheet Returns
Incorrect Results (14333, P3)
With a Solaris server, a particular spreadsheet query with aliases
using Japanese characters returns incorrect results.
Target with Mixed Source Partitions Takes Longer to Calculate after
Migration to 5.0.2 (14363, P3)
A target database with twelve source partitions takes longer to calculate
in version 5.0.2.
When Users try to Add Members to a Group Beyond their Privileges,
a Warning is not Displayed (14433, P3)
A User with Create/Delete Users privilege can add members to a group
having higher security privileges. The members seem to be added, only to
disappear from the group's list of members. An error message appears only
in the log file. This fix provides an error message that informs the user
that members cannot be added to a group with higher privileges.
Dimension Building Fails for Members with Certain Japanese Characters
in the Alias (14335, P3)
Dimension building with members using certain Japanese characters in
the alias fails with one of these error messages:
Incorrect Syntax For Member xxxxx (3305)
Error adding alias (xxxxx) to member xxxxxx (3319)
<DIMBOTTOM Report Writer Command Doesn't Work on Parent of Shared
Members (14464, P3)
With some outlines, using <DIMBOTTOM to extract shared members into
a report returns incorrect results: the level-0 members are not shown.
The following problems are fixed in Patch 2.
EssGGetMemberInfo does not return the members correctly on HPUX and
AIX (12089, P2)
EssGGetMemberInfo returns the wrong member list when the parameter
for children is specified.
Creation of Applications Fails in Application Manager (12376, P2)
Creation of applications fails in Application Manager with "Unable
to Create application". This occurs because no App directory
was created during the installation process. This problem applies only
if it's a new installation (not an upgrade) and the "install sample applications"
option is NOT checked.
Application Manager Missing CTL3D32.DLL on Minimal WinNT 4.0 Server
Installations (12692, P2)
Application Manager fails to start on NT 4.0 with a minimal Windows
NT installation, because CTL3D32.DLL is missing.
BEGINARCHIVE Doesn't List Spreadsheet Audit Files in the Backup File
List (12726, P2)
After executing the BEGINARCHIVE ESSCMD to place a database in Read-Only
mode, the database's .ALG and .ATX files do not appear
in the backup list created.
Column Headers Missing for Integration Server Drill-through Reports
in Excel (12779, P2)
In the Excel Spreadsheet Add-in, an Integration Server Drill-through
report returns the data without column headers.
EssOtlGetMemberInfo Doesn't Return a Member's Total Number of Children
(12905, P2)
In the Outline API, the ulChildCount field in the ESS_MBRINFO_T
structure doesn't work for the EssOtlGetMemberInfo function.
Partition Validation Returns "Dimension Count Mismatch" Error (12999,
P2)
A "Dimension count mismatch" error message is incorrectly returned
on validation of a working partition with the outline correctly mapped.
Callback Function for Outline Restructuring returns Incorrect Results
(13039, P2)
An Essbase callback function (adSmOtlMbrGetId) for outline restructuring
may return the wrong information.
On Solaris, Calculating a Particular Database Subset Causes Application
Shutdown (13132, P2)
On Solaris, calculating a particular member with the @IDESCENDANTS
function within a FIX...ENDFIX command block causes an abnormal shutdown
of the application.
Partition Validation Fails Unless the Member Names are Double-Quoted
(13204, P2)
Unless member names are double-quoted, partition validation fails with
an "invalid member" message.
The following problems are fixed in Patch 1.
Two New API Functions Documented but not Implemented (P1)
The online API Reference documents two new C main functions,
EssBeginDataload and EssEndDataload, which are not implemented in Version
502. These are included with Patch 1.
In the Japanese Version of DB2 OLAP Server, Formulas on Japanese Outline Members Are Deleted After Outline Updating (8685, P1) In the Japanese version of DB2 OLAP Server, when a formula is attached to a Japanese member of the outline, the formula is deleted after the outline is updated with the "Update Outline" in the Outline Editor.
Certain Queries Fail in Spreadsheet Add-in When "Repeat Member Labels"
Option Is Enabled (8968, 8984, 9087, 9291, 11672, P1)
When the "Repeat Member Labels" option is enabled in the Spreadsheet
Add-in, certain types of queries (retrievals, pivots, and zooms) fail and
return error messages.
DB2 OLAP Server Cannot Create a Database Using Certain Japanese Characters
(8989, P1)
Error messages occur when you use the CREATEDB command in an
ESSCMD script to create a database named with certain Japanese characters.
#MISSING Values Don't Aggregate Properly after Moving Child Members
in an Outline (9338, P1)
In certain outlines, when SET AGGMISSG is ON, after moving all children
of one parent to another parent in the same dimension, and then calcuating
the database with SET UPDATECALC OFF and CALC ALL, the spreadsheet
shows that the parent with the removed children retains the original value
(instead of having an updated value of #MISSING).
User with Application Designer Privilege and Create/Delete Applications
Privilege Cannot Copy Applications (11456, P1)
A user with Application Designer privilege and Create/Delete Applications
Privilege cannot copy applications.
EssGUpdateLRO Returns Error for Linked URLs (11491, P1)
The EssGUpdateLRO GRID API function works properly for files and cell
notes, but returns the following error for linked URLs:
[Invalid object option for URL link entered - 3 ]DB2 OLAP Server Fails to Start on NT when the Regional Setting is "Polish" or "English (New Zealand)" (11507, 11945 P1)
Database Queries Following Certain Calculations Crash the Server
(11518, P1)
Following certain calculations using the "Aggregate Missing Values"
and "Create Blocks on Equations" options (boxes checked in Database|Settings),
database queries crash the server.
Patch 1 fixes the problem and provides an enhanced crash recovery for
databases affected by this bug only. To avoid starting over with an empty
or backup database, install Patch 1, leaving the crashed, pre-Patch 1 database
in place. Then re-select the database.
Note: If you do not install Patch 1 before reselecting the database,
then crash recovery will run into the same problem.
Free Form Retrieval in Excel Incorrectly Interprets Very Large or
Small Values (11528, P1)
When Free Form mode is enabled in the Spreadsheet Add-in for Excel,
a retrieval on a very large or very small number incorrectly returns numeric
values as text strings. For example, a retrieval on 0.000005 incorrectly
returns 5e-006 as a left-justified text value.
Time Balance "Last" Tag Returns Incorrect Values for Upper-Level
Time Dimension Members (11570, P1)
The Time Balance "Last" tag returns incorrect values for upper-level
Time dimension members if the last child member has a (~) (non-rollup)
sign attached to it.
Integration Server Drill-Through Report Execution Returns Error Message
(11648, P1)
On UNIX operating systems, when you attempt to execute an Integration
Server Drill-Through report from the Spreadsheet Add-in, the report fails
and DB2 OLAP Server returns an Invalid Login String message.
CCONV Calc Command Incorrectly Sets Data to #MISSING (11779,
P1)
In certain calc scripts, the CCONV calculation command sets data to
#MISSING
if the associated currency database outline contains Dynamic Calc members.
Retrieval on Dynamic Calc Members with Formulas Causes Infinite Loop
of Messages on Server Window (11791, P1)
In the spreadsheet, if you manually enter names of Dynamic Calc members
that have member formulas, and then do a Retrieve, an infinite loop of
messages (tried to read below bottom of stack in cpop(stk)) appears
in the server window.
Validate in ESSCMD Produces an "LRO free catalog page" Error Following
Sparse Restructuring of a Database with LROs (11859, P1)
Validate in ESSCMD produces an "LRO free catalog page" error
following sparse restructuring of a database with LROs.
A #MISSING Value for a Child Member Does Not Consolidate after Lock
and Send (11929, P1)
A #MISSING value for a child member in a particular outline
fails to consolidate following a spreadsheet lock and send. A retrieval
should show the new parent value as #MISSING.
Essbase Cannot Create a Database with '&' as Part of the Database
Name (11977, P1)
In ESSCMD or Application Manager, when you try to create a database
that has an '&' symbol as part of the database name, Essbase generates
an error 1019002 - unable to create database.
Particular Calculation Scenario Crashes the Server (12018, P1)
When a member formula contains the @PRIOR function, and the
member which uses the formula is calculated twice in a calc script, the
application server crashes.
Zoom In with Repeat Member Labels Distorts Spreadsheet View (12347,
12348, P1)
When the "Repeat Member Labels" option is enabled in the Spreadsheet
Add-in, zooming in on certain members distorts the spreadsheet view, and
error messages are displayed.
Pivoting Columns with Repeat Member Labels Distorts Spreadsheet View
(12385, P1)
When the "Repeat Member Labels" option is enabled in the Spreadsheet
Add-in, pivoting column headings distorts the spreadsheet view.
Application Manager Doesn't Run when Installed on a Minimal Windows
NT machine (12692, P1)
Application Manager doesn't run when installed on a minimal Windows
NT machine. CTL3D32.DLL, a required file, is not on the minimal machine.
Filename | Contents | Comments |
---|---|---|
11fp9nt.zip
(Windows NT, Windows 95) |
Windows NT Server
Windows SQL Interface Windows API |
27.2mb |
11fp9aix.tar
(AIX) |
AIX Server
AIX SQL Interface AIX API |
21.8mb |
11fp9sol.tar
(Sun Solaris) |
Solaris Server
Solaris SQL Interface Solaris API |
15.6mb |
STEP 2: Download the following file, regardless of your national language,
to a temporary directory on the machine on which you have installed the
clients:
Filename | Contents | Comments |
---|---|---|
11fp9us.zip | Application Manager
Spreadsheet add-in for Excel Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through Adobe/English |
15.6mb |
If your language is U.S. English, you can start unpacking the files now, and skip step 3. If you use another national language, proceed to Step 3.
STEP 3: If you use a national language other than U.S. English, download
one of the following files, depending on your language, to the machine
on which you have installed the clients:
Filename | Contents | Comments |
---|---|---|
11fp9br.zip
(Portuguese, Brazilian) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9cn.zip
(Chinese, Simplified) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9cz.zip
(Czech) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9de.zip
(German) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9es.zip
(Spanish) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9fr.zip
(French) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9hu.zip
(Hungarian) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9it.zip
(Italian) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9jp.zip
(Japanese) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9kr.zip
(Korean) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9ru.zip
(Russian) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
11fp9tw.zip
(Chinese, Traditional) |
Spreadsheet add-in for Excel
Spreadsheet add-in for Lotus 1-2-3 SQL Drill-Through |
29.7mb |
tar -xvf tar-file-name
Please enter the path of your 'license.id' file (/home/essbase/bin/):
If you have a license.id file for a previous version, and if you installed the previous version the default directory, then press Enter to accept the default. If you installed the previous version in a different directory, enter that directory.
If you do not have a license.id file, exit the installation program
and run the license program (license.sh or license.exe) from the installation
directory of your previous version. The license program generates the license.id
file after you answer its licensing questions.
#!/bin/sh PASS=$1 ESSBASE -b -secure << EOF & ${PASS} EOFAfter creating this script, launch the Agent as follows to start it in the background with <password> secured from process listing details:
essbase.secure <password>
Database Server (Client) | NT 4.0 | AIX 4.3 | Solaris 2.6 | HP-UX 10.20 |
---|---|---|---|---|
DB2 5.0 (CAE 5.0) | X | X | X | - |
DBASE V | X | - | - | - |
Informix 7.22 (Client SDK 2.01) | X | - | - | - |
Microsoft SQL Server 6.5.201 | X | N/A | N/A | N/A |
Oracle 7.3.3 (SQL Net 2.3.3) unless specified. | - | X | X | X (2.3.4) |
Oracle 8.0.4 (SQL Net 8.0) | X | - | X | - |
Sybase 11.5 (Open Client 11.1.1) | X | X | X | - |
Database Server (Driver and Client) | NT 4.0 | AIX 4.3 | Solaris 2.6 | HP-UX 10.20 |
---|---|---|---|---|
Access 97 (Microsoft Driver) | X | - | - | - |
DB2 5.0 (IBM Driver, CAE 5.0) | - | X | - | - |
DBASE V (Microsoft driver) | X | - | - | - |
Microsoft SQL Server 7 (Microsoft driver) | X | N/A | N/A | N/A |
Oracle 8.0.4 (Oracle driver, SQL Net 8.0) | X | - | - | - |
EssOtlQueryMembersEx returns extended information
on specific members.
EssOtlGetMemberField retrieves specific fields
of a member.
ESS_OTLQUERYERRORLIST_P stores a list of
errors encountered during an extended member query.
EssOtlQueryMembersEx() queries the outline for specific members and member fields, and returns an array of member handles. The returned member handles can be used with other Outline API functions such as EssOtlGetMemberInfo(). (EssOtlGetMemberInfo() can retrieve any of the individual fields contained in ESS_MEMBERINFO_T and ESS_MBRINFO_T.)
ESS_FUNC_M EssOtlQueryMembersEx (hOutline, pszFieldSelection, pszMemberSelection, pMaxCount, ppMemberArray, ppqryErrorList)
ESS_HOUTLINE_T | hOutline |
ESS_STR_T | pszFieldSelection |
ESS_STR_T | pszMemberSelection |
ESS_PULONG_T | pMaxCount |
ESS_PPHMEMBER_T | ppMemberArray |
ESS_PPOTLQUERYERRORLIST_T | ppqryErrorList |
hOutline | Essbase outline handle. This must have been returned from EssOtlOpenOutlineQuery(). |
pszFieldSelection | The query string which defines the set of fields that will be returned for each member. The syntax of pszFieldSelection is shown below. |
pszMemberSelection | The query string which defines the set of members to be returned. The syntax of this query string is the syntax for member selection; that is, the query string can be anything that you can use in a FIX() statement. |
pMaxCount | Input: A pointer to the maximum number of member handles to be returned.
Output: A pointer to the number of member handles returned. |
pphMemberArray | Reference to a pointer to the first in an array of member handles returned. |
ppQueryErrorList | Reference to a pointer to a structure containing the list of errors in the query. |
The return value is zero if the function was successful.
The syntax of pszFieldSelection is the following:
QueryString ==: <OutputType Binary | Text <SelectMbrInfo ( FieldName {, FieldName}, ... ) where FieldName is one of the following: MemberName /* Member name */ MemberLevel /* Member level number */ MemberGeneration /* Member generation number */ Cosolidation /* Whether this member is consolidated */ TwoPass /* Whether this member undergoes a two pass operation */ Expense /* Whether this is an expense member */ CurrencyConvType /* Currency conversion type */ CurrencyMember /* Whether this is a currency member */ TimeBalance /* Time balance measure */ SkipOption /* Whether this member skips the time balance operation */ ShareOption /* Whether this is a shared member*/ StorageType /* Dimension's storage type */ DimensionCategory /* Dimension category: accounts, time, currency, etc. */ DimensionStorageCategory /* Dimension storage category: time, units, scenario, etc. */ Comment /* Member comment */ ChildrenCount /* Number of children */ MemberNumber /* Member number */ DimensionName /* Dimension name */ DimensionNumber /* Dimension number */ MemberAliasName /* Alias for this member */ ParentMemberName /* Parent's name */ ChildMemberName /* Child's name */ PreviousMemberName /* Left sibling's name */ NextMemberName /* Right sibling's name */ CurrencyConversionDatabase /* Whether this database has currency conversion */ MemberStatus /* Member status */ UDAList /* List of UDAs attached to this member */ MemberFormula /* Formula for this member */ MemberValidity /* Whether this member is valid */
The following code snippet return the name, consolidation and formula for each menmber which is a child of Market or a child of Product. Upon return, MaxCount contains the number of members returned, and phMemberArray contains the array of handles for the set of members returned. Further Outline API calls allow interrogation of the members using the returned array of member handles in phMemberArray.
member_fields = "<OutputType Binary <SelectMbrInfo ( MemberName, Consolidation, MemberFormula ) "; member_selection = "@ichild(Product), @ichild(Market)"; MaxCount = -1; phMemberArray = ESS_NULL; pqryErrorList = ESS_NULL; sts = EssOtlQueryMembersEx(hOutline, member_fields, member_selection, &MaxCount, &phMemberArray, &pqryErrorList); if (sts != 0) goto error_exit;See Extended Member Query for an example that uses EssOtlQueryMembersEx(), EssOtlGetMemberField(), and ESS_OTLQUERYERRORLIST_T, and includes calls to EssOtlFreeMembers() and EssFree().
EssOtlGetMemberField() returns data for the specified field of a specified outline member.
ESS_FUNC_M EssOtlGetMemberField(hOutline, hMember, MbrFieldID, ppFieldElement);
ESS_HOUTLINE_T | hOutline |
ESS_HMEMBER_T | hMember |
ESS_ULONG_T | MbrFieldID |
ESS_PPVOID_T | ppFieldElement |
hOutline | Essbase outline handle. This must have been returned from EssOtlOpenOutlineQuery(). |
hMember | Member handle returned by EssOtlQueryMembersEx(). |
MbrFieldID | One of the following member field identifier constants:
ESS_OTLQRYMBR_NONE ESS_OTLQRYMBR_NAME ESS_OTLQRYMBR_LEVEL ESS_OTLQRYMBR_GENERATION ESS_OTLQRYMBR_CONSOLIDATION ESS_OTLQRYMBR_TWOPASS ESS_OTLQRYMBR_EXPENSE ESS_OTLQRYMBR_CURRENCYCONVTYPE ESS_OTLQRYMBR_CURRENCYCONVNAME ESS_OTLQRYMBR_TIMEBALANCE ESS_OTLQRYMBR_SKIP ESS_OTLQRYMBR_SHARE ESS_OTLQRYMBR_STORAGE ESS_OTLQRYMBR_CATEGORY ESS_OTLQRYMBR_STORAGECATEGORY ESS_OTLQRYMBR_COMMENT ESS_OTLQRYMBR_CHILDCOUNT ESS_OTLQRYMBR_NUMBER ESS_OTLQRYMBR_DIMNAME ESS_OTLQRYMBR_DIMNUMBER ESS_OTLQRYMBR_ALIASNAME ESS_OTLQRYMBR_NEXTNAME ESS_OTLQRYMBR_PREVNAME ESS_OTLQRYMBR_PARENTNAME ESS_OTLQRYMBR_CHILDNAME ESS_OTLQRYMBR_UDA ESS_OTLQRYMBR_FORMULA ESS_OTLQRYMBR_LASTFORMULA ESS_OTLQRYMBR_EXTCOMMENT ESS_OTLQRYMBR_ALIASCOMBO ESS_OTLQRYMBR_VALID ESS_OTLQRYMBR_CURRENCYCONVDB ESS_OTLQRYMBR_STATUS ESS_OTLQRYMBR_MBRINFO |
ppFieldElement | Returned pointer to the required field element. |
The return value is zero if the function call was successful.
See Extended Member Query for an example that uses EssOtlQueryMembersEx(), EssOtlGetMemberField(), and ESS_OTLQUERYERRORLIST_T, and includes calls to EssOtlFreeMembers() and EssFree().
typedef struct ESS_OTLQUERYERRORLIST_T { ESS_ULONG_T ulCount; ESS_OTLQUERYERROR_T* ErrorArray; } ESS_OTLQUERYERRORLIST_T, *ESS_POTLQUERYERRORLIST_T, **ESS_PPOTLQUERYERRORLIST_T;
Data Type | Field | Description |
ESS_ULONG_T | ulCount | Number of errors returned during a query |
ESS_OTLQUERYERROR_T* | ErrorArray | Pointer to an array of errors returned during a query |
#include <windows.h> #include <essapi.h> #include <essotl.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #define AD_CHK_PRINTF_1(ARG1, ARG2) do { printf(ARG1, (ARG2) ? (ARG2) : "NullValue"); } while (0) void PrintResult(ESS_HCTX_T hCtx, ESS_HINST_T hInst, ESS_HOUTLINE_T hOutline, ESS_HMEMBER_T hMbr) { ESS_PMBRINFO_T pMbrInfo = NULL; ESS_STS_T sts; int size; ESS_STR_T pszFormula = NULL; ESS_STR_T pszLastFormula = NULL; ESS_STR_T pszCommentEx = NULL; ESS_STR_T pszAlias = NULL; ESS_STR_T pszAliasCombo = NULL; ESS_PMBRNAME_T pUDAList = NULL; ESS_USHORT_T iCount = 0; ESS_STR_T pszPrev = NULL; ESS_USHORT_T iIndex; ESS_ULONG_T* pMemNum; ESS_ULONG_T* pDimNum; ESS_STR_T pDimName = NULL; ESS_STR_T pAliasName = NULL; ESS_STR_T pNextName = NULL; ESS_STR_T pPrevName = NULL; ESS_STR_T pParentName = NULL; ESS_STR_T pChildName = NULL; ESS_BOOL_T* pCurrConv = NULL; ESS_ULONG_T* pStatus = NULL; sts = EssOtlGetMemberInfo(hOutline, hMbr, &pMbrInfo); if (sts != 0) goto Error; size = sizeof(ESS_MBRINFO_T); printf("MbrInfo\n"); AD_CHK_PRINTF_1(" szMember --------------->(%s)\n", pMbrInfo->szMember); printf(" usLevel --------------->(%hd)\n", pMbrInfo->usLevel); printf(" usGen ----------------->(%hd)\n", pMbrInfo->usGen); printf(" usConsolidation ------->(%hd)\n", pMbrInfo->usConsolidation); printf(" fTwoPass -------------->(%hd)\n", pMbrInfo->fTwoPass); printf(" fExpense -------------->(%hd)\n", pMbrInfo->fExpense); printf(" usConversion ----------->(%hd)\n", pMbrInfo->usConversion); AD_CHK_PRINTF_1(" szCurMember ------------>(%s)\n", pMbrInfo->szCurMember); printf(" usTimeBalance ---------->(%hd)\n", pMbrInfo->usTimeBalance); printf(" usSkip ----------------->(%hd)\n", pMbrInfo->usSkip); printf(" usShare ---------------->(%hd)\n", pMbrInfo->usShare); printf(" usStorage -------------->(%hd)\n", pMbrInfo->usStorage); printf(" usCategory ------------->(%hd)\n", pMbrInfo->usCategory); printf(" usStorageCategory ------>(%hd)\n", pMbrInfo->usStorageCategory); AD_CHK_PRINTF_1(" szComment -------------->(%s)\n", pMbrInfo->szComment); printf(" ulChildCount ----------->(%ld)\n", pMbrInfo->ulChildCount); sts = EssOtlGetMemberFormula(hOutline, hMbr, &pszFormula); if (sts) printf("sts=%d ", sts); AD_CHK_PRINTF_1("szFormula ------------------>(%s)\n", pszFormula); sts = EssOtlGetMemberLastFormula(hOutline, hMbr, &pszLastFormula); if (sts) printf("sts=%d ", sts); AD_CHK_PRINTF_1("szLastFormula -------------->(%s)\n", pszLastFormula); sts = EssOtlGetMemberCommentEx(hOutline, hMbr, &pszCommentEx); if (sts) printf("sts=%d ", sts); AD_CHK_PRINTF_1("szCommentEx ---------------->(%s)\n", pszCommentEx); sts = EssOtlGetMemberAlias(hOutline, hMbr, ESS_NULL, &pszAlias); if (sts) printf("sts=%d ", sts); AD_CHK_PRINTF_1("szAlias (Default)----------->(%s)\n", pszAlias); sts = EssOtlGetNextAliasCombination(hOutline, hMbr, ESS_NULL, "\0", &pszAliasCombo); if (sts) printf("sts=%d ", sts); printf("szAliasCombo ::\n" ); pszPrev = pszAliasCombo; while (sts && pszAliasCombo) { AD_CHK_PRINTF_1("\t(%s)\n", pszAliasCombo); sts = EssOtlGetNextAliasCombination(hOutline, hMbr, ESS_NULL, pszPrev, &pszAliasCombo); EssFree(hInst, pszPrev); pszPrev = pszAliasCombo; } sts = EssOtlGetUserAttributes(hOutline, hMbr, &iCount, &pUDAList); if (sts) printf("sts=%d ", sts); printf("User Defined Attributes ::\n"); for(iIndex = 0; iIndex < iCount; iIndex++) AD_CHK_PRINTF_1("\t(%s)\n", pUDAList[iIndex]); sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_NUMBER, (ESS_PPVOID_T) &pMemNum); if (sts) { printf("sts=%d ", sts); } else { printf("Member Number ------------------>(%ld)\n", *pMemNum); EssFree(hInst, pMemNum); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_DIMNUMBER, (ESS_PPVOID_T) &pDimNum); if (sts) { printf("sts=%d ", sts); } else { printf("Dimension Number ---------------->(%ld)\n", *pDimNum); EssFree(hInst, pDimNum); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_DIMNAME, (ESS_PPVOID_T) &pDimName); if (sts) { printf("sts=%d ", sts); } else { AD_CHK_PRINTF_1("Dimension Name ------------------>(%s)\n", pDimName); EssFree(hInst, pDimName); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_ALIASNAME, (ESS_PPVOID_T) &pAliasName); if (sts) { printf("sts=%d ", sts); } else { AD_CHK_PRINTF_1("Alias Name ------------------>(%s)\n", pAliasName); EssFree(hInst, pAliasName); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_NEXTNAME, (ESS_PPVOID_T) &pNextName); if (sts) { printf("sts=%d ", sts); } else { AD_CHK_PRINTF_1("Next Mbr Name ------------------>(%s)\n", pNextName); EssFree(hInst, pNextName); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_PREVNAME, (ESS_PPVOID_T) &pPrevName); if (sts) { printf("sts=%d ", sts); } else { AD_CHK_PRINTF_1("Prev Mbr Name ------------------>(%s)\n", pPrevName); EssFree(hInst, pPrevName); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_PARENTNAME, (ESS_PPVOID_T) &pParentName); if (sts) { printf("sts=%d ", sts); } else { AD_CHK_PRINTF_1("Parent MbrName ------------------>(%s)\n", pParentName); EssFree(hInst, pParentName); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_CHILDNAME, (ESS_PPVOID_T) &pChildName); if (sts) { printf("sts=%d ", sts); } else { AD_CHK_PRINTF_1("Child Mbr Name ------------------>(%s)\n", pChildName); EssFree(hInst, pChildName); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_CURRENCYCONVDB, (ESS_PPVOID_T) &pCurrConv); if (sts) { printf("sts=%d ", sts); printf("Curr Conv Type ------------------>\n"); } else { AD_CHK_PRINTF_1("Curr Conv Type ------------------>(%ld)\n", *pCurrConv); EssFree(hInst, pCurrConv); } sts = EssOtlGetMemberField(hOutline, hMbr, ESS_OTLQRYMBR_STATUS, (ESS_PPVOID_T) &pStatus); if (sts) { printf("sts=%d ", sts); printf("Status ------------------>\n"); } else { printf("Status ------------------>(%hd)\n", *pStatus); EssFree(hInst, pStatus); } EssFree(hInst, pMbrInfo); EssFree(hInst, pszFormula); EssFree(hInst, pszLastFormula); EssFree(hInst, pszCommentEx); EssFree(hInst, pszAlias); EssFree(hInst, pszAliasCombo); return; Error: printf("******************* Error *************************"); } int TestCode_EssOtlQueryMembersEx(ESS_HCTX_T hCtx, ESS_HINST_T hInst) { ESS_STS_T sts = ESS_STS_NOERR; ESS_HOUTLINE_T hOutline; ESS_OBJDEF_T Object; ESS_HMEMBER_T hMember = 0; ESS_PHMEMBER_T phMemberArray = ESS_NULL; ESS_ULONG_T i; unsigned long MaxCount = -1; ESS_STR_T member_fields; ESS_STR_T member_selection; /* query string to get level numbers of all markets members */ member_fields = "<OutputType Binary <SelectMbrInfo ( MemberName, MemberLevel,Consolidation, MemberFormula ) "; member_selection = "@ichild(Product), @ichild(Market)"; memset(&Object, '\0', sizeof(Object)); Object.hCtx = hCtx; Object.ObjType = ESS_OBJTYPE_OUTLINE; Object.AppName = "Basic"; Object.DbName = "Demo"; Object.FileName = "Demo"; sts = EssOtlOpenOutlineQuery(hCtx, &Object, &hOutline); if (sts) goto exit; if(!sts) { ESS_POTLQUERYERRORLIST_T pqryErrorList; sts = EssOtlQueryMembersEx(hOutline, member_fields, member_selection, &MaxCount, &phMemberArray, &pqryErrorList); if (sts) goto exit; if (phMemberArray) for (i = 0; i< MaxCount; i++) PrintResult(hOutline, phMemberArray[i]); } if(MaxCount && phMemberArray) { sts = EssOtlFreeMembers(hOutline, MaxCount, phMemberArray); if (sts) printf("EssOtlFreeMembers sts = %d\n",sts); } sts = EssOtlCloseOutline(hOutline); exit: return sts; }Return to EssOtlQueryMembersEx() or EssOtlGetMemberField().
Copyright (c) 1998-1999 by International Business Machines Corporation.
All Rights Reserved.