HYPERION® APPLICATION BUILDER FOR .NET RELEASE 11.1.1

DEVELOPER’S GUIDE Application Builder for .NET Developer’s Guide, 11.1.1 Copyright © 2004,2008, Oracle and/or its affiliates. All rights reserved. Authors: EPM Information Development Team This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS: Programs, software, , and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065. This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of this software. and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications. This software and documentation may provide access to or information on content, products and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third party content, products and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third party content, products or services. Contents

Chapter 1. Getting Started with Application Builder for .NET ...... 7 Overview ...... 7 Setting Up the Development Environment ...... 8 Programming Environment Requirements ...... 8 About Embedded Java Application Programming Interface ...... 9 Prerequisites ...... 9 Enabling Embedded JAPI ...... 10 Managing the Embedded JAPI Feature ...... 10 Running the Embedded JAPI Utility ...... 11

Chapter 2. Creating OLAP Aware Web Application with Application Builder for .NET ...... 13 Overview ...... 13 Prerequisites ...... 13 Creating a Basic ASP.NET Application ...... 13 Setting Up Dependencies ...... 14 Creating a Sample Application using List box, Drop-Down List, and Data Grid ...... 14 Creating a Sample Application using Grid Adapter OWC11, List Box, and Drop-down List ...... 22

Chapter 3. Creating OLAP Aware Windows Application with Application Builder for .NET ...... 31 Overview ...... 31 Prerequisites ...... 31 Creating a Basic Windows Application ...... 31 Setting Up Dependencies ...... 32 Creating a Sample Application using List Box, Combo Box, Tree View, and Data Grid ...... 32 Creating a Sample Application using Grid Adapter OWC11, List Box, Combo Box, and Tree View ...... 41

Chapter 4. Programming with Base Classes ...... 51 Overview ...... 51 EssOperations ...... 52 EssConnection ...... 53

Contents iii EssDomain ...... 53 EssProperties ...... 54

Chapter 5. Programming with Dialog Classes ...... 55 Overview ...... 55 SignOnDialog ...... 55 MemberSelectionDialog ...... 56 EssTreeview ...... 56

Chapter 6. Application Builder for .NET ASP.Net Components Reference ...... 59 Overview ...... 59 Data Server Component ...... 59 Web Grid Adapters ...... 61 Grid Adapter Generic ...... 61 Grid Adapter OWC11 ...... 61 Web Metadata Adapters ...... 62 Drop-Down List Adapter ...... 62 List Box Adapter ...... 63 TreeviewAdapter ...... 64

Chapter 7. Application Builder for .NET Windows Components Reference ...... 67 Overview ...... 67 ComboBoxAdapter ...... 67 DataServer ...... 68 GridAdapterOWC11 ...... 69 ListBoxAdapter ...... 70 TreeViewAdapter ...... 71

Appendix A. Application Builder for .NET ...... 73 Overview ...... 73 Hyperion.Objects.Essbase.Common ...... 74 Hyperion.Objects.Essbase.Common.Grid ...... 75 Hyperion.Objects.Essbase.Common.Transports ...... 76 Hyperion.Objects.Essbase.Common.Grid.OWC11 ...... 76 Hyperion.Objects.Essbase.Components.Design ...... 77 Hyperion.Objects.Essbase.Components.Metadata ...... 77 Hyperion.Objects.Essbase.Components.Web.Design ...... 79 Hyperion.Objects.Essbase.Components.Web ...... 79 Hyperion.Objects.Essbase.Components.Windows.Design ...... 80 Hyperion.Objects.Essbase.Components.Windows ...... 81

iv Contents Hyperion.Objects.Essbase.Windows.Forms ...... 82

Appendix B. Migrating Application Builder for .NET Applications ...... 85 Overview ...... 85 Comparing the Components of Application Builder for .NET Release 9.2 with Application Builder for .NET Release 11.1.1.0 ...... 85 Migrating to Application Builder for .NET Release 11.1.1 ...... 88 Drag-Drop Option ...... 88 Run time ...... 92

Appendix . Performance Tuning ...... 93 Performance Tuning to Retrieve Records ...... 93

Index ...... 95

Contents v vi Contents Getting Started with 1 Application Builder for .NET

In This Chapter Overview ...... 7 Setting Up the Development Environment...... 8 Programming Environment Requirements ...... 8 About Embedded Java Application Programming Interface...... 9 Enabling Embedded JAPI...... 10 Managing the Embedded JAPI Feature ...... 10 Running the Embedded JAPI Utility ...... 11

This chapter introduces Oracle's Hyperion® Application Builder for .NET. It describes how to create a basic application within the .NET environment that will access Oracle Essbase data.

Overview Application Builder for .NET provides a comprehensive set of OLAP-aware classes for data navigation, selection, reporting, and visualization to assist you in building custom analytical applications. These controls provide you with the tools to quickly create and deploy applications in stand-alone, client-server, Web, or distributed processing environments. Application Builder for .NET is a component of the Oracle Enterprise Performance Management system that provides an application development workbench for companies wanting to use the Microsoft .NET Framework to create tailored business performance management solutions. Application Builder for .NET includes the following key features:

● Drag and Drop components for creating OLAP aware applications for Web and Windows using MS Visual Studio.Net

● .NET Framework compatibility

● Web Service -based architecture (SOAP) Application Builder for .NET provides the following functionality:

● Base classes. These classes contain basic OLAP functionality and encapsulate functionality necessary to connect to and perform operations on Essbase applications and databases.

● Dialog components. These classes encapsulate the functionality of Essbase dialog boxes, including the sign-on and member selection dialog boxes.

Overview 7 ● Grid classes: These classes encapsulate functionality enabling data grid controls to display Essbase data.

● Application Builder for .NET Drag and Drop OLAP aware components utilize the functionality listed preceding and bind the Microsoft .Net application controls to Essbase. These components use this technique to expose all Essbase functionality to enable creation of OLAP aware Web based and Desktop applications utilizing the Microsoft .Net framework.

Setting Up the Development Environment To develop Application Builder for .NET applications within Visual Studio for .NET, perform the following steps:

● Install and configure Microsoft Visual Studio for .NET.

● Install Application Builder for .NET and note which directory contains theApplication Builder for .NET assemblies.

● If you are developing an ASP .NET (Active Server Pages) application, install or ensure access to an instance of Microsoft Internet Information Server (IIS).

● If you are developing applications using Microsoft Office Web Components (OWC11), you may need to add Microsoft Office Primary Interop Assemblies and install additional assemblies available from www.microsoft.com.

● Install or ensure access to an Essbase server and application. This guide assumes that you will be using the Sample application and Basic installed with Essbase.

● Ensure that the Application Builder for .NET .WAR file has been applied to your Web application server. For information on how to deploy the .WAR file, see the Enterprise Performance Management System Installation and Configuration Guide.

● Ensure that Oracle Hyperion Provider Services™ is running, and that your application server can access it.

Programming Environment Requirements The examples and graphics in the Application Builder for .NET Release 11.1.1.0 Developer's Guide are built in Microsoft Visual Studio .NET 2003, using Microsoft for .NET and Microsoft C# for .NET.

● Microsoft VB.NET

● C#.NET 2003 Any design-time work that involves actual data from the database requires an active connection to an Essbase server. Design work such as layout and inter-object communication can be done without a live connection.

8 Getting Started with Application Builder for .NET About Embedded Java Application Programming Interface The Embedded Java Application Programming Interface (JAPI) feature is a simple deployment of the JAPI solution. Enabling this feature will provide the Application Builder for .NET applications to establish connection with the Essbase servers even when Provider Services is not installed, see Figure. The connection protocol between the Application Builder for .NET applications and the Essbase servers is TCP/IP or HTTPS.

Figure 1 Embedded JAPI Connectivity

The embedded JAPI deployment for Application Builder for .NET includes .jar files and property files. When you enable the embedded JAPI feature, the Application Programming Interface (API) client will include these .jar files and property files in the Application Builder for .NET application.

Prerequisites Some of the current Java API customers may require only Java API functionality, and will not require a full installation of the Provider Services product with the extended functionality such as Clustering, High Availability, Connection Pooling, and XMLA provider. Complete these prerequisites to enable this feature:

● %APS_HOME% should contain both \bin and \data folders

● %APS_HOME%\bin should contain essbase.properties file

● Update the Habnet.properties file. In \HABNET_HOME\products\Essbase\habnet\Server\lib\, In Habnet.properties file include value EDSUrl=Embedded.

About Embedded Java Application Programming Interface 9 ● From Essbase server installation location: HABNET_HOME\products\Essbase\habnet \server\lib copy the Essbase.properties file to %APS_HOME%\bin.

Enabling Embedded JAPI The embedded JAPI feature is available when you install this release of Application Builder for .NET. However, to enable this feature, you must do some updates to the Habnet.properties file. With this feature update to the Application Builder for .NET release, to establish connection between Application Builder for .NET applications and Essbase has a option of using either Provider Services or embedded JAPI depending on the requirement. This utility is run based on the following assumptions:

● The password information of the Essbase servers are read without any encryption.

● The user ID and password information is used for authentication and this utility will update only the server name information in the domain.db file.

● The utility will read the environment variables APS_HOME and HABNET_HOME to get the location information of the files domain.db and essbase_servers..

➤ To enable the embedded JAPI utility: 1 In the Habnet.properties file, for EDSUrl provide the value Embedded. 2 Save and close the Habnet.properties file.

➤ To revert to Provider Services: 1 In the Habnet.properties file, for EDSUrl provide the value EDSUrl = http://:/aps/JAPI. 2 Save and close the Habnet.properties file.

Managing the Embedded JAPI Feature This feature offers a utility that gathers the Essbase server information (server name, user ID, and password) from the XML template file essbase_servers.xml and updates the domain.db file. The user has a privilege to add the server information in essbase_servers.xml to "add","delete" and "None" actions to update the domain.db file. The essbase_servers.xml file must include these server information:

10 Getting Started with Application Builder for .NET

In essbase_servers.xml file the action attribute can have one of the following values: Add, Delete and None. Add value adds the specified server information to domain.db file. Delete value deletes the specified server information from the domain.db file. None value means no action performed on the domain.db file. The Application Builder for .NET applications will use this information that is present in the domain.db file to communicate with the Essbase servers. The domain.db file is present in the folder APS_HOME\data.

