************************************************************

IBM DB2 OLAP Server 1.1 
Fixpack 12 Release Notes

************************************************************

Patch file name: FIXPAK12.HTM

Applies to: All platforms

Patch Date: August 2000

Identification: R5.0.2_P12

************************************************************

Contents

Fixpack Installation Overview

Hyperion Patches in IBM Fixpacks

Summary of Hyperion Patches

Problem Summary

Installing this Fixpack

UNIX Secure Password Script

SQL Source Connectivity

Enhanced Member Querying with New APIs

Copyright Information

Fixpack Installation Overview

This file describes problems corrected by Fixpack 12 for DB2 OLAP Server Version 1.1. Even if you have only one of the problems fixed in one of the patches, you need to perform a full fixpack installation. For instructions on downloading and installing the files in this fixpack, see Installing this Fixpack. For more detailed information about installation, see Using DB2 OLAP Server.

Fixpack 12 for DB2 OLAP Server Version 1.1 is the equivalent of patch 12 for Hyperion Essbase Release 5.0.2. Hyperion Essbase patches are cumulative; patch 12 contains new fixes plus the fixes found in patches 1 through 11.

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.

Hyperion Patches in IBM Fixpacks

R5.0.2_P12 is Release 5.0.2, Patch 12 from Hyperion, which is in Fixpack 12 from IBM.

R5.0.2_P11 is Release 5.0.2, Patch 11 from Hyperion, which is in Fixpack 11 from IBM.

R5.0.2_P10 is Release 5.0.2, Patch 10 from Hyperion, which is in Fixpack 10 from IBM.

R5.0.2_P9LA is Release 5.0.2, Patch 9LA from Hyperion, which is in Fixpack 10 from IBM.

R5.0.2_P8 is Release 5.0.2, Patch 8 from Hyperion, which is in Fixpacks 9 and 10 from IBM.

R5.0.2_P7 is Release 5.0.2, Patch 7 from Hyperion, which is in Fixpacks 7, 9, and 10 from IBM.

R5.0.2_P6 is Release 5.0.2, Patch 6 from Hyperion, which is in Fixpacks 7, 9, and 10 from IBM.

R5.0.2_P5 is Release 5.0.2, Patch 5 from Hyperion, which is in Fixpacks 7, 9, and 10 from IBM.

R5.0.2_P4 is Release 5.0.2, Patch 4 from Hyperion, which is in Fixpacks 4, 7, 9, and 10 from IBM.

R5.0.2_P3 is Release 5.0.2, Patch 3 from Hyperion, which is in Fixpacks 4, 7, 9, and 10 from IBM.

R5.0.2_P2 is Release 5.0.2, Patch 2 from Hyperion, which is in Fixpacks 4, 7, 9, and 10 from IBM.

R5.0.2_P1 is Release 5.0.2, Patch 1 from Hyperion, which is in Fixpacks 4, 7, 9, and 10 from IBM.

Contents

Summary of Hyperion Patches

This section summarizes the patches (from Hyperion) that are included in this fixpack for DB2 OLAP Server. Contents

Problem Summary

The following problems are fixed in Patch 12. 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.

13703   EssCell may not work with Dynamic Time Series and Dynamic Calc Member.

14457   Incorrect retrieval on Essbase report with member name in quotes immediately followed by an '!'.

16565   The option CALCOPTCALCHASHTBL TRUE causes inconsistent results.

17507   EsbLROAddObject() may give error 1030718.

17998   Successive attempts to retrieve may cause memory leak.

18108   On AIX, locking and sending a formula that divides by 0 gives incorrect results.

18267   After revising the outline for transparent partition, outline synchronization may not work.

18463   Output to audit file (.ATX) is not correct when Member and Alias Names option is checked on the spreadsheet.

18531   Database "Tesue" in Katakana may not be deleted from the file system.

18532   The server may not be able to create database whose names contain certain foreign characters.

18550   In Katakana a database Named "Tesuto" may become "Tesue".

18665   A retrieval on a target database partition crashes the target application.

18715   INCBUILDDIM in ESSCMD on source partition outline causes exception and does not build dimensions.

