![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This chapter describes the Hyperion Essbase OLAP Server diagnostic tools available to you and tells where to find log files that can help you analyze and solve problems. Use this section not only when problems occur but also when you want to check or analyze Hyperion Essbase configuration or performance.
This chapter contains the following sections:
Hyperion Essbase application, server, and database information dialog boxes in Hyperion Essbase Application Manager are useful when you are preparing to migrate data, add users, analyze performance problems, or perform other administrative tasks. These dialog boxes are available from the Server, Application, and Database menus in Hyperion Essbase Application Manager. For details about accessing specific information in dialog boxes and a review of the pages that dialog boxes contain, see Table 48-1.
Note: | For information about a specific field in any dialog box, display the dialog box and press the Help button. |
The Application Information dialog box as shown in Figure 48-1, provides information about an application and its databases.
Figure 48-1: Application Information Dialog Box
Use the Application Information dialog box to verify which databases are running in the application and to check access, security, and start-up information.
You can also display the Database Information dialog box (see Viewing Database Information) from the Application Information dialog box by selecting a database in the list box and clicking the Database Information button.
The settings and other information in the Application Information dialog box are for information only. If you want to customize your application, you can change the settings in the Application Settings dialog box, as described in Managing Security at Global and User Levels
Click the Help button for information on each item.
The Server Information dialog box provides information, grouped by tabs, on server license, configuration, operating system, disk drives, and applications.
Hyperion Essbase displays information on a snapshot basis; to see the latest information, click the Refresh button for a new snapshot. The Refresh button refreshes every page in the dialog box, not just the current page.
The settings and other information in the Server Information dialog box are for information only and reflect activity on the server. You cannot use the dialog box to change settings; the purpose of the dialog box is to help you identify activities or operations that may be affecting performance.
Use the License Info page to see information about the Hyperion Essbase installation; for example, you can verify whether Hyperion Essbase is correctly installed and determine which options are installed.
Figure 48-2: License Info Page of the Server Information Dialog Box
Click the Help button for information on each item.
Use the Essbase Config page to see information about Hyperion Essbase status and configuration. The page reflects the ESSBASE.CFG
server file settings, if you have created an ESSBASE.CFG
file; if you have not, the Global ESSBASE.CFG
Settings list box is blank. See the online Technical Reference in the DOCS
directory for information on how to create an ESSBASE.CFG
file.
Figure 48-3: Hyperion Essbase Config Page of the Server Information Dialog Box
The Environment Variables list box displays operating system environment variables, as defined during installation. You can use this list box to verify path information.
Click the Help button for information on each item.
Use the System Info page to review information about the operating system and about resource usage. You use this page to determine whether machine or operating system constraints are impacting Hyperion Essbase performance.
Figure 48-4: System Info Page of the Server Information Dialog Box
For example, suppose Hyperion Essbase is running too slowly. Check the Memory and Disk Swapping groups to see how much free space is available. Assume that the Free space value in Disk Swapping is very low.
Take the following action, depending your platform:
Click the Help button for information on each item.
The Disk Drives page contains information about disk drive types, disk drive usage, and file system types. Use this information to determine whether lack of disk space or incompatibility of file system types is impacting Hyperion Essbase performance.
Figure 48-5: Disk Drives Page of the Server Information Dialog Box
For example, if information on the System Info page indicates that swap space is low, you can use the Disk Drives page to see which drives have space available.
You can also use the Disk Drives page to see which drives have space available when you want to allocate space on another drive. See Specifying Disk Volumes for information about disk spanning using the Disk Volumes setting.
Click the Help button for information on each item.
Use the Applications page to see which applications and databases are loaded.
Figure 48-6: Applications Page of the Server Information Dialog Box
Hyperion Essbase lists only those applications that you are authorized to use.
Click the Help button for information on each item.
![]() |
You can use the GETAPPINFO command in ESSCMD to perform this task. See the online Technical Reference in the DOCS directory for information about this command. See Performing Interactive and Batch Operations Using ESSCMD for information about ESSCMD.
|
The Database Information dialog box provides information, grouped by tabs, such as database storage, database statistics, and lock contention. To see the Database Information dialog box, select a database and then select Database > Information from Hyperion Application Manager.
The server name, application name, and database name are displayed on every page. Hyperion Essbase displays information on a snapshot basis; to see the latest information, click the Refresh button for a new snapshot. The Refresh button refreshes every page in the dialog box, not just the current page.
The settings and other information in the Database Information dialog box are for information only and reflect activity on the server. You cannot use the dialog box to change settings; the purpose of the dialog box is to help you identify activities or operations that may be affecting performance.
Click the Help button for information on each item.
![]() |
You can use the GETDBINFO command in ESSCMD to perform this task. See the online Technical Reference in the DOCS directory for information about this command. See Performing Interactive and Batch Operations Using ESSCMD for information about ESSCMD.
|
For information on changing database settings, see Specifying Hyperion Essbase Kernel Settings.
![]() |
You can also use alter database in MaxL or the SETDBSTATEITEM or SETDBSTATE commands in ESSCMD to change database settings. For more information, see the online Technical Reference in the DOCS directory.
|
Use the General page to check database status and start-up information.
Figure 48-7: General Page of the Database Information Dialog Box
Click the Help button for information on each item.
Use the Storage page to check data storage information, including cache sizes and the data compression setting.
Figure 48-8: Storage Page of the Database Information Dialog Box
For more information, click the Help button for information on each item or see Specifying Hyperion Essbase Kernel Settings.
![]() |
You can use the GETDBSTATE command in ESSCMD to perform this task. Using this command also provides currency database information that is on a separate (Currency) page of the Database Information dialog box that you access from the Application Manager desktop. See the online Technical Reference in the DOCS directory for information about this command. See Performing Interactive and Batch Operations Using ESSCMD for information about ESSCMD.
|
Use the Currency page to examine the configuration of the currency database associated with the current database, if the current database is linked to a currency database.
Note: | Hyperion Essbase Currency Conversion is an optional module, licensed separately. It may not be installed on your server. |
Click the Help button for information on each item.
![]() |
You can also use display database in MaxL or the GETCRDBINFO command in ESSCMD to perform this task. For more information, see the online Technical Reference in the DOCS directory.
|
Use the Statistics page for dimension information and to see characteristics of data blocks in your database.
Figure 48-10: Statistics Page of the Database Information Dialog Box
To check on block density and usage, in the Blocks list box, scroll down to see the "Block density" and "Percentage of maximum blocks existing" fields.
"Block density" is the average percentage of cells containing data in a datablock; "Percentage of maximum blocks existing" is a comparison between existing blocks and potential blocks, expressed as a percentage.
If you have a low block density and a high percentage of maximum blocks, you may want to increase the number of dense dimensions. See Basic Architectural Elements for background information on dimension types.
To check block size, look at the "Block size in bytes" field. This field reports the size of the expanded block, whether or not you have data compression enabled. Ideally, this value should be between eight kilobytes and 64 kilobytes. To alter block size, you need to change your dense or sparse configuration.
The Compression Ratio indicates the ratio of the compressed block size to the expanded block size. For more information about data compression, see Introducing the Hyperion Essbase Kernel and Specifying Hyperion Essbase Kernel Settings.
If the database is not started when you choose the Statistics tab, Hyperion Essbase prompts you to start the database.
Click the Help button for information on each item.
![]() |
You can use the GETDBSTATS command in ESSCMD to perform this task. See the online Technical Reference in the DOCS directory for information about this command. See Performing Interactive and Batch Operations Using ESSCMD for information about ESSCMD.
|
The Run-time page displays run-time information such as lock contention, insufficient cache size (buffer shortage), hit ratio on index searches (percentage of searches that did not involve retrieving from disk), and the number of read and write operations.
Figure 48-11: Run-Time Page of the Database Information Dialog Box
For example, suppose you want to know if your index cache size is large enough. One indicator to check is the "Hit ratio on index cache" field (you need to scroll down in the Parameters list box to see it). This value indicates the success rate of Hyperion Essbase in locating index data in memory without having to retrieve it from the disk. Ideally, this value should be near 100 percent. If the number of hits is very low, the index cache (buffer) is too small. For information on setting the index cache size, see Using Hyperion Essbase Application Manager for Database Settings.
If the database is not started when you choose the Run-time tab, Hyperion Essbase prompts you to start the database.
Click the Help button for information on each item.
![]() |
You can use the GETDBINFO command in ESSCMD to display some of this information. See the online Technical Reference in the DOCS directory for information about this command. See Performing Interactive and Batch Operations Using ESSCMD for information about ESSCMD.
|
The Files page lists the index and data (.PAG
) files associated with the current application and database.
Figure 48-12: Files Page of the Database Information Dialog Box
Use this page to see where index and data (.PAG
) files are stored and to see whether the files span multiple volumes.
Note: | If the database in the Database field is started, the index files and data files should be open. If they are closed, first click the Refresh button. If the files are still closed, a problem may have occurred when the database started. Check your application and server log files (see Application Event Log File and Server Event Log File) to see whether you can determine the problem. If you cannot, call the technical support department of your software provider. You can also check the Applications page of the Server Information dialog box (see Viewing Application Status Information) to see if the database is started. |
Click the Help button for information on each item.
Use the Modifications page to see information about the last successful data load, about calculation, and about outline update operations for the current application.
Figure 48-13: Modifications Page of the Database Information Dialog Box
Note: | Start Time and End Time include the necessary preparation that Hyperion Essbase does prior to the operation, such as locking the data. To see the duration of the actual operation itself, see the "Elapsed time" entry in the application log. Application Event Log File describes this log and where to find it. |
Click the Help button for information on each item.
Table 48-1 provides detailed procedures for accessing the correct dialog boxes to perform common server, database, and application maintenance tasks. Use this table to look up the proper menu commands and dialog box pages to choose when you want to view specific information that is displayed in the Server Information or Database Information dialog boxes.
The Hyperion Essbase Exception Handler gathers information that can help the technical support department of your software provider to pinpoint where and why an error has occurred. Hyperion Essbase maintains two exception error logs, one for the application and one for the server. For additional information, see the following:
When an exception occurs, Hyperion Essbase displays an error message on the server console. The message states "Exception occurred," followed by information about the name and location of the appropriate exception error log. The Process Type field in the log header indicates whether the exception occurred in the application or on the server.
The exception error log provides the following information. The information in the application log is the same as in the server log except where noted:
ESSBASE.CFG
values
The Hyperion Essbase Exception Handler writes information into the exception error log on the local disk in an ASCII file as follows:
ARBORPATH
; for example, D:\ESSBASE\log00001.XCP
.
APP
directory in the directory specified by ARBORPATH
; for example, D:\ESSBASE\APP\log00001.XCP
.
D:\ESSBASE\APP\SAMPLE\log00001.XCP
.
D:\ESSBASE\APP\SAMPLE\BASIC\log00001.XCP
.
.TRC
) file, the Hyperion Essbase Exception Handler stores the file in a dump directory that you must define (see Creation of a Directory for Trace Files).
The exception error log filename is normally log00001.XCP
. The ExceptionLogOverwrite parameter in the ESSBASE.CFG
file (see the online Technical Reference in the DOCS
directory) controls whether Hyperion Essbase overwrites the log file as follows:
Subsequent reports are numbered sequentially; for example, if log00001.XCP
exists, the next report has the filename log00002.XCP
, the next has log00003.XCP
, and so on.
Hyperion Essbase records all application-related activity, including calculations and database restructuring, in a log file on the server. The log file resides in the application directory; for example,\ESSBASE\APP\
application_name. It is called application_name.LOG
, where application_name is the name of the current application.
Hyperion Essbase Application Manager provides a facility to view application events in a log file.
The View Log File dialog box is displayed.
Figure 48-14: View (Application Event) Log File Dialog Box
The Log Viewer is displayed, as shown in Figure 48-15. It allows you to scroll through all recorded activities.
Figure 48-15: Sample Application Log
Note: | Any activities that take place while you review the log are not reflected in the Log Viewer; the Log Viewer only presents a snapshot of the log file at the time of your request. |
This log file uses disk space on the server. As additional activities are recorded, the log file grows. Occasionally, you may need to delete a log file before the log file grows too large.
To have Hyperion Essbase automatically clear out the log file whenever a message is written to it, enter CLEARLOGFILE TRUE in the ESSBASE.CFG
server file. When CLEARLOGFILE is FALSE (the default setting), Hyperion Essbase appends new messages without overwriting existing messages. For information about the ESSBASE.CFG
file and the syntax to use for this setting, see the online Technical Reference in the DOCS
directory.
You may want to back up the log file before deleting it. You can store the log file on any disk, diskette, or tape that has sufficient available storage space. You must back up the log file from the Server console.
CAUTION: | CLEARLOGFILE affects all applications on your server. |
The View Event Log and the Delete Event Log menu commands are available only if you have at least application designer privileges for the application.
![]() |
You can also use alter application in MaxL or the DELETELOG command in ESSCMD to delete the log file for the application you specify. For more information, see the online Technical Reference in the DOCS directory.
|
Because the application log file grows as activities are recorded, you may want to control which activities are logged in the file.
For example, you can use the TIMINGMESSAGES parameter in the ESSBASE.CFG
file to control whether Hyperion Essbase logs the duration of each spreadsheet and report query in the application log file. If this parameter is disabled, Hyperion Essbase does not log query duration times in the log file. In addition to controlling the size of the application log file, setting TIMINGMESSAGES to FALSE prevents Hyperion Essbase from having to communicate with the operating system to obtain query start and finish times. As a result, query execution time may improve in environments with many concurrent users. For information about other.CFG
parameters that may affect performance or log file size, see the online Technical Reference in the DOCS
directory.
All server-related activity is recorded in a log file on the server. The log file resides in the ARBORPATH
directory and is called ESSBASE.LOG
. This log file records information pertaining to all applications in the server.
Hyperion Essbase Application Manager provides a facility to view server events in a log file.
The View Log File dialog box is displayed:
Figure 48-16: View (Server Event) Log File Dialog Box
Figure 48-17: Sample Server Event Log
Note: | Any activities that take place while you review the log are not reflected in the Log Viewer; the Log Viewer presents a snapshot of the log file at the time of your request. |
Only users with supervisor authority can view the Server Log file.
Log files use disk space on the server. As additional activities are recorded, a log file grows. Occasionally, you may need to delete a log file before it grows too large.
To have Hyperion Essbase automatically clear out the log file whenever a message is written to it, enter CLEARLOGFILE TRUE in the ESSBASE.CFG
server file. When CLEARLOGFILE is FALSE (the default setting), Hyperion Essbase appends new messages without overwriting existing messages. For information about the ESSBASE.CFG
file and the syntax to use for this setting, see the online Technical Reference in the DOCS
directory.
Note: | You may want to back up the log file before deleting it. You can store the log file on any disk, diskette, or tape that has sufficient available storage space. You must back up the log file from the Server console. |
Only users with supervisor authority can view the Server Log file.
![]() |
You can also use alter system in MaxL or the DELETELOG command in ESSCMD to perform this task. For more information, see the online Technical Reference in the DOCS directory.
|
On rare occasions, an internal Hyperion Essbase diagnostic utility may generate a trace (.TRC
) file. When this file is generated, Hyperion Essbase creates an entry in the application event log file. The entry contains the trace file name and location and indicates an error number that identifies the exception. To capture trace files, you need to identify a directory for Hyperion Essbase to store the trace files in.
ARBORDUMPPATH
environment variable to define a location. Use this option if you have limited space on your main Hyperion Essbase server machine.
\ARBORPATH\DUMP
directory on your Hyperion Essbase server machine. Use this option if you want to store trace files on your main Hyperion Essbase server machine.
Note: | Both methods are server-wide settings and need to be defined only once for each Hyperion Essbase server installation. If you define ARBORDUMPPATH and also create a DUMP directory, Hyperion Essbase uses the ARBORDUMPPATH directory to store the trace files. |
To define the ARBORDUMPPATH environment variable, decide where you want to store the trace files, such as D:\TRACE
. Then use your operating system to define the variable as follows:
On Windows platforms, SET
ARBORDUMPPATH=D:\TRACE
On UNIX platforms, setenv
ARBORDUMPPATH
"/trace"
Be sure that the Hyperion Essbase server has appropriate access to write files into the directory.
If you do not create an ARBORDUMPPATH environment variable, you need to create an\ARBORPATH\DUMP
directory on your main Hyperion Essbase server machine.
DUMP
directory on Windows platforms:
dump
directory on UNIX platforms:
When an internal Hyperion Essbase diagnostic utility generates a trace (.TRC
) file, the application event log file indicates that the file was created and identifies its location (see Error Log Names and Locations).
If you have an ARBORDUMPPATH
environment variable or an\ARBORPATH\DUMP
directory, Hyperion Essbase creates a trace file that is named with a long string of numbers. The numbers are separated by underscores and end with.TRC
.
Note: |
If your operating system does not support long file names, the.TRC file name might be truncated.
|
If you have no ARBORDUMPPATH
or\ARBORPATH\DUMP
directory, no trace files are created. You can still benefit by reporting the error number from the application log file to the technical support department of your software provider.
You can set Hyperion Essbase to provide an outline change log that saves detailed modification information to an ASCII text file. You can review the outline change log at any time to see a history of all the changes that have been made to an outline since the time it was originally created. This information can be useful to you in the event you ever need to roll back an outline to a previous version. To activate the outline change log, add the following to your ESSBASE.CFG
file:
OUTLINECHANGELOG
TRUE
Each Hyperion Essbase database contains a separate outline change log file. The file and the database occupy the same location. Hyperion Essbase names the log file with the name of the corresponding database followed by the extension.OLG
(database_name.OLG
). The file is stored in the database directory on the server.
The data format of the outline change log file is as follows:
When a user makes and saves changes to an outline, Hyperion Essbase logs modification information into the outline change log as an individual record. Each change record begins and ends with the identifying information shown in Figure 48-18:
[Begin Outline Change for app0/Db1, Thu Sep 19 11:29:54, 1999, By User1] Added new dimension "Overseas" dimension type - sparse dimension tag - (none) Left sibling - None Status - Store Data Level Number - 0 Generation Number - 1 [End Outline Change for app0/Dbl, Thu Sep 18 19:00:25, 1999, by User1] [Begin Outline Change for app0/Dbl, Fri Sep 19 11:29:54, 1999, By User1] Number of member changes for the dimension "Year" : 2 Added new member "day1" to "Jan" : Left sibling - None Unary calc Symbol - Add Level Number - 0 Generation Number - 4 Added new member "day2" to "Jan" : Left sibling - "day1" Status - Store Data Unary calc Symbol - Add Level Number - 0 Generation Number - 4 [End Outline Change for app0/Db1, Fri Sep 19 11:29:56, 1999, By User1] |
The nature of the detailed change information that the outline change log provides depends on the type of change the user makes to the outline, as detailed in Table 48-2. See Impact of Common Outline Changes for information on the restructuring impact of each type of outline change.
Type of Change | Information Included |
---|---|
Add a dimension |
|
Delete a dimension | |
Update a dimension | |
Rename a dimension | |
Move a dimension to a new position | |
Add a member to a dimension | |
Update a member of a dimension | |
Rename a member of a dimension | |
Move a member of a dimension to a new position |
1 The outline change log program reads outline information from left to right; if you are looking at an outline, the left sibling is the sibling directly above (to the left of) the newly added dimension or member. This rule does not apply if the immediately preceding dimension or member is a parent. If a newly added (or moved) member is the first child of its parent or if the member is the first dimension in the outline, the outline change log identifies the dimension or member as None. |
To activate the outline change log function, you need to make the following entry in the ESSBASE.CFG
file:
OUTLINECHANGELOG
TRUE
After you have turned the function on, Hyperion Essbase updates the outline change log automatically each time a user makes changes to a Hyperion Essbase database outline.
Note: | During a restructure, Hyperion Essbase holds outline change information in memory until all updates have been made to the outline change log. Turning on the outline change log may, therefore, affect restructure performance. Restructuring Considerations discusses other conditions that affect restructure performance. |
If you want to disable changes from being made to the outline change log file or to remove the log from the ESSBASE.CFG
file, change the setting in the ESSBASE.CFG
file to the following:
OUTLINECHANGELOG FALSE
The default file size assigned for the outline change log is 64,000 bytes. When the file reaches this size, Hyperion Essbase copies the contents of the file to a backup file. The name of the backup file is the same as the outline change log file, but with an.OLB
extension (database_name.OLB
). The outline change log is cleared, and any additional log entries are written to the outline change log file. Each time the outline change log file reaches its maximum file size, Hyperion Essbase replaces the backup file with a backup of the current outline change log. This cycle repeats as Hyperion Essbase continues to add log entries to the outline change log.
If you want to set the outline change log file size larger than the default of 64,000 bytes, you need to make the following entry in the ESSBASE.CFG
file:
OUTLINECHANGELOGFILESIZE n
In the syntax above, n is a number interpreted in bytes. For example, entering 20000 sets the file size to 20,000 bytes; entering 9216 sets the file size to 9 kilobytes. The minimum file size is 8,092 bytes; the maximum is 2 megabytes. The default, minimum, and maximum file sizes for the backup file are the same as the defaults specified for the outline change log file. For example, if you use the OUTLINECHANGELOGFILESIZE setting to change the maximum size of the outline change log file to 2 megabytes, you automatically set the.OLB
backup file to the same maximum size.
Hyperion Essbase uses a check-out facility for server-based objects to ensure that no more than one user attempts to modify an object at one time. By default, whenever a user opens a server-based object, Hyperion Essbase locks the object. If a second user attempts to open the same object, a message is displayed. The message indicates that the object is already locked and notes who has locked it.
You can override the lock error by unchecking Lock file in the Application Desktop window before attempting to open an object. This action essentially opens the file in read-only mode and you cannot save any changes you make.
There are two ways to unlock a previously locked object:
Note: |
Users can unlock only those objects that they originally locked. A supervisor can unlock files that are locked by other users. File locking is not the same as block locking. For information about how Hyperion Essbase locks data blocks, see Ensuring Data Integrity. |
![]() |
You can use the UNLOCKOBJECT command in ESSCMD to perform this task. See the online Technical Reference in the DOCS directory for information about this command. See Performing Interactive and Batch Operations Using ESSCMD for information about ESSCMD.
|
Each application that is loaded is an open task or process in the operating system. On Windows platforms, the application is displayed in a Hyperion Essbase server window. On UNIX platforms, the application server is often a background process. When the application starts, ESSBASE.EXE
(ESSBASE
on UNIX systems) starts the ESSSVR process.
The application server records its activities, such as writing data to an application log file, appname.LOG
, in the \ESSBASE\APP\
appname directory. You can open and view this text file when you need to troubleshoot problems or view application activity. On Windows platforms, you can also view application activities as they occur in the Hyperion Essbase server window. On UNIX, you can route all messages to a file with the tail
-f
logfile command, where logfile is the name of a file that you specify.
On Windows platforms, when the Agent starts an application, a new icon is displayed in the Taskbar.You can double-click the icon to view the server window.
Table 48-3 provides error message categories for each error number range that is shown in the first column. When you receive an error message, use this table to look up the Hyperion Essbase component to which the error is related.
Error Message Number Range | Hyperion Essbase Component That Generated Error |
---|---|
1001000-1001999 | Report Writer Extractor |
1002000-1002999 | General server |
1003000-1003999 | Hyperion Essbase kernel |
1004000-1004999 | Not currently used |
1005000-1005999 | Backup, export, or validate |
1006000-1006999 | Data cache |
1007000-1007999 | Member structure |
1008000-1008999 | System calls, portable layer, ASD, or Agent |
1009000-1009999 | Restoring ASCII data |
1010000-1010999 | Internal (block numbering) |
1011000-1011999 | Internal (utilities) |
1012000-1012999 | Calculator |
1013000-1013999 | Requestor |
1014000-1014999 | Lock Manager |
1015000-1015999 | Alias Table |
1016000-1016999 | Report Writer |
1017000-1017999 | Currency |
1018000-1018999 | Message database |
1019000-1019999 | Database objects |
1020000-102999 | Spreadsheet Extractor |
1021000-1021999 | SQL Interface |
1022000-1022999 | Security |
1023000-1023999 | Partitioning |
1024000-1024999 | Query Extractor |
1030000-1030999 | Application Programming Interface (API) |
1040000-1040999 | Network |
1041000-1041999 | Network--Named Pipes |
1042000-1042999 | Network--TCP |
1050000-1059999 | Agent |
1060000-1069999 | Outline API |
1070000-1079999 | Index cache |
1080000-1089999 | Transaction manager |
1090000-1099999 | Rules file processing |
1100000-1109999 | Grid API |
1110000-1119999 | Hyperion Web Gateway (HWG) |
1140000-1149999 | Linked Reporting Objects |
1150000-1169999 | Outline operations |
1170000-1179999 | Attributes |
1180000-1189999 | Showcase |
1190000-1199999 | Hyperion Integration Server (HIS) |
1200000-1120999 | Calculator framework |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Copyright © 1991-2000 Hyperion Solutions Corporation. All rights reserved.