Running the Embedded JAPI Utility As prerequisite, the essbase_servers.xml file must be present in the location \HABNET_HOME\products\Essbase\habnet\Server\lib. Once this utility is run, the domain.db file is created in the location APS_HOME\data. You can run the embedded JAPI utility from the Application Builder for .NET installation directories. The embedded JAPI utilty will update the server information in the domain.db file.

➤ To run the embedded JAPI utility and update the XML template file: 1 For Windows: from %HABNET_HOME%\products\Essbase\habnet\Server\bin\, run command ESSJapiUtil.bat. 2 For Unix: from $HABNET_HOME/products/Essbase/habnet/Server/bin/, run command ESSJapiUtil.sh. You can register or deregister the Essbase servers with or without resetting the password or exporting the Essbase server information.

➤ To register the Essbase servers and reset the Essbase server passwords: 1 For Windows: from %HABNET_HOME%\products\Essbase\habnet\Server\bin\, run command ESSJapiUtil.bat register. 2 For Unix: from $HABNET_HOME/products/Essbase/habnet/Server/bin/, run command ESSJapiUtil.sh register.

➤ To export the Essbase server information (This command will not record the password information): 1 In \HABNET_HOME\products\Essbase\habnet\Server\lib create the essbase_servers_export.xml file. 2 For Windows: from %HABNET_HOME%\products\Essbase\habnet\Server\bin\, run command ESSJapiUtil.bat export.

Running the Embedded JAPI Utility 11 3 For Unix: from $HABNET_HOME/products/Essbase/habnet/Server/bin/, run command ESSJapiUtil.sh export.

➤ To register Essbase servers without passwords reset: 1 For Windows: from %HABNET_HOME%\products\Essbase\habnet\Server\bin\, run command ESSJapiUtil.bat registernoreset. 2 For Unix: from $HABNET_HOME/products/Essbase/habnet/Server/bin/, run command ESSJapiUtil.sh registernoreset.

12 Getting Started with Application Builder for .NET Creating OLAP Aware Web 2 Application with Application Builder for .NET

In This Chapter Overview ...... 13 Prerequisites...... 13 Creating a Basic ASP.NET Application...... 13

This chapter guides you through developing advancedApplication Builder for .NET applications. It introduces ASP.NET programming with frequently-used Application Builder for .NET classes.

Overview Creating an application with Application Builder for .NET provides the flexibility of creating OLAP aware applications in any .NET language and leverages Essbase functionality. This section shows how to create an ASP.NET based OLAP aware application.

Prerequisites The following are the prerequisites for creating a sample application: 1. Install Application Builder for .NET. Refer Oracle Hyperion Enterprise Performance Management System Installation and Configuration Guide and the readme for Application Builder for .NET. 2. “Setting Up Dependencies” on page 14.

Creating a Basic ASP.NET Application Follow the procedures in this topic to create a .NET application to navigate, retrieve, and display data from an Essbase sample application and database.

➤ To set up a sample application: 1 Launch Microsoft Visual Studio for .NET. 2 Click New Project.

Overview 13 3 Select the Visual C# Projects or Visual Basic Projects folder and the ASP.NET Web Application template. 4 Optionally, rename the project file. 5 Click OK.

Setting Up Dependencies To use Application Builder for .NET methods and properties, you must add references to the Application Builder for .NET assemblies in your program.

➤ To add Application Builder for .NET adapter components to the Toolbox: 1 Right-click on the Toolbox and choose Add/Remove Items. The Customize Toolbox dialog box opens. 2 Click Browse and navigate to the directory containing the Application Builder for .NETassemblies. The default directory is \products\Essbase\habnet\Client\bin. 3 Select the Hyperion.Objects.Essbase.Components.Web.dll file and click Open. 4 Click OK.

➤ To add Microsoft Office 11.0 to the Toolbox: 1 Right-click on the Toolbox and choose Add/Remove Items. The Customize Toolbox dialog box opens. 2 Click the COM Components tab and select Microsoft Office Spreadsheet 11.0. 3 Click OK.

Creating a Sample Application using List box, Drop-Down List, and Data Grid This sample application demonstrates the use of List box, Drop-down list, and Data Grid to select and display data.

Note: Make sure you have installed all the prerequisites before creating a sample application.

➤ To create a Sample Application using List box, Drop-Down List, and Data Grid in Application Builder for .NET : 1 Launch Visual Studio .NET 2003 and start a new project. 2 Choose ASP.NET Web Application and select Visual Basic or C# as the . 3 Drag-and-drop the Microsoft Drop-down List into the form in the designer window.

14 Creating OLAP Aware Web Application with Application Builder for .NET 4 Drag-and-drop the Microsoft List Box and Button into the form in the designer window. 5 Drag-and-drop a Microsoft Data Grid into the form in the designer window. After you have dragged and dropped all the required components in the designer window, the designer window should look as shown below:

6 Drag-and-drop the DataServer component from the Toolbox to add it to the component tray.

Note: There is a 1:1 relationship between the Microsoft components and the Application Builder for .NET components except for the Data Server. For Example: If you have dragged and dropped five Drop-down List into the designer form, you must drag-and-drop five DropDownListAdapter components into the component tray. 7 Drag-and-drop the DropDownListAdapter component from the Toolbox to add it to the component tray. 8 Drag-and-drop the ListBoxAdapter component from the Toolbox to add it to the component tray. After you have dragged and dropped all the required components into the component tray, the component tray should look as shown below:

Creating a Basic ASP.NET Application 15 9 Select the DataServer in the component tray and invoke the property container for this component. 10 Click the Sign On link in the designer verb collection area within the property container. The Essbase Sign On dialog box is displayed.

a. Enter Essbase login credentials in the Sign-on dialog box. b. If the Server default information is different from the current value, click Options. c. Clear Use Server Default checkbox to enter new information. For more information on adding server information, contact your Essbase System Administrator. d. Click OK. The Select Cube dialog box is displayed.

16 Creating OLAP Aware Web Application with Application Builder for .NET 11 Select the required cube and click OK. 12 Select the DropDownListAdapter component in the component tray and invoke the property container for this component. 13 In the Properties window, select values for ControlToBind and DataServer properties. 14 Click SelectMembers in the designer verb collection area within the property container. The Member Selection dialog box is displayed.

Creating a Basic ASP.NET Application 17 a. Select the required members. b. Click Add to add the members. c. Click OK.

Note: Similarly, follow steps 12–14 for all the DropDownListAdapter components. 15 Select the ListBoxAdapter component in the component tray and invoke the property container for this component. 16 In the Properties window, select values for ControlToBind, DataServer and Button properties.

Note: When you are using more than four ListBoxAdapters to retrieve data fromEssbase, you must set the Layout property of atleast one ListBoxAdapter to Column. To know more about this rule, see Row/Column Rules section in the Oracle Essbase Spreadsheet Add-in User's Guide. 17 Click SelectMembers in the designer verb collection area within the property container and select the members form the Member Selection dialog box.

Note: Similarly, follow steps 15–17 for all the ListBoxAdapter components.

18 Creating OLAP Aware Web Application with Application Builder for .NET 18 Double-click on the form to open the code window and add the following lines before the namespace declaration:

● If you are programming in C#: using Hyperion.Objects.Essbase.Common.Grid.WebDataGrid;

● If you are programming in Visual Basic for .NET: Imports Hyperion.Objects.Essbase.Common.Grid.WebDataGrid After you have added the code, the screen should look as shown below:

19 Create the following variables in the class declaration section of your form:

● If you are programming in C#: private GridWebDataGrid EssbaseGrid = new GridWebDataGrid();

● If you are programming in Visual Basic for .NET: private GridWebDataGrid EssbaseGrid = new GridWebDataGrid() After you have created the variables, the screen should look as shown below:

Creating a Basic ASP.NET Application 19 20 Add code to the Page_Load method that will enable your application to connect to Essbase and to perform operations on a cube.

● If you are programming in C#: ///plug the physical grid into the essbase grid object EssbaseGrid.DataGrid = this.DataGrid1;

this.dataServer1.EssOperations.Grid = EssbaseGrid;

● If you are programming in Visual Basic for .NET: EssbaseGrid.DataGrid = Me.DataGrid1

Me.DataServer1.EssOperations.Grid = EssbaseGrid After you have added the code, the screen should look as shown below:

20 Creating OLAP Aware Web Application with Application Builder for .NET 21 Run the application. Once you run the application, the screen should look as follows:

Creating a Basic ASP.NET Application 21 Note: The number of records retrieved depends on the System Memory and Application Memory settings. For more information, see Appendix C, “Performance Tuning ”.

Creating a Sample Application using Grid Adapter OWC11, List Box, and Drop-down List This sample application demonstrates the use of Grid Adapter OWC11, List box, and Drop- down list. You can use the list box or the drop-down list to generate the output in the Grid Adapter OWC11.

Note: Make sure you have installed all the prerequisites before creating a sample application.

22 Creating OLAP Aware Web Application with Application Builder for .NET ➤ To create a Sample Application using Grid Adapter OWC11, List Box, and Drop-down List inApplication Builder for .NET : 1 Launch Visual Studio .NET 2003 and start a new project. 2 Choose ASP.NET Web Application and select Visual Basic or C# as the programming language. 3 Drag-and-drop the Microsoft List Box and Button into the form in the designer window. 4 Drag-and-drop the Microsoft Drop-down List into the form in the designer window. 5 Drag-and-drop Microsoft Office Spreadsheet into the form in the designer window. After you have dragged and dropped all the required components in the designer window, the designer window should look as shown below:

6 Drag-and-drop the DataServer component from the Toolbox to add it to the component tray.

Note: There is a 1:1 relationship between the Microsoft components and the Application Builder for .NET components except for the Data Server. For Example: If you have dragged and dropped five Drop-down List into the designer form, you must drag-and-drop five DropDownListAdapter components into the component tray. 7 Drag-and-drop the ListBoxAdapter component from the Toolbox to add it to the component tray. 8 Drag-and-drop the DropDownListAdapter component from the Toolbox to add it to the component tray. 9 Drag-and-drop the GridAdapterOWC11 component from the Toolbox to add it to the component tray. After you have dragged and dropped all the required components into the component tray, the component tray should look as shown below:

Creating a Basic ASP.NET Application 23 10 Select the DataServer component in the component tray and invoke the property container for this component. 11 Click the Sign On link in the designer verb collection area within the property container. The Sign-On dialog box is displayed.