18800   Calc script with invalid FIX statement calculates on the entire database.

19431   Excel does not prompt to save when Essbase cascade is performed.

19496   Database setting "Create block on equation" behaves differently after release 5.0.2 P9.

19522   Essbase EssRetrieve macro lock options for 2 and 3 no longer work for Lotus 9.1.

19632   Concurrent, multiple lock and send and retrievals using SSAUDIT cause negative values to be sent to the database instead of #MISSING.

19775    5.0.2 P10 locale files and Essbase.mdb are not replaced in a new patch installation.

19875    Approximately 430 concurrent partition user connections freeze the Agent.

19901    Calc times may increase after migrating from 5.0.2 P7 to 5.0.2 P10.

19936   ESBGetLogFile will not get the server log file unless application name is undefined.

19943   EssVRetrieve (Empty, Empty, 1) and EssVFlash (Empty) uses 100 % of CPU.

19973   Volume spanning has been set; but index file creation is not rolling over to the next volume.

20158   Retrieve returns invalid values on certain databases with circular dependencies between blocks.

20205   Currency conversion calc script crashes the Application.

20226   Double-Clicking on a member cell may clear the spreadsheet.

20333   Dynamic Calc may give inconsistent results.

20403   Dataload with erroneous data may cause server crash.

20743   FIX statements in formulas increase calc script time.

20813   Spreadsheet retrieval causes the application to crash and core dump on HP-UX.

20956   Calc never finishes across a transparent partition.

20990   Problem with user-defined attribute (@UDA) within filters may function incorrectly.

21049   On AIX servers with multiple processors, the Agent returns network errors.
 


The following problems are fixed in Patch 11. 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.

Member Names Move to a Different Location When They Should Not (19524, P11)
In the Spreadsheet Add-in, when the RepeatMemberLabels option is set to TRUE, member names may move to a different location during retrieval.

Processing Member Select on a Source Database is Slow (19437, P11)
Processing Member Select on a source database may be slow when you create several transparent partitions.

Formula Disappears When Using Flashback if the Result is 0 (19354, P11)
If a formula results in 0 and the Flashback menu is used, the formula disappears and must be retyped.

Output With YTD and Non-YTD Data Gives Incorrect Value (19266, P11)
A report that contains YTD members and non-YTD members may give wrong results.

Retrieving on Spreadsheet Causes Application to Crash (19205, P11)
In the Spreadsheet Add-in, retrieving data with two members of different dimensions in the same column in the row tree causes the application to end abnormally.

Stopping the DB2 OLAP Server Service in Control Panel Returns Error Message (19047, P11)
Attempting to stop the running of the product as a service returns an error message.

Warning Message Produced When Running Calc Scripts (19028, 18762, P11)
Running calc scripts involving calculations that are not top-down concurrently on isolated database segments can sometimes produce a warning message "Lock request timed out in adResource block" and cause the calculations to run more slowly.

Application Crashes When Calculating on a Particular Year with Dynamic Time Series Enabled (18940, P11)
With Dynamic Time Series enabled, a calculation script fixing on a particular year and requiring a high CALCLOCKBLOCK setting crashes the application server.

The Server Gets an Error Message When Running a Calc Script (18821, 14615, P11)
On Windows NT, the server gets an "Unable to reallocate memory" error after running an operation that produces data free space. This is a Microsoft bug. DB2 OLAP Server now works around this bug. The workaround that has been implemented has improved the performance of reading data free space by a factor of 60, and the performance of recovering free space in the data files by a factor of five.

Programs Written With Grid API Fail to Compile on Solaris (18755, P11)
Programs written using the Grid API do not compile or run on Solaris.

Calculations After a Restructuring Operation may be Incorrect (18670, P11)
When a restructuring operation results in an upper level sparse member becoming a level-0 member (because one or more of its children members have been either removed or moved elsewhere in the dimension hierarchy), then, any block in the database involving the upper level sparse member may not be recalculated by a subsequent calculation and results in incorrect values. The workaround is to avoid transitioning a sparse dimension member from being an upper level to a level-0 member as part of restructuring.

