************************************************************
Patch file name: PATCH.HTM
Applies to: All platforms
Patch Date: 12/23/99
Identification: R5.0.2_P9LA
************************************************************
Downloading Patches from the Hyperion Solutions Web Site
Installing Patches from the Hyperion Solutions Web Site
Installing Patches from CD-ROM
Enhanced Member Querying with New Hyperion Essbase APIs
This file describes problems corrected by one or more Hyperion Essbase patches. Even if you have only one of the problems fixed in one of the patches, you need to perform a full patch installation. You can install this patch by downloading the appropriate files from the Hyperion Solutions Web site, or by installing from CD-ROM. For detailed information about Hyperion Essbase installations, see the Installation Notes.
To see which file or files you need to download, see Files to Download.
For instructions on installing the files, see Installing Patches from the Hyperion Solutions Web Site or Installing Patches from CD-ROM.
Hyperion Essbase patches are cumulative, beginning with Patch 1 of Release 5.0.2. That is, each 5.0.2 patch contains new fixes, plus all the fixes for the previous patches.
R5.0.2_P9L is Release 5.0.2, Patch 9LA
R5.0.2_P9 is Release 5.0.2, Patch 9
R5.0.2_P8 is Release 5.0.2, Patch 8
R5.0.2_P7 is Release 5.0.2, Patch 7
R5.0.2_P6 is Release 5.0.2, Patch 6
R5.0.2_P5 is Release 5.0.2, Patch 5
R5.0.2_P4 is Release 5.0.2, Patch 4
R5.0.2_P3 is Release 5.0.2, Patch 3
R5.0.2_P2 is Release 5.0.2, Patch 2
R5.0.2_P1 is Release 5.0.2, Patch 1
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 Hyperion Essbase 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:
Patch 3 fixes problems on all server and client platforms.
In addition to bug fixes, Patch 3 includes:
$ARBORPATH/Bin
when you install SQL Interface.
The Version 3.11 drivers are not yet included or supported for HP-UX. HP-UX installations of SQL Interface include the Version 3.0.2 drivers, as they did prior to Patch 3.
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.
The following problems are fixed in Patch 9LA, which focuses on compliance with Lotus 1-2-3 Millennium releases. 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. For the latest list of problems fixed in this patch, connect to Hyperion's Technical Support Web site at:
http://support.hyperion.com/ts
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 were fixed in Patch 9.
Memory Leaks Occur With Consecutive Connects and Retrieves With Flashback Enabled in Spreadsheet Add-in (12185, P9)
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.
Essbase Treats Unsuccessful DB2 OLAP Server Data Loads as Successful (14494, P9)
If a data load request from the DB2 OLAP Server fails, Essbase does not display the failure message and time elapsed.
Hyperion Essbase May Write to the Application Log Before Process is Completed (14677, P9)
When processing data on the DB2 OLAP server, Hyperion Essbase 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 5.0.2, Patch 2 as compared to 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)
Hyperion Essbase 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)
Hyperion Essbase 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)
Hyperion Essbase 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 Hyperion Essbase After a Timed Automatic Log Out (16964, P9)
This fix requires a client upgrade. After Hyperion Essbase has logged out users, the users can still automatically log on to Hyperion Essbase 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 Hyperion Essbase 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, P9)
On UNIX, validating or exporting migrated Release 3.x data blocks from Release 5.0.2 causes a server crash.
The following problems were fixed in Patch 8, and required a client upgrade. Use the Patch 7 server upgrade with this patch.
Data Retrieval by EssVCell is Incorrect in Hyperion Essbase 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 Hyperion Essbase Spreadsheet Add-in for Excel 2000, the VBA Formula Retrieval Does Not Work Correctly (15928, P8)
In new, non-upgraded installations of Hyperion Essbase Spreadsheet Add-in for Excel 2000, the VBA formula retrieval loses the formula after running the macro.
Some Essbase Functions in the Hyperion Essbase Spreadsheet Add-in Do Not Work Correctly (15196, P8)
Essbase functions such as formula preservation, pivoting, and double-clicking work correctly when Hyperion Essbase 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 Essbase 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:
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 Hyperion Essbase 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 items were addressed 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 were fixed in Patch 5.
System Password Visible on HP-UX and Solaris Using ps -ef (9377, P5)
Users can view the Essbase 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 Hyperion Essbase. For more information, see UNIX Secure Password Script.
Data Retrieval on Large Dimension Through Excel Spreadsheet Add-in is Slow (12302, P5)
In the Spreadsheet Add-in, data retrieval on large dimensions in certain outlines takes longer than it did in Release 4.12.
ESSCMD Scripts Containing Embedded Quote Characters Fail in Japanese Locale (13362, P5)
This fix requires a client upgrade. ESSCMD scripts that use backslashes (\) for embedding quotes fail when they are run in the Japanese locale.
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 Hyperion Essbase Server.
ESSLANG
Language-Environment Variable is Not Documented (14499, P5)
Information about the Hyperion Essbase ESSLANG
environment variable is missing from Release 5.0.2 documentation. English versions of Hyperion Essbase 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 Hyperion Essbase
Spreadsheet Add-in returns a Failed in GCSetLocale()
error.
With this fix, when Hyperion Essbase 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, Hyperion Essbase 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 were 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 Hyperion Essbase Application Manager. (14198, P4)
The date display for the Japanese version of the Hyperion Essbase 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.
On a Particular Database, Default Calc Fails to Complete when No Data is Loaded (14405, P4)
For a specific database outline, a default calculation on the empty database never completes in Release 5.0.2, Patch 2.
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 Release 5.0.1, but not in Release 5.0.2.
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 5.0.2 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 Hyperion Essbase server crashes.
On Windows NT, Installation of Patch 3 of the 32-bit Excel Spreadsheet Add-in Results in Wrong Placement of Three .dll
Files (15041, P4)
On Windows NT, the mfc42.dll
, msvcirt.dll
, and msvcrt.dll
files are installed in the ESSBASE
folder instead of the Windows NT system folder.
The following problems were 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.
In Japanese Application Manager, Non-Japanese Mixed Characters Appear in Tabs for Some Dialog Boxes (12802, P3)
This fix requires a client upgrade. In the Japanese version of Application Manager, non-Japanese mixed characters appear in tabs for these dialog boxes:
Database Information, Data File Attributes, Data Load Settings, Dimension Build Settings, and Dimension Attributes.
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 Hyperion Essbase server on NT or Win9x.
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 IBM Relational Storage Manager (13730, P3)
The message database file has been updated with two new messages.
Hyperion Essbase Release 5.0.2 Will Not Install on Solaris 2.7 (13863, P3)
With this patch, Hyperion Essbase Release 5.0.2 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)
Hyperion Essbase 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.
"GcSetLocale" Error Occurs When Starting Application Manager (14423, P3)
This fix requires a client upgrade. In 5.0.2 Patch 2, a GcSetLocale
error occurs when you try to start the Application Manager. The installation program 502p2am.exe
did not update environment variables.
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 were 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 with DB2 OLAP Server returns Incorrect Results (13039, P2)
An Essbase callback function (adSmOtlMbrGetId) for outline restructuring with DB2 OLAP Server 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.
On AS/400, Default Calc on an Empty Database Causes Crash (13134, P2)
For a particular application on AS/400, the default calculation on an empty database runs infinitely.
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 were 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 Essbase, Formulas on Japanese Outline Members Are Deleted After Outline Updating (8685, P1) In the Japanese version of Essbase, 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.
Essbase 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 ]
Essbase 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 Essbase 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 Essbase 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.
http://support.hyperion.com/ts
If you do not already have access to Hyperion's Technical Support Web service, ask your your company's support contact to:
Germany 00 49 40 32005285 00 49 40 32005269 France 00 33 15 5940139 UK 00 44 1344 664007
Be sure to have your company's specific support contact initiate communication with Hyperion's Technical Support.
The "Problem Summary" section of the Release Notes contains the final list of problems fixed in the patch.
When downloading files from the Hyperion Web site, use the following lists as your guide to which files you need.
502p9lns.exe | NT (Intel) Server |
502p9lds.exe | NT (Dec Alpha) Server |
502p9l95.exe | Win95/98 Server |
502p9lni.exe | Windows NT SQL Interface |
502p9lda.exe | Dec Alpha API |
502p9lna.exe | NT and 32-bit Windows API |
502p9l32.exe | 32-bit Excel Client (Excel V7 and V8) |
502p9llo.exe | 32-bit Lotus 1-2-3 Client |
502p9lnd.exe | 32-bit SQL Drill-Through |
502p9lhs.tar | HP-UX Server |
502p9lhi.tar | HP-UX SQL Interface |
502p9lha.tar | HP-UX API |
502p9lss.tar | Solaris Server |
502p9lsi.tar | Solaris SQL Interface |
502p9lsa.tar | Solaris API |
502p9las.tar | AIX Server |
502p9lai.tar | AIX SQL Interface |
502p9laa.tar | AIX API |
<a href="#contents">Contents
The patch installation is similar to a full Hyperion Essbase installation, except that your sample applications, databases, and data files are not re-installed. Your existing applications and databases are not affected in any way. However, it is always a good idea to back up your applications and databases before an installation. For detailed information on Hyperion Essbase installations, see the Installation Notes.
Follow the patch installation instructions for the appropriate platform:
NT or Windows Servers and Clients
http://support.hyperion.com/ts
If you are installing more than one patch file, download the files into separate temporary directories before installing, or download and install one file, delete the file, and then download the next file.
The executable file decompresses and runs SETUP.EXE
, which launches the installation program.
C:\ESSBASE
.
.EXE
file from the temporary directory.
On UNIX platforms, the patch installation disables SQL Interface. SQL Interface must be reinstalled or reconfigured after installing the patch.
.tar
files,
create a temporary local directory on the server or client
machine, as appropriate.
http://support.hyperion.com/ts
tar -xf filename.tar
from the temporary directory containing the .tar
file. This command extracts the files necessary to perform a
complete installation.
essinst
to launch the installation program.
.tar
file.
The patch installation is similar to a full Hyperion Essbase installation, except that your sample applications, databases, and data files are not re-installed. Your existing applications and databases are not affected in any way. However, it is always a good idea to back up your applications and databases before an installation.
On UNIX platforms, the patch installation disables SQL Interface. SQL Interface must be reinstalled or reconfigured after installing the patch.
For detailed information on Hyperion Essbase installations, see the Installation Notes.
If you are installing more than one patch file, download the files into separate temporary directories before installing, or download and install one file, delete the file, and then download the next file.
For Windows platforms:
SETUP.EXE
, which launches the installation program.
For UNIX platforms:
tar -xf filename.tar
from the temporary directory containing the .tar
file. This command extracts the files necessary to perform a
complete installation.
essinst
to launch the installation program.
The Hyperion Essbase installation program has been made more efficient. The updated installation program:
As of Release 5.0.2 Patch 3, when you install over a previous release,
only older versions of files in the ESSBASE/Bin
directory
are replaced. Any files in the current installation that are of the
same version as existing installed files are not replaced.
Bin
directory except for
ESSBASE.SEC
and ESSBASE.CFG
before you install the earlier release.
ps -ef
utility on Solaris and HP-UX,
you must create a simple shell script and use it to launch the Hyperion Essbase Agent.
Create a shell script named essbase.secure
, consisting of the following lines:
#!/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 | - |
The following non-INTERSOLV drivers are not provided with Hyperion Essbase 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 | - | - | - |
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() 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().
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 |
#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) 1991-1999 by Hyperion Solutions Corporation.
All Rights Reserved.