a. Enter Essbase login credentials in the Sign-on dialog box. b. If the Server default information is different from the current value, click Options. c. Clear the Use Server Default checkbox to enter new information. For more information on adding server information, contact your Essbase System Administrator. d. Click OK. The Select Cube dialog box is displayed.

24 Creating OLAP Aware Web Application with Application Builder for .NET 12 Select the required cube and click OK. 13 Select the ListBoxAdapter component in the component tray and invoke the property container for this component. 14 In the Properties window, select values for ControlToBind, DataServer, and Button properties.

Note: When you are using more than four ListBoxAdapters to retrieve data fromEssbase, you must set the Layout property of atleast one ListBoxAdapter to Column. To know more about this rule, see Row/Column Rules section in the Oracle Essbase Spreadsheet Add-in User's Guide. 15 Click SelectMembers in the designer verb collection area within the property container. The Member Selection dialog box is displayed.

Creating a Basic ASP.NET Application 25 a. Select the required members. b. Click Add to add the members. c. Click OK.

Note: Similarly, follow steps 13–15 for all the ListBoxAdapter components. 16 Select the DropDownListAdapter component in the component tray and invoke the property container for this component. 17 In the Properties window, select values for ControlToBind and DataServer properties. 18 Click SelectMembers in the designer verb collection area within the property container and select the Members from the Member Selection dialog box.

Note: Similarly, follow steps 16–18 for all the DropDownListAdapter components. 19 Select the GridAdapterOWC11 component in the component tray and invoke the property container for this component. 20 In the Properties window, select a value for the DataServer property.

26 Creating OLAP Aware Web Application with Application Builder for .NET Note: Similarly, follow steps 19–20 for all the GridAdapterOWC11 components. 21 Double-click on the form to open the code window and add the following lines before the namespace declaration:

● If you are programming in C#: using Hyperion.Objects.Essbase.Common.Grid.OWC11;

● If you are programming in Visual Basic for .NET: Imports Hyperion.Objects.Essbase.Common.Grid.OWC11 After you have added the code, the screen should look as shown below:

22 Add code to the Page_Load method that will enable your application to connect to Essbase and to perform operations on a cube.

● If you are programming in C#: ///plug the physical grid into the essbase grid object

GridAdapterOWC11.intializespreadsheet(); GridAdapterOWC11.clientOWC11spreadsheetname=”form1.spreadsheetname”;

● If you are programming in Visual Basic for .NET: GridAdapterOWC11.intializespreadsheet()

GridAdapterOWC11.clientOWC11spreadsheetname=”form1.spreadsheetname” After you have added the code, the screen should look as shown below:

Creating a Basic ASP.NET Application 27 23 Double-click the Button to open the code window and add the following line in the button click event:

● If you are programming in C#: gridAdapterOWC111.ZoomIn();

● If you are programming in Visual Basic for .NET: gridAdapterOWC111.ZoomIn()

28 Creating OLAP Aware Web Application with Application Builder for .NET Note: Similarly, follow the same process for all the Buttons. 24 Run the application. Once you run the application, the screen should look as shown below.

Creating a Basic ASP.NET Application 29 Note: The number of records retrieved depends on the System Memory and Application Memory settings. For more information, see Appendix C, “Performance Tuning ”.

30 Creating OLAP Aware Web Application with Application Builder for .NET Creating OLAP Aware Windows 3 Application with Application Builder for .NET

In This Chapter Overview ...... 31 Prerequisites...... 31 Creating a Basic Windows Application...... 31

This chapter guides you through preparing the environment and creating an OLAP aware Windows application utilizing MS Visual Studio and Application Builder for .NET Windows Components.

Overview Creating an application with Application Builder for .NET for Windows provides the flexibility of creating OLAP aware applications in any .NET language and leverages Essbase functionality. This section shows how to create an Windows based OLAP aware application.

Prerequisites The following are the prerequisites for creating a sample application: 1. Install Application Builder for .NET. Refer Oracle Hyperion Enterprise Performance Management System Installation and Configuration Guide and the readme for Application Builder for .NET 2. “Setting Up Dependencies” on page 32

Creating a Basic Windows Application Follow the procedures in this topic to create a Windows application to navigate, retrieve and display data from an Essbase sample application and database.

➤ To set up a sample application: 1 Launch Microsoft Visual Studio for .NET. 2 Click New Project.

Overview 31 3 Select the Visual C# Projects or Visual Basic Projects folder and the Windows Application template. 4 Optionally, rename the project file. 5 Click OK.

Setting Up Dependencies To use Application Builder for .NET methods and properties, you must add references to the Application Builder for .NET assemblies in your program.

➤ To add Application Builder for .NET adapter components to the Toolbox: 1 Right-click on the Toolbox and choose Add/Remove Items. The Customize Toolbox dialog box opens. 2 Click Browse and navigate to the directory containing the Application Builder for .NET assemblies. The default directory is \products\Essbase\habnet\Client\bin. 3 Select the Hyperion.Objects.Essbase.Components.Windows.dll file and click Open. 4 Click OK.

➤ To add Microsoft Office Spreadsheet 11.0 to the Toolbox: 1 Right-click on the Toolbox and choose Add/Remove Items. The Customize Toolbox dialog box opens. 2 Click the COM Components tab and select Microsoft Office Spreadsheet 11.0. 3 Click OK.

Creating a Sample Application using List Box, Combo Box, Tree View, and Data Grid This sample application demonstrates the use of List box, Combo box, Tree View, and Data Grid. You can use the List box or the Combo box to generate the output in the Data Grid. You can select any dimension and members in the Tree View to retrieve and display data in the Data Grid.

Note: Make sure you have installed all the prerequisites before creating a sample application.

➤ To create a Sample Application using List Box, Combo Box, Tree View, and Data Grid inApplication Builder for .NET : 1 Launch Visual Studio .NET 2003 and start a new project. 2 Choose ASP.NET Web Application and select Visual Basic or C# as the programming language.

32 Creating OLAP Aware Windows Application with Application Builder for .NET 3 Drag-and-drop the Microsoft Tree View and Button into the form in the designer window. 4 Drag-and-drop the Microsoft Combo Box into the form in the designer window. 5 Drag-and-drop the Microsoft List Box and Button into the form in the designer window. 6 Drag-and-drop a Microsoft Data Grid into the form in the designer window. After you have dragged and dropped all the required components in the designer window, the designer window should look as shown below:

7 Drag-and-drop the DataServer component from the Toolbox to add it to the component tray.

Note: There is a 1:1 relationship between the Microsoft components and the Application Builder for .NET components except for the Data Server. For Example: If you have dragged and dropped five Drop-down List into the designer form, you must drag-and-drop five DropDownListAdapter components into the component tray. 8 Drag-and-drop the ComboBoxAdapter component from the Toolbox to add it to the component tray. 9 Drag-and-drop the TreeViewAdapter component from the Toolbox to add it to the component tray. 10 Drag-and-drop the ListBoxAdapter component from the Toolbox to add it to the component tray. After you have dragged and dropped all the required components into the component tray, the component tray should look as follows:

Creating a Basic Windows Application 33 11 Select the DataServer in the component tray and invoke the property container for this component. 12 Click the Sign On link in the designer verb collection area within the property container. The Essbase Sign On dialog box is displayed.

a. Enter Essbase login credentials in the Sign-on dialog box. b. If the Server default information is different from the current value, click Options. c. Clear Use Server Default checkbox to enter new information. For more information on adding server information, contact your Essbase System Administrator. d. Click OK. The Select Cube dialog box is displayed.

34 Creating OLAP Aware Windows Application with Application Builder for .NET 13 Select the required cube and click OK. 14 Select the ComboBoxAdapter component in the component tray and invoke the property container for this component. 15 In the Properties window, select values for ControlToBind and DataServer properties. 16 Click SelectMembers in the designer verb collection area within the property container. The Member Selection dialog box is displayed.

Creating a Basic Windows Application 35 a. Select the required members. b. Click Add to add the members. c. Click OK.

Note: Similarly, in case of more that one ComboBoxAdapter, follow steps 14–16 for all the ComboBoxAdapter components. 17 Select the ListBoxAdapter component in the component tray and invoke the property container for this component. 18 In the Properties window, select values for ControlToBind, DataServer and Button properties.

Note: When you are using more than four ListBoxAdapters to retrieve data from Essbase, you must set the Layout property of atleast one ListBoxAdapter to Column. To know more about this rule, see Row/Column Rules section in the Oracle Essbase Spreadsheet Add-in User's Guide. 19 Click SelectMembers in the designer verb collection area within the property container and select the members form the Member Selection dialog box.

36 Creating OLAP Aware Windows Application with Application Builder for .NET Note: Similarly, in case of more that one ListBoxAdapter, follow steps 17–19 for all the ListBoxAdapter components. 20 Select the TreeViewAdapter component in the component tray and invoke the property container for this component. 21 In the Properties window, select values for ControlToBind, DataServer and Button properties 22 Click SelectMembers in the designer verb collection area within the property container. The Member Selection dialog box is displayed.

a. Select any Dimension from the Dimension list. b. Select the required members. c. Click OK. 23 Double-click on the form to open the code window and add the following lines before the namespace declaration:

● If you are programming in C#: using Hyperion.Objects.Essbase.Common.Grid.WindowsDataGrid;

● If you are programming in Visual Basic for .NET: Imports Hyperion.Objects.Essbase.Common.Grid.WindowsDataGrid After you have added the code, the screen should look as follows:

Creating a Basic Windows Application 37 24 Create the following variables in the class declaration section of your form:

● If you are programming in C#: private GridWindowsDataGrid EssbaseGrid= new GridWindowsDataGrid ();

● If you are programming in Visual Basic for .NET: private EssbaseGrid as new GridWindowsDataGrid() After you have created the variables, the screen should look as follows:

38 Creating OLAP Aware Windows Application with Application Builder for .NET 25 Add code to the Page_Load method that will enable your application to connect to Essbase and to perform operations on a cube.

● If you are programming in C#: ///plug the physical grid into the essbase grid object EssbaseGrid.DataGrid = this.DataGrid1;

this.dataServer1.EssOperations.Grid = EssbaseGrid;

● If you are programming in Visual Basic for .NET: EssbaseGrid.DataGrid = Me.DataGrid1

Me.DataServer1.EssOperations.Grid = EssbaseGrid After you have added the code, the screen should look as follows:

Creating a Basic Windows Application 39 26 Run the application. Once you run the application, the screen should look as shown below.