Incorrect Values are Displayed When Multiple Users Concurrently Retrieve From a Database (18596, P11)
When multiple users concurrently retrieve from a database and the retrievals involve sparse dynamic calculations, results may be incorrect.

Selecting Options From The Essbase Toolbar May Cause Excel To Crash (18555, P11)
In the Spreadsheet Add-in for Excel, using the toolbar may cause Excel to crash.

Users Who Are Not Logged Into an Application Are Not Logged Off (18482, P11)
Users who log on the the Application Manager but who do not log on to an application are not automatically logged off.

In Particular Excel Spreadsheet Layout, Column Header and Corresponding Data Changes On Retrieval (18436, P11)
In the Spreadsheet Add-in for Excel, when member names are repeated across all columns, and options "Repeat Member Labels" and "Advanced Interpretation" are selected, the header label of one of the columns and the corresponding retrieved data may change.

Problems with Dynamic Calc and Transparent Partitioning (18357, P11)
When retrieving on a transparent partition with dynamic calc on a sparse dimension, the members on the same level and the level above return incorrect values and change with each retrieval.

Drill Down With Retain on Retrieval and Retain on Zoom Clears Spreadsheet (18266, P11)
In the Spreadsheet Add-in, drilling down on data after selecting the Retain on Retrieval and Retain on Zoom options, may not return any results.

Year-To-Date Data Changes If Order of Months Changes (18147, P11)
In some cases, the Year-to-Date data shown in a Spreadsheet Add-in retrieval differs when the presentation order of month columns is changed.

Error Message Displayed When 0 is a Member in the Outline (18138, P11)
In Spreadsheet Add-in for Lotus 1-2-3, a query on a member that is named 0 results in an error message.

Locking and Sending a Formula That Results in an Error Gives Incorrect Warning Message (18108, P11)
Locking and sending a formula that results in an error on Lotus 1-2-3, is mistaken for a string and results in an "unknown member" warning.

Dimension-build Failure Caused by Insufficient Memory Crashes the Application Server (18106, P11)
In some scenarios, a dimension-build failure due to insufficient memory causes the application server to crash.

No Result When Regular Member Has a Calc Script Formula That Depends on the Dynamic Member (17946, P11)
In some specific cases, #MISSING is returned when a regular member has a formula applied to it in a calc script and the formula contains a dynamic calc member.

Cancelling the SQL Drillthrough the Login Box Causes Excel to Crash (17611, P11)
In DB2 OLAP Server Version 1 and later releases, Excel will crash if you cancel the SQL Drill Through login dialog box.

EssOtlQueryMembersEx Does Not Handle Label Only Members Properly (17600, P11)
The EssOtlQueryMembersEx API command does not return shared or label-only members.

First Retrieval Returns Incorrect Data in Some Spreadsheet Scenarios (17567, P11)
In a certain spreadsheet layout, the first Spreadsheet Add-in retrieval returns incorrect data for a cell; the correct data appears on the second retrieval.

Retrieval in Lotus 1-2-3 97 & Lotus 1-2-3 Millenium R9 is Slower Than in Lotus 1-2-3 R5 (15066, P11)
Retrieval of files takes longer in Lotus 1-2-3 97 and Lotus 1-2-3 Millenium R9 than retrieval in Lotus 1-2-3 R5.

Loading Data Using a Very Long SQL Statement Crashes the Application (14863, P11)
In SQL Interface, using a SQL statement that exceeds 4092KB may result in a crash.

Using Rules Files From Newer Versions of Hyperion Essbase Causes Crash (13689, P11)
Use of rules files from DB2 OLAP Server Version 7.1 is not supported with Version 1.1.  Attempts to use newer rules files may have caused the Version 1.1 Application Manager or the application server to crash. With this patch, a message is displayed if you attempt to use a rules file from a newer release.

Memory Information in the Application Manager is Incorrect (12091, P11)
In the Application Manager, the memory information displayed in the System Information box is inaccurate.


The following problems are fixed in Patch 10. 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.

After Copying an Application to a New Name, Users Cannot Delete the New Application or Make a Copy of it. (12829, P10)
If users who do not have superuser privileges but who do have "Create/delete users, groups" and "Create/delete apps" privileges copy an application to a new name, they cannot delete the resulting copy or make a copy of it.

Application Manager Has Problems With Excel Source Files That Have Been Saved as File Type "Microsoft Excel 97 & 5.0/95 Workbook (*.xls)" and that contain more than 16384 rows (14686, 15991, 15994, 15986, P10)
Workaround: In Excel 97, save the Excel file as normal format, "Microsoft Excel Workbook (*.xls)". Up to 64 KB rows can be processed in this normal format.

Retrieving Data Using EssRetrieve in the Spreadsheet Add-in for 1-2-3 is Slow (15028, P10)
Retrieval time of data using the EssRetrieve macro in the Lotus Add-in is slow when compared to using Retrieve from the Essbase menu.

In the Spreadsheet Add-in for Lotus 97, Certain Foreign Language Characters are not Translated (15049, P10)
When retrieving members in the Spreadsheet Add-in for Lotus 97, certain foreign language characters, such as French, German, and Greek, are not translated properly.

Retrievals Involving Dynamic Calc Members With Formulas Fail (16726, P10)
Using Dynamic Calc members that contain a formula cause the system to crash with an error message.

Problem with Replicated Partitions and Calculations (16776, P10)
Data from transparent partition is not replicated in the target database. The problem is the same if two replicated partitions are used. This bug is not reproducible.

Agent Crashes When a User ID is Suppressed (17378, P10)
If you create a transparent partition using a certain user ID, and then the administrator suppresses the user ID, the agent crashes.

AGGMISSING is Working Incorrectly (17472, P10)
When AGGMISSING is turned on, the parent member results in a #MISSING value when all children are tagged with the Ignore consolidation property.

Calc All Function Returns Incorrect Results (17568, P10)
The Calc All function continues to run indefinitely on outlines with certain top down formulas.

The .XCP Error Log Incorrectly Displays Physical Memory Values in Megabytes as Kilobytes (17602, P10)
In the .XCP error log, the numbers for the physical memory values were calculated as megabytes but were displayed as kilobytes. These values are now calculated and displayed as kilobytes.

Calculations on Certain Outlines Not Rolling Up After Retrieve Unless the Calc Script is Run Twice (17604, P10)
On certain outlines, calculations involving a regular dense member, depending on the Dynamic Calc dense member, may yield incorrect results unless the calc script is run twice.

The @PARENTVAL and @MDPARENTVAL Functions do not Calculate Dynamic Calc Members (17651, P10)
When the @PARENTVAL and @MDPARENTVAL functions are referencing a parent value that is Dynamic Calc, the parent value is not calculated and there is no data returned after running the member formula.

An Attempt to Retrieve with Dynamic Calc Fails With an Error Message (17658, P10)
Retrievals involving Dynamic Calc members with formulas operating on a dense Dynamic Calc member across a sparse range can sometimes crash the server.

Able to Retrieve Data into a Non-Partitioned Area of an Empty Target Database (17694, P10)
With some partition definitions, it is possible to retrieve data into a non-partitioned area of an empty target database.

When a Calculation is Cancelled, Some Fixed Blocks Are Not Unfixed (17705, P10)
When a calculation is cancelled, some blocks that were fixed are not changed back to unfixed blocks.

Sparse Roll-Up Does Not Create an Upper Level Sparse Block With Implied Share (17858, P10)
In some cases, top-down calculation interferes with the dirty status on blocks and generates incorrect results.

User Security Settings for Calculations Display Incorrectly (17871, P10)
When editing the user security screen in Application Manager, the calculation access settings do not display correctly.

Agent Hangs When Too Many Logins Using the Same ID are Used (18022, P10)
Too many logins using a specific user ID for a partition causes the agent to hang.

Retrieval of Dynamic Time Series Cause the Spreadsheet to Hang (18154, P10)
Retrievals on the dynamic time series data cause the spreadsheet add-in to hang when a DTS member is present in the first row.