40 Creating OLAP Aware Windows Application with Application Builder for .NET Note: The number of records retrieved depends on the System Memory and Application Memory settings. For more information, see Appendix C, “Performance Tuning ”.

Creating a Sample Application using Grid Adapter OWC11, List Box, Combo Box, and Tree View This sample application demonstrates the use of Grid Adapter OWC11, List box, Combo box, and Tree View. You can use the list box or the Combo box to generate the output in the Grid Adapter OWC11. You can select any dimension and members in the Tree View to retrieve and display data in the Grid Adapter OWC11.

Note: Make sure you have installed all the prerequisites before creating a sample application.

➤ To create a Sample Application using Grid Adapter OWC11, List Box, Combo Box, and Tree View in Application Builder for .NET: 1 Launch Visual Studio .NET 2003 and start a new project. 2 Choose ASP.NET Web Application and select Visual Basic or C# as the programming language. 3 Drag-and-drop the Microsoft Tree View and Button into the form in the designer window. 4 Drag-and-drop the Microsoft List Box and Button into the form in the designer window. 5 Drag-and-drop the Microsoft Combo Box into the form in the designer window. 6 Drag-and-drop Microsoft Office Spreadsheet into the form in the designer window. After you have dragged and dropped all the required components in the designer window, the designer window should look as follows:

Creating a Basic Windows Application 41 7 Drag-and-drop the DataServer component from the Toolbox to add it to the component tray.

Note: There is a 1:1 relationship between the Microsoft components and the Application Builder for .NET components except for the Data Server. For Example: If you have dragged and dropped five List Box into the designer form, you must drag-and-drop five ListBoxAdapter components into the component tray. 8 Drag-and-drop the ListBoxAdapter component from the Toolbox to add it to the component tray. 9 Drag-and-drop the ComboBoxAdapter component from the Toolbox to add it to the component tray. 10 Drag-and-drop the TreeViewAdapter component from the Toolbox to add it to the component tray. 11 Drag-and-drop the GridAdapterOWC11 component from the Toolbox to add it to the component tray. After you have dragged and dropped all the required components into the component tray, the component tray should look as follows:

12 Select the DataServer component in the component tray and invoke the property container for this component.

42 Creating OLAP Aware Windows Application with Application Builder for .NET 13 Click the Sign On link in the designer verb collection area within the property container. The Sign-On dialog box is displayed.

a. Enter Essbase login credentials in the Sign-on dialog box. b. If the Server default information is different from the current value, click Options. c. Clear the Use Server Default checkbox to enter new information. For more information on adding server information, contact your Essbase System Administrator. d. Click OK. The Select Cube dialog box is displayed.

Creating a Basic Windows Application 43 14 Select the required cube and click OK. 15 Select the ListBoxAdapter component in the component tray and invoke the property container for this component. 16 In the Properties window, select values for ControlToBind, DataServer, and Button properties.

Note: When you are using more than four ListBoxAdapters to retrieve data from Essbase, you must set the Layout property of atleast one ListBoxAdapter to Column. To know more about this rule, see Row/Column Rules section in the Oracle Essbase Spreadsheet Add-in User's Guide. 17 Click SelectMembers in the designer verb collection area within the property container. The Member Selection dialog box is displayed.

44 Creating OLAP Aware Windows Application with Application Builder for .NET a. Select the required members. b. Click Add to add the members. c. Click OK.

Note: Similarly, in case of more than one ListBoxAdapter, follow steps 15–17 for all the ListBoxAdapter components. 18 Select the ComboBoxAdapter component in the component tray and invoke the property container for this component. 19 In the Properties window, select values for ControlToBind and DataServer properties. 20 Click SelectMembers in the designer verb collection area within the property container and select the Members from the Member Selection dialog box.

Note: Similarly, in case of more then one ComboBoxAdapter, follow steps 18–20 for all the ComboBoxAdapter components. 21 Select the GridAdapterOWC11 component in the component tray and invoke the property container for this component. 22 In the Properties window, select a value for the DataServer property.

Creating a Basic Windows Application 45 Note: Similarly, in case of more then one GridAdapterOWC11, follow steps 21–22 for all the GridAdapterOWC11 components. 23 Select the TreeViewAdapter component in the component tray and invoke the property container for this component. 24 In the Properties window, select values for ControlToBind, DataServer, and Button properties. 25 Click SelectMembers in the designer verb collection area within the property container. The Member Selection dialog box is displayed.

a. Select any Dimension from the Dimension list. b. Select the required members. c. Click OK. 26 Double-click on the form to open the code window and add the following lines before the namespace declaration:

● If you are programming in C#: using Hyperion.Objects.Essbase.Common.Grid.OWC11;

● If you are programming in Visual Basic for .NET: Imports Hyperion.Objects.Essbase.Common.Grid.OWC11 After you have added the code, the screen should look as follows:

46 Creating OLAP Aware Windows Application with Application Builder for .NET 27 Add code to the Page_Load method that will enable your application to connect to Essbase and to perform operations on a cube.

● If you are programming in C#: ///plug the physical grid into the essbase grid object

GridAdapterOWC111.Spreadsheet = (Microsoft.Office.Interop.Owc11.Spreadsheet)axspreadsheet1.GetOcx();

● If you are programming in Visual Basic for .NET: GridAdapterOWC111.Spreadsheet = (Microsoft.Office.Interop.Owc11.Spreadsheet)axspreadsheet1.GetOcx() After you have added the code, the screen will should look as follows:

Creating a Basic Windows Application 47 28 Double-click the Button to open the code window and add the following line in the button click event:

● If you are programming in C#: gridAdapterOWC111.ZoomIn();

● If you are programming in Visual Basic for .NET: gridAdapterOWC111.ZoomIn()

48 Creating OLAP Aware Windows Application with Application Builder for .NET Note: Similarly, follow the same process for all the Buttons. 29 Run the application. Once you run the application, the screen should look as follows:

Creating a Basic Windows Application 49 Note: The number of records retrieved depends on the System Memory and Application Memory settings. For more information, see Appendix C, “Performance Tuning ”.

50 Creating OLAP Aware Windows Application with Application Builder for .NET 4 Programming with Base Classes

In This Chapter Overview ...... 51 EssOperations...... 52 EssConnection...... 53 EssDomain...... 53 EssProperties...... 54

This chapter explains the most frequently-usedApplication Builder for .NET base classes. It discusses many of the most important properties and methods within the classes.

Overview Application Builder for .NET includes many object classes encapsulating the functionality of the Essbase API. These object classes, plus the dialog classes, enable you to create applications that access Essbase functionality with fewer lines of code than in previous releases of Application Builder for .NET, or in the Essbase API. Figure 2 shows base Application Builder for .NET classes and how they relate to one another.

Overview 51 Figure 2 Base Object Classes

The topics in this section describe the most commonly-used base classes. For more information about all base classes, refer to the online help and the Visual Studio Object Explorer.

EssOperations The EssOperations class encapsulates the functionality of common Essbase operations, including Pivot, Zoom In, Zoom Out, Keep Only, Lock Cells, and Unlock Cells. The EssOperations class is contained in the Hyperion.Objects.Essbase.Common.Grid assembly. Some of the key properties and methods of this class are listed in the following table:

Table 1 Key Properties and Methods of EssOperations

Property or Method Description

EssConnection property Sets or returns the essConnection object used by the current essOperations object to encapsulate connection information for an Essbase databases and applications currently being used.

EssProperties property Sets or returns the essProperties object used by the current essOperations object to specify properties for an Essbase operations.

EssReports property Sets or returns the essReport object used by the current essOperations object for generating reports.

Grid property Sets or returns the Grid object (which has implemented IEssGrid) used by the current EssOperations object.

KeepOnly method Performs a KeepOnly operation on the active cell range in the Grid object associated with the current essOperations object.

52 Programming with Base Classes Property or Method Description

Pivot method Performs a Pivot operation on the currently active cell in the Grid object associated with the current essOperations object.

Retrieve method Performs a Retrieve operation to retrieve all data from the connected Essbase database corresponding to the contents of the Grid object associated with the current essOperations object.

ZoomIn method Performs a ZoomIn operation to zoom-in on data contained in the Grid object associated with this essOperations object.

EssConnection The EssConnection class encapsulates the information and actions used to connect to an Essbase application and database via Provider Services. The EssConnection class is contained in the Hyperion.Objects.Essbase.Common assembly. Some of the key properties and methods of this class are listed in the following table:

Table 2 Key Properties and Methods of EssConnection

Property or Method Description

Application property Sets or returns the name of the Essbase application.

Connected method Returns TRUE if the application is connected to an Essbase database; otherwise FALSE.

CubeViewName property Sets or returns the server cube that will be used.

Database property Sets or returns the name of the Essbase database.

OLAPServer property Sets or returns the Essbase name.

EssApplication property Sets or returns the EssApplication object associated with the current connection.

EssDomain property Sets or returns the EssDomain object associated with the current connection.

Connect method Connects to theEssbase database using the values of the Application, Database, and EssDomain properties.

EssDomain The EssDomain class encapsulates the information and actions used to sign on to the Provider Services and access the server, application, and database hierarchy. The EssDomain class is contained in the Hyperion.Objects.Essbase.Common assembly. The following table lists some of the key properties and methods of the EssDomain class.

EssConnection 53 Table 3 Key Properties and Methods of EssDomain

Property or Method Description

APSServer property Sets or returns the Provider Services server network address.

Domain property Sets or returns the Provider Services domain name.

EncryptedLogin property Sets or returns the flag that determines whether the connection username and password are encrypted before being sent to the server.

Password property Sets or returns the login password.

Username property Sets or returns the username used to log onto Essbase.

SignOn method Signs on to Essbase.

EssProperties The EssProperties class encapsulates properties associated with the current Essbase session. The EssProperties class is contained in the Hyperion.Objects.Essbase.Common.Grid assembly. The following table lists some of the key properties of the EssProperties class.

Table 4 Key Properties of essProperties

Property or Method Description

DrillLevel property Sets or returns the default drill level to be applied to the ZoomIn and ConditionalZoomIn methods of an essOperations object.

HybridAnalysisEnabled property Sets or returns a flag that indicates if Hybrid Analysis is to be enabled for any Essbase operation.

IndentStyle property Sets or returns the indentation style to be applied to data obtained from the Essbase server when it is added to the Grid object associated with an essOperations object.

MissingTextString property Sets or returns the Essbase missing text string to use on the Grid object associated with an essOperations object in data retrieved from an Essbase database.

SendZerosAsMissing property Sets or returns TRUE if the Grid object associated with an essOperations object should treat data that is zero as missing data in retrieves from an Essbase database; otherwise FALSE.

SuppressMissing property Sets or returns TRUE if the Grid object associated with an essOperations object should suppress the retrieval of rows from an Essbase server when the rows contain all #Missing values; otherwise FALSE.

UpdateMode property Sets or returns TRUE if an essOperations object automatically locks the corresponding database area when it retrieves data; otherwise FALSE.

54 Programming with Base Classes Programming with Dialog 5 Classes

In This Chapter Overview ...... 55 SignOnDialog...... 55 MemberSelectionDialog...... 56 EssTreeview...... 56

This chapter describes the most commonly used dialog classes in Application Builder for .NET.

Overview Application Builder for .NET dialog classes encapsulate the functionality of Essbase dialog boxes, including the sign-on and member selection dialog boxes. Dialog boxes can be displayed within an application by using the ShowDialog() method of the specific class. In order to add a dialog box component to an application, add it to the Toolbox and double- click the component. This will add the component to the component tray.

SignOnDialog The SignOnDialog class encapsulates the functionality necessary to display the Sign On dialog box. It uses an EssConnection object to connect to a Essbase application. Some of the more useful properties and methods of this class are summarized in the following table:

Table 5 Selected Properties and Methods of the SignOnDialog class

Property or Method Description

EssConnection property Sets or returns the name of the associated EssConnection object used to connect to an Essbase database.

ShowSelectCubeDialog property Sets or returns the flag that indicates whether the SelectCubeDialog should be displayed automatically when the user clicks the Sign On button and successfully signs on.

ShowDialog method Displays the Sign On dialog .

Overview 55 MemberSelectionDialog The MemberSelectionDialog class encapsulates the functionality of the Essbase Member Select dialog box. You can add this functionality to your .NET application by using this class in your programs. The MemberSelectionDialog class is part of the Hyperion.Objects.Essbase.Windows.Forms assembly. Some of the more useful properties and methods of this class are summarized in the following table:

Table 6 Selected Properties and Methods of the MemberSelectionDialog class

Property or Method Description

MaxGenExpandable property Sets or returns the maximum generation number expandable in the Members tree.

AllowChangeDimension property Sets or returns the flag that enables or disables the Dimension combo box.

AllowLevelNames property Sets or returns the flag that enables or disables the "By Level Name" View Option button.

DefaultDimension property Sets or returns the name of the dimension represented in the Members tree when the Member Selection dialog is displayed.

ListCount property Returns the number of members selected from the last call to GenerateMemberList.

GetMemberList method Generates and returns a collection of members using the selection rules defined for the dimension.

GenerateMemberList method Generates an internal list of members using the selection rules defined for the dimension.

EssTreeview The EssTreeview class encapsulates information and actions necessary to display Essbase members in a tree view control. Some of the more useful properties and methods of this class are summarized in the following table:

Table 7 Selected Properties and Methods of the EssTreeview class

Property or Method Description

EssConnection property Sets or returns the name of the associated EssConnection object used to connect to an Essbase database.

UseAliases property Sets or returns the flag that indicates if member names or Aliases are displayed in the treeview.

PreFillDescendants property Sets or returns the flag that signifies if the descendants should be pre-filled in the treeview.

56 Programming with Dialog Classes Property or Method Description

AddMembers method Adds a list of members as root nodes to the treeview.

Add method Adds a member as a root node to the treeview. The PreFillDescendants and MaxGenExpandable properties determine the members represented in the treeview.

EssTreeview 57 58 Programming with Dialog Classes Application Builder for .NET 6 ASP.Net Components Reference

In This Chapter Overview ...... 59 Data Server Component...... 59 Web Grid Adapters...... 61 Web Metadata Adapters ...... 62 TreeviewAdapter...... 64

This chapter explains theApplication Builder for .NET drag-and-drop controls: data server component, Web grid adapter, and metadata adapters. It also defines the key properties and methods within each of the controls.

Overview Application Builder for .NET uses the DataServer component to maintain the current state of an application and performs all communication with an Essbase server. Web grid adapters and Web metadata adapters contain metadata and data. The adapters synchronize their metadata and data with the Data Server and populate the associated control with the information. To add the DataServer component, Web grid adapters, and Web metadata adapters to an application, add them to the Toolbox and double-click or drag-and-drop the component into the component tray.

Data Server Component The Data Server component for the Web (ASP.NET) is a central component in the development of .NET applications. It consists of all the .NET properties, such as the sign-on dialog, server connection, and so on. Some of the key properties and methods of this class are listed in the following table:

Table 8 Key Properties and Methods of DataServer Component

Property or Method Description

Name Sets or returns the name of the data server component.

Overview 59 Property or Method Description

AutoConnect property Set to TRUE to connect if not currently connected.

ClearPasswordOnRun property Clears the password required to connect to the data server. By default, the flag is set to TRUE.

EssConnection property Sets or returns the essConnection object used by the current DataServer object to encapsulate connection information for Essbase Server databases and applications currently being used.

EssDatapoint property Returns the EssDataPoint object defined.

EssOperations property Sets the Essbase operations, such as retrieving, zooming, pivoting, and updating data.

EssProperties property Sets or returns the essProperties object used by the current dataServer object to specify properties for Essbase operations.

ID Sets or returns the ID for this DataServer object.

OlapMode property Sets to TRUE to connect to the Essbase Server in the OLAP mode.

ReportLocal property Sets to TRUE if local reporting is required; otherwise, FALSE.

ReportObject property Sets the reporting object.

ShowLoginForm property Sets to TRUE to display the login form; otherwise, FALSE.

Caller Set to the object making a request to the Data Server to execute an operation (e.g. Retrieve). By default this is set to the Data Server control itself. Should be used only by the controls attaching themselves to the Data Server.

OlapState property Sets the OLAP state.

KeepOnly method Performs a WebServices KeepOnly Operation on the active cell range in the Grid object associated with this EssOperations object.

LockCells Locks the selected cells in the Essbase database.

Pivot Overloaded. Pivots data in the attached grid object from the Essbase Server database defined in the EssConnection object, based on properties defined in the EssProperties object and the currently active cell in the attached grid object.

RemoveOnly Performs a WebServices RemoveOnly Operation on the active cell range in the Grid object associated with this EssOperations object.

Report Overloaded. Runs an Essbase report script represented in an EssReport object and places the results into a grid.

ReportFile Overloaded. Runs an Essbase report script represented in an EssReport object and places the results into a file.

Retrieve Overloaded. Retrieves data into the attached grid object from theEssbase database defined in the EssConnection object, based on properties defined in the EssProperties object.

RetrieveForState Performs a Retrieve for State operation (the internal grid is changed to match the Olap State).

60 Application Builder for .NET ASP.Net Components Reference Property or Method Description

Update Overloaded. Performs a WebServices Update Operation to update the contents of the connected Essbase database with values corresponding to the contents of the Grid object associated with this EssOperations object.

ZoomIn Overloaded. Zooms in on data in the attached grid object from the Essbase Server database defined in the EssConnection object, based on properties defined in the EssProperties object.

ZoomOut Zooms out on data in the attached grid object from the Essbase database defined in the EssConnection object based, on properties defined in the EssProperties object.

Web Grid Adapters The Web grid adapters enables you to select the data server controls and exchange data from different data grid types and controls the information exchanged between them.

Grid Adapter Generic The GridAdapterGeneric class is used to pass information between grids that have a data source property supporting a dataset. Some of the key properties and methods of this class are listed in the following table:

Table 9 Key Properties and Methods of DropDownListAdapter

Property or Method Description

Name Sets or returns the name of the gird adapter component.

DataServer property Sets or returns the name of the Data Server control used by the current control.

InitializeGrid method Initialized to retrieve grid information into a dataset.

Grid Adapter OWC11 The Office Web Components (OWC) 11 class is used to pass information between grids that have a data source property supporting a dataset. Some of the key properties and methods of this class are listed in the following table:

Table 10 Key Properties and Methods of OWC 11 Grid Adapter Component

Property or Method Description

InitializeSpreadSheet Initializes the internal DataGrid to hold the Metadata information.

ClientOWC11SpreadsheetName Gets or Sets the name of the client side OWC11 object. This name is used to populate the spreadsheet with the retrieved data. Case sensitive and must be preceded with the form name.

Web Grid Adapters 61 Property or Method Description

DataServer The Data Server control to which this adapter is attached.

UseStyles Sets or returns True if the grid control displays the font styles for linked objects, linked partitions, and Integration Server Drill-Through. Set the property to True to use font styles.

StyleFontLinkedURL Sets or returns the font assigned to grid cells that contain data that is linked to a URL. Set the ‘UseStyles’ to true as a Pre requisite.

Retrieve Performs a basic Retrieve Operation.

ZoomIn Performs a Zoom In Operation. Displays the Zoomed in data for the selected Dimension in the grid.

ZoomOut Performs a Zoom Out Operation. Displays the Zoomed out data for the selected Dimension in the grid.

KeepOnly Performs a KeepOnly Operation. Keeps the selected Dimensions and removes all the others from the grid.

RemoveOnly Performs a RemoveOnly Operation. Removes only the selected dimensions from the grid.

LockCells Performs a LockCells operation on the current active cell range.

UnlockCells Performs an UnlockCells operation on the current active cell range.

Pivot Executes a Pivot Operation on the currently active cell. You use the pivot method to change the orientation of data like Move a row group to a column group, Move a column group to a row group, Transpose the order of row groups and Transpose the order of column groups.

Update Performs an Update Operation. You can change the value in the grid cells and update them in the database.

AllowFlashback Returns a flag that indicates whether flashback to the previous state of the grid is enabled. When set to true, the user can call the Flashback method of GridAdapterOWC11 to go back to the previous state of the grid.

Web Metadata Adapters The Web metadata adapter components enables you to exchange metadata between Data Servers and the list.

Drop-Down List Adapter The DropDownListAdapter class is used to access the Data Server controls using the drop-down list. The DropDownListAdapter class encapsulates the information and actions used to add and remove Essbase members to or from a drop-down list.

62 Application Builder for .NET ASP.Net Components Reference Some of the key properties and methods of this class are listed in the following table:

Table 11 Key Properties and Methods of DropDownListAdapter

Property or Method Description

ControlToBind property Sets the ID of Control to Bind.

DataServer property Sets or returns the name of the Data Server control used by the current control.