After Creating an Outline in HIS and Then Adding Records in DB2 OLAP Server, the Outline Restructure Process Generates Errors (18201, P10)
After creating an outline in Hyperion Integration Server and then adding records through dimension build in DB2 OLAP Server, the outline restructure process generates errors.

Tagging a Member With More Than 100 Children Results in a Dynamic Calc Error (18373, P10)
Attempts to use Dynamic Calc fail when a database member that has more than 100 children.

Member Labels Changing, Rearranging During Add-In Retrieve (18491, 18234, 18358, 18421, 18439, 18557, P10)
When attempting to connect to the multidimensional database and retrieve, the label names change and undergo significant rearrangement and duplication.

Target Database of a Transparent Partition Crashes upon Retrieval (18520, P10)
With grid expansion, the target database of a transparent partition crashes upon retrieval.

Saving an Outline Causes the Server to Hang (18536, P10)
When you save an outline file after creating an application and database, the server may hang.

Data Changes After Running VBA Retrieve When Using 402 P9 (18540, P10)
When attempting a VBA retrieval, the data in an Excel file is different from the original data when Essbase 4.0.2, Patch 9 is used.

Cannot Use the Mouse to Pivot Data (18553, P10)
On Windows 95a and in Excel 97, you cannot use the mouse to pivot data in a spreadsheet.


The following problems are fixed in Patch 9LA, which focuses on compliance with Lotus 1-2-3 Millennium releases.

Memory Leaks Occur With Consecutive Connects and Retrieves With Flashback Enabled in Spreadsheet Add-in (12185, P9LA)
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 Retrieval in 1-2-3 Add-in (12477, 16057 P9LA)
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, P9LA)
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.

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.

Unsuccessful Data Loads Treated as Successful (14494, P9LA)
If a data load request from the DB2 OLAP Server fails, the product does not display the failure message and time elapsed.

DB2 OLAP Server May Write to the Application Log Before Process is Completed (14677, P9LA)
When processing data on the DB2 OLAP Server, the product may record elapsed time into the application log before the function is completed.

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 .

Formulas Created With the Formula Editor Disappear After the Database Outline is Saved (14974, P9LA)
Application Manager does not recognize some invalid formulas created in a database outline. These invalid formulas disappear after the outline is saved.

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.

Reports Take Longer to Run in Patch 2 (15359, P9LA)
Reports take longer to run in 5.0.2, Patch 2 as compared to version 4.1.2, Patch 10.

Running Batch Calculations May Cause the Application to Crash (15507, P9LA)
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, P9LA)
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, P9LA)
Running a default calculation on the target transparent-partition database crashes the application server.

Application Manager Displays Incorrect Date for Database Modifications (15698, 16450 P9LA)
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, P9LA)
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 Parentheses and Commas Within a FIX statement (15952, P9LA)
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, P9LA)
The product 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, P9LA)
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, P9LA)
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, P9LA)
"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 Error Message (16492, P9LA)
This fix requires a client upgrade. After loading the Excel add-in and closing all workbook sheets, exiting from Excel results in an DB2 OLAP Server error: "Active sheet could not be determined."

Large Member Formulas Create Server Exception and Crashes Application (16571, P9LA)
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, P9LA)
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, P9LA)
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, P9LA)
The product does not ignore duplicate occurrences of aliases for a member and records warnings in the error file.

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 From Partitioned Databases on Solaris Return Error Messages (16739, P9LA)
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, P9LA)
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, P9LA)
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, P9LA)
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, P9LA)
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, P9LA)
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, P9LA)
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, P9LA)
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, P9LA)
Setting substitution variables at the application level causes the product to display an erroneous message stating that the security files are corrupted.

Migration of Data from Release 3.x to Release 5.0.2 Causes Server Crash (17681, P9LA)
On UNIX, validating or exporting migrated Release 3.x data blocks from Release 5.0.2 causes a server crash.

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 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:

  1. Delete the error message from the member comment field using the member properties box and save the outline.
  2. Revise the formula in the database outline.
  3. Close the outline and reopen it.
  4. Look in the application log for an error message.
  5. Look in the member comment field to ensure that there is no error message recorded and that the formula is valid.
Renaming Any Member When Outline Logging is Set to True Causes the Server to Crash (15385, P7)
When the OUTLINECHANGELOG parameter is set to True, an attempt to rename a member in the database outline causes the server to crash.

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)
Comments longer than 255 characters in the Spreadsheet Add-in causes the application to crash.

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  5000000
The @ANCESTVAL Function Returns Wrong Values when Level References are Used (15108, P5)
The @ANCESTVAL function returns the wrong values when the input for the genLevNum parameter is a negative value, which defines a level reference.

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)
The Essbase Agent fails to start on Windows NT when the Regional Setting is set to "Polish" or "English (New Zealand)." Instead, the following error message occurs:
Failed on GcSetLocale ()

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.


Installing This Fixpack

You need to install three files to apply the fixpack. The first file contains upgrades for the server, SQL Interface, and API components for your operating system, in U.S. English. The second file contains upgrades for the Application Manager and other client components, in U.S. English. The third file contains upgrades for the client components in your national language; they replace some of the U.S. English clients with clients in your language.

Downloading the files

STEP 1: Download one of the following files, depending on your operating system, to a temporary directory on the machine on which you installed the server:
 
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

Fixpack Installation Instructions

Additional steps

Contents

UNIX Secure Password Script

To hide the DB2 OLAP Server system password from the UNIX process listing created by the ps -ef utility on Solaris and HP-UX, you must create a simple shell script and use it to launch the DB2 OLAP Server Agent. Create a shell script named essbase.secure, consisting of the following lines:
#!/bin/sh
PASS=$1
ESSBASE -b -secure << EOF &
${PASS}
EOF
After creating this script, launch the Agent as follows to start it in the background with <password> secured from process listing details:

essbase.secure <password>

Contents

SQL Source Connectivity

INTERSOLV ODBC Drivers

INTERSOLV ODBC drivers, Version 3.11 on Windows NT, AIX, and Solaris, and Version 3.0.2 on HP-UX, are provided with DB2 OLAP Server 5.0.2 Patch 3 (and later) SQL Interface. Hyperion Solutions has tested the following database configurations with 5.0.2 Patch 3.
Note: Hyperion Solutions tests only a limited number of driver configurations. Contact the provider of the driver if you have problems with a configuration.
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 -

Non-INTERSOLV ODBC Drivers

The following non-INTERSOLV drivers are not provided with DB2 OLAP Server 5.0.2 SQL Interface. Hyperion Solutions has tested the following database configurations with 5.0.2 Patch 3.
Note: Hyperion Solutions tests and supports only a limited number of driver configurations. Contact the provider of the driver if you have problems with a configuration that Hyperion Solutions does not support.
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 - - -
Contents

Enhanced Member Querying with New APIs

Two new C Outline API functions, and one new structure, support enhanced member info queries.

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

Description

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.)

Syntax

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
Parameters
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.
Return Value

The return value is zero if the function was successful.

Notes

Example

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

Description

EssOtlGetMemberField() returns data for the specified field of a specified outline member.

Syntax

ESS_FUNC_M EssOtlGetMemberField(hOutline, hMember, MbrFieldID, ppFieldElement);
ESS_HOUTLINE_T hOutline
ESS_HMEMBER_T hMember
ESS_ULONG_T MbrFieldID
ESS_PPVOID_T ppFieldElement
Parameters
 
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.
Return Value

The return value is zero if the function call was successful.

Notes

Example

See Extended Member Query for an example that uses EssOtlQueryMembersEx(), EssOtlGetMemberField(), and ESS_OTLQUERYERRORLIST_T, and includes calls to EssOtlFreeMembers() and EssFree().

ESS_OTLQUERYERRORLIST_P

This structure stores a list of errors encountered during an extended member query; that is, while calling EssOtlQueryMembersEx().
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

Extended Member Query Code Example

#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 Information

Copyright (c) 1998-2000 by International Business Machines Corporation. All Rights Reserved.

Copyright (c) 1991-2000 by Hyperion Solutions Corporation. All Rights Reserved.