Dimension property Sets or returns the name of the database dimension.

DisplayMode property Sets or returns the type of members in the list.

EventEnabled property Set to TRUE if the SelectedIndexChanged event is handled by DropDownListAdapter; otherwise, FALSE.

Layout property Sets or returns the layout of the dimension described by the DimState object.

MaxItem property Sets or returns the maximum number of items to be displayed in the list.

Add method Adds a member to the member list collection.

Clear method Clears the data from the member list collection.

Contains method Determines whether the specified member is in the member list collection.

CopyTo Copies the elements of the collection to an array, starting at a particular array index.

IndexOf Returns the index of the member.

Insert Inserts a member into the collection at the specified index.

Remove Removes a member from the member list collection.

RemoveAt Removes the member at the specified index.

List Box Adapter The ListBoxAdapter class is used to access the Data Server controls using the list box. The ListBoxAdapter class encapsulates the information and actions used to add and remove Essbase members to or from a list box. Some of the key properties and methods of this class are listed in the following table:

Table 12 Key Properties and Methods of ListBoxAdapter

Property or Method Description

ControlToBind property Sets the ID of Control to Bind.

DataServer property Sets or returns the name of the Data Server control used by the current control.

Button Button to be bound to the adapter to submit the page after the selection is made to the list box.

Web Metadata Adapters 63 Property or Method Description

Dimension property Sets or returns the name of the database dimension.

DisplayMode property Sets or returns the type of members in the list.

EventEnabled property Set to TRUE if the SelectedIndexChanged event is handled by ListBoxAdapter; otherwise, FALSE.

Layout property Sets or returns the layout of the dimension described by the DimState object.

MaxItem property Sets or returns the maximum number of items to be displayed in the list box.

Add method Adds a member to the list box collection.

Clear method Clears the data from the list box collection.

Contains method Determines whether the specified member is in the list box collection.

CopyTo Copies the elements of the collection to an array, starting at a particular array index.

IndexOf Returns the index of the member.

Insert Inserts a member into the collection at the specified index.

Remove Removes a member from the list box.

RemoveAt Removes the member at the specified index.

TreeviewAdapter The TreeviewAdapter manages transfer of OLAP Data between the data server component and a standard Microsoft.Net Treeview control.

Table 13 Key Properties and Methods of TreeviewAdapter

Property or Method Description

Button Button to be bound to the Adapter to make the page submit after the selection is made in the Treeview.

ControlToBind Treeview to be bound to the Adapter.

DataServer The Data Server control to which this adapter is attached.

Dimension The name of the dimension to which the control is tied to.

Displaymode Determines the type of members displayed in the Member Select dialog displayed from the Property Page when the user clicks the Select Members button to select the members to be displayed in the control. (Design mode only.)

EventEnabled Enable or disable event handling for the attached control.

Layout Describes the position of the dimension in the grid as row, column, or page.

64 Application Builder for .NET ASP.Net Components Reference Property or Method Description

Layouts List of Layouts corresponding to the Dimensions.

OlapState The OlapState object representing the selected members. This OlapState object is sent to the DataServer control to specify the Essbase data to retrieve into the internal grid of the DataServer control.

SyncState Flag to make the Treeview's state to be in Sync with the Dataserver state.

TreeViewControl Treeview control which is attached to the Adapter.

TreeviewAdapter 65 66 Application Builder for .NET ASP.Net Components Reference Application Builder for .NET 7 Windows Components Reference

In This Chapter Overview ...... 67 ComboBoxAdapter...... 67 DataServer...... 68 GridAdapterOWC11 ...... 69 ListBoxAdapter ...... 70 TreeViewAdapter ...... 71

This chapter explains the Application Builder for .NET Windows controls: Combo Box adapter, Data Server, Grid Adapter OWC11, ListBox adapter and TreeView adapter. It also defines the key properties and methods within each of the controls.

Overview Application Builder for .NET uses the DataServer component to maintain the current state of an application and performs all communication with an Essbase server. To add the DataServer component, Combo Box adapter, Grid Adapter OWC11, ListBox adapter, and TreeView adapter to an application, add them to the Toolbox and double-click or drag- and-drop the component into the component tray.

ComboBoxAdapter The ComboBoxAdapter class encapsulates the informations and actions used to add and remove Essbase to or from a Combo Box.

Table 14 Key Properties and Methods of ComboBoxAdapter

Property or Method Description

ControlToBind property Sets the ID of Control to Bind.

Content Sets and returns the OlapState object representing the current content of the control.

Count Returns the Count of Members in the associated ListControl.

Overview 67 Property or Method Description

DataServer property Sets or returns the name of the Data Server control used by the current control.

Dimension Sets or returns the name of the database dimension.

Displaymode Sets or returns the type of members in the list.

EventEnabled Enables or disables the event handling for the attached control.

Layout Describes the position of the dimension in the grid as row, column, or page.

OlapState Sets the OLAP state.

UpdateDataServerState Overloaded. Updates DataServer State for the selected Dimension.

DataServer The DataServer component provides a middle-tier layer between application objects (buttons, listboxes, and so on) and Essbase. The DataServer component maintains an internal grid of instance data that is accessed by the application controls.

Table 15 Key Properties and Methods of DataServer

Property or Method Description

EssConnection Sets or returns the essConnection object used by the current essOperations object to encapsulate connection information for Essbase Server databases and applications currently being used.

EssDatapoint Returns the EssDataPoint object defined.

EssOperations Sets the Essbase operations, such as retrieving, zooming, pivoting, and updating data.

EssProperties Sets or returns the essProperties object used by the current dataServer object to specify properties for Essbase operations.

OlapState Sets the OLAP state.

ReportObject Sets the reporting object.

KeepOnly Performs a WebServices KeepOnly Operation on the active cell range in the Grid object associated with this EssOperations object.

LockCells Locks the selected cells in the Essbase Server database.

Pivot Overloaded. Pivots data in the attached grid object from the Essbase Server database defined in the EssConnection object, based on properties defined in the EssProperties object and the currently active cell in the attached grid object.

RemoveOnly Performs a WebServices RemoveOnly Operation on the active cell range in the Grid object associated with this EssOperations object.

Report Overloaded. Runs an Essbase report script represented in an EssReport object and places the results into a grid.

68 Application Builder for .NET Windows Components Reference Property or Method Description

ReportFile Overloaded. Runs an Essbase report script represented in an EssReport object and places the results into a file.

Retrieve Overloaded. Retrieves data into the attached grid object from the Essbase Server database defined in the EssConnection object, based on properties defined in the EssProperties object.

RetrieveForState Performs a Retrieve for state operation (the internal grid is changed to match the Olap State).

UnlockCells Unlocks the selected cells in the Essbase Server database.

Update Overloaded. Performs a WebServices Update Operation to update the contents of the connected Essbase Server database with values corresponding to the contents of the Grid object associated with this EssOperations object.

ZoomIn Overloaded. Zooms in on data in the attached grid object from the Essbase Server database defined in the EssConnection object, based on properties defined in the EssProperties object..

ZoomOut Zooms out on data in the attached grid object from the Essbase Server database defined in the EssConnection object based, on properties defined in the EssProperties object.

GridAdapterOWC11 GridAdapterOWC11 control enables communication between Essbase-related functionality and a Microsoft Office Web Components (OWC11) Spreadsheet.

Table 16 Key Properties and Methods of GridAdapterOWC11

Property or Method Description

DataServer The Data Server control to which this adapter is attached.

InternalGrid Returns the InternalGrid for the active sheet.

Spreadsheet Sets or returns the Office Web Components 11.0 Spreadsheet object to be handled by this GridOWC11 object. The Spreadsheet object reference can be obtained by calling AxSpreadsheet.GetOcx().

UseStyles Sets or returns True if the grid control displays the font styles for linked objects, linked partitions, and Integration Server Drill-Through. Set the property to True to use font styles.

ConditionalRetrieve Performs a Conditional Retrieve.

KeepOnly Performs a KeepOnly Operation. Keeps the selected Dimensions and removes all the others from the grid.

LaunchDrillthrough Displays the EIS Drill-through report data in the grid.

LaunchLinkedPartition Displays Linked Partition data in the grid.

LockCells Performs a LockCells operation on the current active cell range.

GridAdapterOWC11 69 Property or Method Description

Pivot Executes a Pivot Operation on the currently active cell. You use the pivot method to change the orientation of data like Move a row group to a column group, Move a column group to a row group, Transpose the order of row groups and Transpose the order of column groups.

RemoveOnly Performs a RemoveOnly Operation. Removes only the selected dimensions from the grid.

Retrieve Performs a basic Retrieve Operation

UnLockCells Performs an UnlockCells operation on the current active cell range.

Update Performs an Update Operation. You can change the value in the grid cells and update them in the database.

ZoomIn Performs a Zoom In Operation. Displays the Zoomed in data for the selected Dimension in the grid.

ZoomOut Performs a Zoom Out Operation. Displays the Zoomed out data for the selected Dimension in the grid.

AllowFlashback Returns a flag that indicates whether flashback to the previous state of the grid is enabled. When set to true, the user can call the Flashback method of GridAdapterOWC11 to go back to the previous state of the grid.

ListBoxAdapter The ListBoxAdapter class encapsulates the informations and actions used to add and remove Essbase to or from a ListBox.

Table 17 Key Properties and Methods of ListBoxAdapter

Property or Method Description

Button Button to be bound to the Adapter to make the page submit after the selection is made in the ListBox

Content Sets or returns the OlapState object representing the current content of the control.

ControlToBind property Sets the ID of Control to Bind.

DataServer property Sets or returns the name of the Data Server control used by the current control.

Dimension property Sets or returns the name of the database dimension.

Displaymode property Sets or returns the type of members in the list.

EventEnabled property Enables or disables the event handling for the attached control.

Layout Sets or returns the layout of the dimension described by the DimState object.

OlapState property Sets the OLAP state.

70 Application Builder for .NET Windows Components Reference TreeViewAdapter The TreeviewAdapter class encapsulates the informations and actions used to add and remove Essbase to or from a Treeview.

Table 18 Key Properties and Methods of TreeViewAdapter

Property or Method Description

Button Button to be bound to the Adapter to make the page submit after the selection is made in the Treeview

ControlToBind property Sets the ID of Control to Bind.

Count Returns the Count of Members in the associated ListControl.

DataServer property Sets or returns the name of the Data Server control used by the current control.

Dimension property Sets or returns the name of the database dimension.

Displaymode property Sets or returns the type of members in the list.

EventEnabled Enables or disables event handling for the attached control.

Layout Describes the position of the dimension in the grid as row, column, or page.

OlapState Sets the OLAP state.

SyncState Flag to make the Treeview's state to be in Sync with the Dataserver state

TreeViewAdapter 71 72 Application Builder for .NET Windows Components Reference Application Builder for .NET A APIs

In This Appendix Overview ...... 73 Hyperion.Objects.Essbase.Common ...... 74 Hyperion.Objects.Essbase.Common.Grid...... 75 Hyperion.Objects.Essbase.Common.Transports...... 76 Hyperion.Objects.Essbase.Common.Grid.OWC11 ...... 76 Hyperion.Objects.Essbase.Components.Design...... 77 Hyperion.Objects.Essbase.Components.Metadata ...... 77 Hyperion.Objects.Essbase.Components.Web.Design...... 79 Hyperion.Objects.Essbase.Components.Web ...... 79 Hyperion.Objects.Essbase.Components.Windows.Design ...... 80 Hyperion.Objects.Essbase.Components.Windows...... 81 Hyperion.Objects.Essbase.Windows.Forms...... 82

Overview This appendix provides information on the changes to the API in this release of Application Builder for .NET. There is information on the newly added, modified, and removed API’s and the presentation of information is divided based on the namespaces. This appendix contains information on the new Windows components that are included in this release, it also documents changes or additions made to the existing Windows components. The APIs are organized on the basis of namespaces and under each namespace the affected Class (s)/Interface(s) are listed and under each Class/Interface the affected Properties/Methods are listed. The Properties/Methods contain information on their accessibility and components that gets affected with the change.

Note: This appendix is a snapshot of changes to the APIs; for detailed information on the APIs affected for this release, see the online help.

Overview 73 Hyperion.Objects.Essbase.Common

Class Properties Methods

EssCube NonUniqueMemberSupport None

● New property ● This property enables you to ascertain whether the cube supports non unique member names or not. This method returns value as true if the cube supports non unique member names ● Accessibility : Public ● Affected Components : All

Class Properties Methods

EssDomain Domain None

● Modified property ● This property is now accessible in the property window at the design time ● Accessibility : Public ● Affected Components : All

APSServer

● Modified property ● This property is renamed, the former name was EDSServer. This property is now accessible in the property window at the design time ● Accessibility : Public ● Affected Components : All

encPassword

● New property ● This property enables you to set or return the encrypted password information to the Data Server ● Accessibility : Public ● Affected Components : All

Pwd

● New property ● This property enables you to set or return the masked (*) password for the server ● Accessibility : Public ● Affected Components : All

Port

● Modified property ● This property is now accessible in the property window at design time ● Accessibility : Public ● Affected Components : All

74 Application Builder for .NET APIs Class Properties Methods

EssMember UniqueName None

● New property ● This property enables you to set/return an unique name, that is, fully qualified name of the member ● Accessibility : Public ● Affected Components : None

Interface Properties Methods

ITransport None SendAndReturnRequest

● Modified method ● This method enables you to provide additional parameter HTTPSConfigPath of type string ● Accessibility : Public ● Affected Components : All

Hyperion.Objects.Essbase.Common.Grid

Class Properties Methods

GridBase InternalGridCache None

● New property ● This property enables you to set/return the cached Internal Grid object reference member ● Accessibility : Public ● Affected Components : GridWindowsDataGrid, GridWebDataGrid

FlashbackStatus

● New property ● This property enables you to confirm that the flashback occurs only once. If it is set to false, then the flashback is allowed ● Accessibility : Protected ● Affected Components : None

Interface

None

Hyperion.Objects.Essbase.Common.Grid 75 Hyperion.Objects.Essbase.Common.Transports

Class Properties Methods

HttpTransporter None SendAndReturnRequest

● Modified method ● This method enables you to provide the additional parameter HTTPSConfigPath of type string ● Accessibility : Public ● Affected Components : All

Interface

None

Hyperion.Objects.Essbase.Common.Grid.OWC11

Class Properties Methods

GridOWC11 InternalGrid Flashback

● Modified property ● New method ● This method enables you to provide an ● This method enables you to restore the additional setter previous state of the OWC11 grid. The cached ● Accessibility : Public grid is assigned back to the Internal Grid and the OWC11 grid is redrawn ● Affected Components : gridAdapterOWC11 (both Windows and Web) ● Accessibility : Public ● Affected Components : gridAdapterOWC11 (both Windows and Web)

StyleFontDefault IsNumeric

● Removed property ● New method ● Affected Components : gridAdapterOWC11 ● Accessibility : Protected (both Windows and Web) ● Affected Components: None

Interface

None

76 Application Builder for .NET APIs Hyperion.Objects.Essbase.Components.Design

Class Properties Methods Verbs

DataServerBaseDesigner None None HTTPSConfig

● New verb ● This verb item is included in the Verbs Collection ● Affected Components: DataServer (both Windows and Web)

Interface

None

Hyperion.Objects.Essbase.Components.Metadata

Class Properties Methods

GridAdapterOWC11Base GridOWC11 None

● New property ● This method enables you to return information of the GridOWC11 member of the class ● Accessibility : Protected ● Affected Components: None

AllowFlashback

● New property ● This method enables you to set or return a flag that indicates whether flashback to the previous state of the grid is allowed ● Accessibility : Public ● Affected Components: GridAdapterOWC11 (both Windows and Web)

StyleFontDefault

● Removed property ● Affected Components: GridAdapterOWC11 (both Windows and Web)

StyleFontDefaultColor

● Removed property ● Affected Components: GridAdapterOWC11 (both Windows and Web)

Class

GridAdapterWindowsOWC11Base

Hyperion.Objects.Essbase.Components.Design 77 Class

● New class ● Accessibility: Public ● Affected Components: GridAdapterOWC11 (Windows)

Class Properties Methods

ListControlAdapterBase ListControlWindows None

● New property ● This property enables you to set/return the associated Windows List Control to the adapter ● Accessibility : Protected ● Affected Components: None

ListItems

● New property ● This property is used to load the client control (Combo box/List box) elements ● Accessibility : Protected ● Affected Components: None

ListItemValues

● New property ● This property enables you to retain the values of the list elements, in case of Windows controls ● Accessibility : Public ● Affected Components: ListBoxAdapter (both Windows and Web)

Class

MSTreeViewAdapterBase

● New class ● This abstract class acts as the base class for the Tree view adapter. This class will enable data binding to the associated Microsoft Tree view control for Web ● Accessibility : Public ● Affected Components: TreeViewAdapter (Web)

Class

TreeViewAdapterBase

● New class ● This abstract class acts as the base class for the Tree view adapter. This class will enable data binding to the associated Tree view control for Windows ● Accessibility : Public ● Affected Components : TreeViewAdapter (Windows)

78 Application Builder for .NET APIs Interface

None

Hyperion.Objects.Essbase.Components.Web.Design

Class

TreeviewAdapterDesigner

● New class ● This designer class is included for the Tree view Adapter component ● Accessibility : Public ● Affected Components : TreeViewAdapter (Windows and Web)

Interface

None

Hyperion.Objects.Essbase.Components.Web

Class Properties Methods

DropDownListAdapter ListItemscollection None

● New property ● This property enables you to set the list items for the adapter ● Accessibility : Public ● Affected Components: DropDownListAdapter (Web)

Class Properties Methods

GridAdapterOWC11 None Flashback

● New method ● This method enables you to restore the previous state of the OWC11 grid ● Accessibility : Public ● Affected Components: GridAdapterOWC11 (Web)

Class Properties Methods

ListBoxAdapter ListItemscollection None

● New property ● This property enables you to set the list items for the adapter

Hyperion.Objects.Essbase.Components.Web.Design 79 Class Properties Methods

● Accessibility : Public ● Affected Components: ListBoxAdapter (Web)

Class

TreeViewAdapter

● New class ● This class encapsulates the information and actions used to add and remove Essbase to or from a Tree view ● Accessibility : Public ● Affected Components: TreeViewAdapter (Web)

Interface

None

Hyperion.Objects.Essbase.Components.Windows.Design

Class

ComboBoxDesigner

● New class ● This designer class is included for the Combo Box Adapter component ● Accessibility : Public ● Affected Components: ComboBoxAdapter (Windows)

Class

ListBoxAdapterDesigner

● New class ● This designer class is included for the List Box Adapter component ● Accessibility : Public ● Affected Components : ListBoxAdapter (Windows)

Class

DataServerDesigner

● New class ● This designer class is included for the Data Server Base component ● Accessibility : Public ● Affected Components : DataServer (Windows)

80 Application Builder for .NET APIs Class

TreeviewAdapterDesigner

● New class ● This designer class is included for the Tree view Adapter component ● Accessibility : Public ● Affected Components: TreeViewAdapter (Windows)

Interface

None

Hyperion.Objects.Essbase.Components.Windows

Class

ComboBoxAdapter

● New class ● This class encapsulates the information and actions used to add and removeEssbase to or from a Combo Box ● Accessibility : Public ● Affected Components: ComboBoxAdapter (Windows)

Class

DataServer

● New class ● This class provides a middle-tier layer between application objects (buttons, list boxes, and so on) and Essbase ● Accessibility : Public ● Affected Components : DataServer (Windows)

Class

EssResourceManager

● New class ● This class manages string resources for localization ● Accessibility : Internal ● Affected Components: None

Class

GridAdapterOWC11

● New class

Hyperion.Objects.Essbase.Components.Windows 81 Class

● This class enables communication between Essbase-related functionality and a Microsoft Office (OWC11) Spreadsheet ● Accessibility : Public ● Affected Components: GridAdapterOWC11 (Windows)

Class

ListBoxAdapter

● New class ● This class encapsulates the information and actions used to add and remove Essbase to or from a List Box ● Accessibility : Public ● Affected Components: ListBoxAdapter (Windows)

Class

TreeViewAdapter

● New class ● This class encapsulates the information and actions used to add and remove Essbase to or from a Tree view ● Accessibility : Public ● Affected Components: TreeViewAdapter (Windows)

Interface

None

Hyperion.Objects.Essbase.Windows.Forms

Class Properties Methods

frmFindMember ShowAttributeDimensions None

● New property ● This property sets/returns the flag that indicates whether the attribute dimensions must be used for search or not ● Accessibility : Public ● Affected Components: TreeViewAdapter (Windows and Web), ListBoxAdapter (Windows and Web), ComboBoxAdapter (Windows), and DropDownListAdapter (Web)

Class

frmTreeviewMemberSelection

82 Application Builder for .NET APIs Class

● New class ● This class represents the Member Selection dialog encapsulated by the TreeviewMemberSelectionDialog class ● Accessibility: Internal ● Affected Components: TreeViewAdapter (Windows and Web)

Class Properties Methods

LinkRules UniqueName None

● New property ● This property returns/sets the Unique name of the member for which the link rules are defined ● Accessibility: Public ● Affected Components: TreeViewAdapter (Windows and Web), ListBoxAdapter (Windows and Web), ComboBoxAdapter (Windows), and DropDownListAdapter (Web)

Class Properties Methods

MemberSelectionDialog None GetMemberList

● New overload Method ● Accessibility: Public ● Affected Components: TreeViewAdapter (Windows and Web), ListBoxAdapter (Windows and Web), ComboBoxAdapter (Windows), and DropDownListAdapter (Web)

Class Properties Methods

RuleLine UniqueName None

● New property ● Accessibility: Public ● Affected Components: TreeViewAdapter (Windows and Web), ListBoxAdapter (Windows and Web), ComboBoxAdapter (Windows), and DropDownListAdapter (Web)

Class

TreeviewMemberSelectionDialog

● Newly added class which encapsulates information and actions for displaying the Member Selection dialog ● Accessibility: Public ● Affected Components: TreeViewAdapter (Windows and Web)

Interface

None

Hyperion.Objects.Essbase.Windows.Forms 83 84 Application Builder for .NET APIs Migrating Application Builder B for .NET Applications

In This Appendix Overview ...... 85 Comparing the Components of Application Builder for .NET Release 9.2 with Application Builder for .NET Release 11.1.1.0 ...... 85 Migrating to Application Builder for .NET Release 11.1.1...... 88

Overview This appendix provides information on migrating an application that utilizes the Application Builder for .NET Release 9.2 components to use the Application Builder for .NET Release 11.1.1.0 components. The steps provided here are applicable for both Windows and Web applications; where as the illustrations are provided for the Web application only.

Comparing the Components of Application Builder for .NET Release 9.2 with Application Builder for .NET Release 11.1.1.0 When compared with the 9.2 release of Application Builder for .NET components, the 11.1.1.0 release of Application Builder for .NET components have many additions in terms of new components such as Combo Box Adapter, List Box Adapter, and so on for Windows application and the enhancement for the existing components like HTTPS support, Non Unique Member support, and so on. For information on changes made to the components, see Appendix A, “Application Builder for .NET APIs”. In comparison with 9.2, the 11.1.1.0 components are included in a different folder hierarchy. When installed, the. Application Builder for .NET release 9.2 components are installed in the folder %HYPERION_HOME%/habnet/bin, see Figure 3.

Overview 85 Figure 3 Folder structure of Application Builder for .NET 9.2 Components

In the 11.1.1.0 release of Application Builder for .NET, the components are installed in the following location: %HYPERION_HOME%\products\Essbase\habnet\Client\bin see Figure 4.

Figure 4 Folder structure of Application Builder for .NET 11.1.1.0 components

86 Migrating Application Builder for .NET Applications Apart from the changes in the folder structure, the access to Application Builder for .NET from the start menu is changed. For the 9.2 release, the Application Builder for .NET Server service can be found under Start > Programs > Hyperion System 9 BI+ > Application Builder.NET, see figure.

Figure 5 Startup tree for Application Builder for .NET 9.2 server service

For the 11.1.1.0 release, the Application Builder for .NET Server service can be found under Start > Programs > Oracle EPM System > Essbase > Habnet see figure.

Figure 6 Startup tree for Application Builder for .NET 11.1.1.0 server service

Comparing the Components of Application Builder for .NET Release 9.2 with Application Builder for .NET Release 11.1.1.0 87 Migrating to Application Builder for .NET Release 11.1.1 Using the Application Builder for .NET components, applications can be built either by dragging and dropping the required components at the design time and configuring them or creating the objects of required components and using them at the runtime. The following sections provide information on the migration options.

Drag-Drop Option This section provides information on using the drag-drag approach to migrate Application Builder for .NET Release 9.2 applications to release 11.1.1. This migration will enable applications to utilize the Application Builder for .NET release 11.1.1 components. To migrate, open the 9.2 applications in the dot NET IDE after installing the 11.1.1 release of Application Builder for .NET. A design design time error appears.

Figure 7 Application using 9.2 Application Builder for .NET components

88 Migrating Application Builder for .NET Applications Figure 8 Design time error for Application Builder for .NET 9.2 application after 11.1.1.0 upgrade

The design time error shown in the preceding figure is due to the change in the folder structure in the 11.1.1.0 release of Application Builder for .NET. To correct this error, for the components that contain this error, reference path to the correct location, as shown in the following figure. However, To point to a new location, open the Project Properties and change the reference path to point to 11.1.1.0 release of Application Builder for .NET components as in Figure 10, Figure 11, and Figure 12 respectively.

Figure 9 Missed out components

Migrating to Application Builder for .NET Release 11.1.1 89 Figure 10 Changing the reference path

Figure 11 Changing the reference path (continued...)

90 Migrating Application Builder for .NET Applications Figure 12 Changing the reference path (continued...)

After you complete the preceding steps, if the components in the components tray are not visible, then close and re-open the dot NET IDE. After re-opening the application, make sure that the components are visible in the components tray. Configure and populate the components, see Figure 13.

Figure 13 Reconfigure the components

After compiling, the application is now ready to run components of the 11.1.1.0 release of Application Builder for .NET.

Migrating to Application Builder for .NET Release 11.1.1 91 Run time You can build applications that use the Application Builder for .NET component objects created at runtime. You can migrate such applications to use the Application Builder for .NET Release 11.1.1 components. Before migrating run-time applications, see Appendix A, “Application Builder for .NET APIs”. To migrate runtime applications, point reference paths to the new location of Application Builder for .NET Release 11.1.1 components, see “Drag-Drop Option” on page 88. After pointing to the new reference path, compiling the application may output compilation errors depending on modifications done to the the included classes' properties and methods. The following figure displays an example of a compilation error.

Figure 14 Compilation error

To correct the preceding compilation error, change name of the property EDSServer to APSServer. For more information on the list of changes, see Appendix A, “Application Builder for .NET APIs”.

92 Migrating Application Builder for .NET Applications C Performance Tuning

In This Appendix Performance Tuning to Retrieve Records ...... 93

Performance Tuning to Retrieve Records Following table lists the performance tuning settings to be done on System Memory and Application Memory for Application Builder for .NET Client, Application Builder for .NET Servlet, Provider Services, and Essbase to increase the number of records retrieved in Web and Windows applications:

Table 19 Performance Tuning Settings

Server/ Application Application Provider Oracle Description Application Builder Builder Services Essbase for .NET for .NET Client Servlet

No of System Records Memory

Database: 1GB EntBUD•Budsum

Application Default 812M Default Default Memory Setting

74201 No Error No Error No Error No Error NA

84801 Error No Error No Error No Error Application Builder for .NET application browser shows an error “server unavailable” The following error is shown in the Event Viewer “aspnet_wp.ex e (PID: 6420) was recycled because memory

Performance Tuning to Retrieve Records 93 Server/ Application Application Provider Oracle Description Application Builder Builder Services Essbase for .NET for .NET Client Servlet consumption exceeded the 613 MB (60 percent of available RAM).”

90101 No Error No Error Error No Error Oracle Hyperion Provider Services throws an error “Unable to perform cube view operation- out of memory” back to Application Builder for .NET Servlet and to Application Builder for .NET Client

Database : 2GB EntBUD•Budsum

Application Default 1200M 1024M Memory Setting

143101 No Error No Error No Error No Error NA

151051 Error No Error No Error No Error Application Builder for .NET fails, throws an error “System.OutOf Memory”

Database : 2GB EntBUD•Budsum

Application Default 1200M 1024M Memory Setting

100205 No Error No Error No Error No Error NA

120456 Error No Error No Error No Error Oracle's Hyperion® Application Builder for .NET fails, throws an error “System.OutOf Memory”

94 Performance Tuning ABCDEFHKMOPRSUWZ

Index

A Application property, 53 aliases, 56 Connect method, 53 Application property, 53 Connected method, 53 APSServer property, 54 CubeViewName property, 53 ASP.NET Database property, 53 creating a basic application, 13, 31 EssApplication property, 53 EssDomain property, 53 B OLAPServer property, 53 EssConnection property, 55, 56 Base classes EssDomain class EssConnection, 53 APSServer property, 54 EssDomain, 53 Domain property, 54 EssOperations, 52 EncryptedLogin property, 54 EssProperties, 54 Password property, 54 Overview, 51 SignOn method, 54 Username property, 54 C EssDomain property, 53 Connect method, 53 EssOperations class Connected method, 53 about, 52 CubeViewName property, 53 EssConnection property, 52 EssProperties property, 52 D EssReports property, 52 Grid property, 52 Database property, 53 KeepOnly method, 52 Dialog boxes, creating Pivot method, 53 member selection, 56 Retrieve method, 53 sign-on, 55 ZoomIn method, 53 Domain property, 54 EssTreeview class Add method, 57 E AddMembers method, 57 EncryptedLogin property, 54 EssConnection property, 56 EssApplication property, 53 overview, 56 Essbase PreFillDescendants property, 56 KeepOnly operation, 52 UseAliases property, 56 Pivot operation, 53 Retrieve operation, 53 F ZoomIn operation, 53 Forms EssConnection class

Index 95 ABCDEFHKMOPRSUWZ

creating a Web grid form, 14, 32 Z ZoomIn operation, 53 H Hyperion.Objects.Essbase.Windows.Forms assembly, 56

K KeepOnly operation, 52

M members, 57 MemberSelectionDialog class AllowChangeDimension property, 56 AllowLevelNames property, 56 DefaultDimension property, 56 GenerateMemberList method, 56 GetMemberList method, 56 ListCount property, 56 MaxGenExpandable property, 56 overview, 56

O OLAPServer property, 53

P Password property, 54 Pivot operation, 53

R Retrieve operation, 53

S SignOn method, 54 SignOnDialog class EssConnection property, 55 ShowDialog method, 55 ShowSelectCubeDialog property, 55

U Username property, 54

W Web form, creating, 14, 32

96 Index