Download as pdf or txt
Download as pdf or txt
You are on page 1of 672

Developers Guide SAP NetWeaver 2004s SPS 7

Enterprise Reporting, Query, and Analysis


Document Version 3.00 Mrz 2006

SAP AG Dietmar-Hopp-Allee 16 69190 Walldorf Germany T +49/18 05/34 34 24 F +49/18 05/34 34 20 www.sap.com SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Copyright 2005 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. These materials are subject to change without notice. These Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. Disclaimer UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent. Any Java Source Code delivered with this product is only to be used by SAPs Support Services and may not be modified or altered in any way. Some components of this product are based on Java. Any code change in these components may cause unpredictable and severe malfunctions and is therefore expressively prohibited, as is any decompilation of these components. materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

Typographic Conventions
Type Style Example Text Represents Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options. Cross-references to other documentation. Example text Emphasized words or phrases in body text, graphic titles, and table titles. Technical names of system objects. These include report names, program names, transaction codes, table names, and key concepts of a programming language when they are surrounded by body text, for example, SELECT and INCLUDE. Output on the screen. This includes file and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools. Exact user entry. These are words or characters that you enter in the system exactly as they appear in the documentation. Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system. Keys on the keyboard, for example, F2 or ENTER.

Icons
Icon Meaning Caution Example Note Recommendation Syntax

EXAMPLE TEXT

Example text

Example text

<Example text>

EXAMPLE TEXT

Contents
1 2 ENTERPRISE REPORTING, QUERY, AND ANALYSIS.................................................. 1 GETTING INVOLVED ........................................................................................................ 2 2.1 3 Working with the Development Environment ............................................................ 2

GO AND CREATE ............................................................................................................. 3 3.1 3.2 Defining New Queries ............................................................................................... 3 Creating Web Applications with the BEx Web Application Designer ........................ 7

CORE DEVELOPMENT TASKS ..................................................................................... 10 4.1 Developing User Interfaces..................................................................................... 11 4.1.1 Web Application Design: BEx Web Application Designer ............................ 11 4.1.2 Enterprise Reporting .................................................................................. 271 4.1.3 Design Mode .............................................................................................. 298 Developing Business Logic ................................................................................... 344 4.2.1 Installing Business Content ........................................................................ 344 4.2.2 Query Design: BEx Query Designer........................................................... 353 4.2.3 Customer and Partner Content .................................................................. 469 Using Connectivity and Interoperability................................................................. 529 4.3.1 Report-Report Interface.............................................................................. 530 4.3.2 Open Analysis Interfaces ........................................................................... 545 4.3.3 Open Standards in the SDK ....................................................................... 609 4.3.4 BI Java Connectors .................................................................................... 614 4.3.5 Access to External Data Sources............................................................... 628 Applying Extensibility ............................................................................................ 630 4.4.1 Customer Exits ........................................................................................... 630 4.4.2 Classic BAdIs ............................................................................................. 631 Enabling Globalization .......................................................................................... 632

4.2

4.3

4.4

4.5 5

ENSURING QUALITY.................................................................................................... 633 5.1 Testing................................................................................................................... 633 5.1.1 Query Monitor............................................................................................. 633 5.1.2 BI Content Analyzer.................................................................................... 649 Logging and Tracing ............................................................................................. 666

5.2 6

REFERENCE ................................................................................................................. 666 6.1 6.2 6.3 API Documentation ............................................................................................... 666 Web Application Examples ................................................................................... 667 Checklist for Defining Queries............................................................................... 667

COPYRIGHT .................................................................................................................. 667 7.1 SAP Copyrights and Trademarks.......................................................................... 667

Enterprise Reporting, Query, and Analysis Working with the Development Environment

March 2006

Enterprise Reporting, Query, and Analysis

Purpose
You can use various BI interfaces and tools to adapt the Enterprise Reporting, Query and Analysis scenario to your needs.

Advantages for Application Development


With BI, you can define your own queries, reports, and Web applications to best represent the processes of your enterprise. Customers and partners of BI can develop their own content and deliver it to their business units. You can also make limited modifications and changes to BI Content. Business Explorer Web application design allows you to apply generic OLAP navigation to BI data in Web applications and Business Intelligence cockpits. You can implement this for all scenarios, from simple scenarios to highly specialized scenarios. You can use standard markup languages and Web design APIs to implement highly individual scenarios with user-defined interface elements. The Visual Composer provides functions that allow you to integrate BI queries into analytical applications. You use the BI integration wizard to define queries for any type of data service that is connected using BI Java connectors. With the SAP enhancement concept, you can make enhancements to the standard in the BI system. You can use customer exits and BAdIs for enhancements within query design und Web application design. Services that are based on the SAP NetWeaver Internet Communication Framework (ICF) are delivered with BI. The BI HTTP services allow you to display or exchange BI data using a URL. The report-report interface allows you the flexibility to call a jump target (receiver) online from a BEx query (sender) within or outside of the BI system. BI provides interfaces for evaluating data for reporting with third-party front-end tools. You use the BI Java SDK to create analytical applications with which you access both multidimensional (Online Analytical Processing or OLAP) and tabular (relational) data. You can also edit and display this data.

Prerequisites
Area Development of BI content: queries, reports, Web applications Developing customer and partner content Web application design BI in Visual Composer Enhancements using function exits and BAdIs ICF services Report-report interface Prerequisites ABAP development license Proficiency in standard markup languages ABAP proficiency ABAP proficiency -

Enterprise Reporting, Query, and Analysis

Getting Involved Working with the Development Environment

March 2006

Connecting to third-party front-end tools

For more information about the technical prerequisites, see Open Analysis Interfaces [Page 545]. Java programming proficiency; Business Intelligence experience

BI Java SDK

How to Use This Documentation


If you have no experience of working with Enterprise Reporting, Query, and Analysis, start with the following sections: Working with the Development Environment [Page 2] Go and Create [Page 3] These sections contain information about the basic principles, as well as introductory tutorials. If you have previous experience of working with Enterprise Reporting, Query, and Analysis, you can use these sections as a reference for specific details.

Getting Involved

This section provides an overview of the concepts and the development environment.

2.1

Working with the Development Environment

Purpose
The BI system provides heterogeneous development environments for the Enterprise Reporting, Query, and Analysis scenario. Area Development of BI content: queries, reports, Web applications Developing customer or partner content Web Application Design BI in Visual Composer Customer exits and BAdIs ICF services Report-report interface Connection of third-party front-end tools using open analysis interfaces BI Java SDK Development Environment BEx Query Designer, Report Designer, Web Application Designer BEx Query Designer, Report Designer, Web Application Designer Web Application Designer Visual Composer ABAP Workbench tools Internet Communication Framework (ICF) BI system Not determined Visual Composer, Developer Studio

Enterprise Reporting, Query, and Analysis

Go and Create Defining New Queries

March 2006

Go and Create

We provide instructions for first development in the following areas:

Designing a Query
You use a query to evaluate the data in an InfoProvider. For information about creating a simple query with the Query Designer, see Defining New Queries [Page 368].

Web Application Design


You use the BEx Web Application Designer to create Web applications with BI-specific content. To do this, you create an HTML page that displays the BI data in the form of tables, images, or maps. For information about creating a simple BEx Web application using the BEx Web Application Designer, see Creating Web Applications with the BEx Web Application Designer [Page 47].

BI Java SDK
You use the BI Java SDK to create analytical applications with which you access both multidimensional (Online Analytical Processing or OLAP) and tabular (relational) data. You can also edit and display this data. See Chapter 1 of the Developers Guide for the BI Java SDK for two tutorials on developing complete scenarios, from extracting data to displaying it on an HTML page: Hello MDX: First Example for a Multidimensional Data Source Hello SQL: First Example for a Relational Data Source

You can access the Developers Guide for the BI Java SDK in SDK distribution packages or on the SDN at https://www.sdn.sap.com/irj/sdn/javadocs.sdn Release Business Intelligence.

3.1
Use

Defining New Queries

You need queries as data providers for data analysis in the BEx Analyzer or in BEx Web Applications. Queries as data providers are also used to create reports. To do this, in the BEx Query Designer, you define new queries based on InfoProviders.

Prerequisites
At least one InfoProvider must be available in the BI system. You have called the BEx Query Designer using one of the following options:

Standalone, by choosing Start Programs Business Explorer Query Designer. BEx Web Application Designer: In the menu bar of the Web Application Designer, you have chosen Tools BEx Query Designer.

Enterprise Reporting, Query, and Analysis

Go and Create Defining New Queries

March 2006

BEx Analyzer: You are in an empty cell and have chosen Tools Define New Query in the analysis toolbar.

BEx Report Designer: In the menu bar of the Report Designer, you have chosen Tools BEx Query Designer.

Finally, you chose Query New in the Query Designer menu bar.

Procedure
Overview
You define queries by:

Selecting an InfoProvider for which the query is defined Selecting reusable structures that already contain characteristic or key figure combinations (for example, contribution margin schema) Selecting characteristics from the InfoProvider Restricting selected characteristics to characteristic values, characteristic value intervals, or hierarchy nodes Using variables for characteristic values, hierarchies, hierarchy nodes, formulas, and texts or defining new variables where necessary Selecting key figures from the InfoProvider Formulating calculated key figures Restricting key figures by combining them with characteristics Defining exception cells Arranging the characteristics and key figures in rows or columns and thereby establishing an initial view for the query analysis

The steps that are not in bold are optional. You do not have to use these functions.

Defining Queries
The selection screen is displayed for all InfoProviders for which you can define a new query.
...

1. From your history, or from all available InfoProviders under InfoAreas, select the InfoProvider that you want to base your query on.

If you want to show the technical name of the InfoProvider, choose the symbol Technical Name On/Off. 2. The available objects for the InfoProvider you selected are displayed as a directory tree in the InfoProvider screen area.

Enterprise Reporting, Query, and Analysis

Go and Create Defining New Queries

March 2006

The Filter screen area contains empty directories for the filter selection; the screen area Rows/Columns contains empty directions for the rows, the columns, and the free characteristics of the query. The preview of the results area for the query can be found at the bottom right. This area is also still empty. For more information about the process of creating a query, see Working with the BEx Query Designer [Page 356] in the section Proceed As follows to Create a Query. 3. Make the selections for the filter of the query. Note that the filter selection has a restricting effect on the entire query, which means that all the InfoProvider data is aggregated with the filter selection. From the directory tree of the InfoProvider, select the characteristics or the key figure on which the query is to be based. Characteristics Expand the required dimension directory and first select one or more characteristics that you wish to restrict to one or more values, a variable, a value interval or a hierarchy node from the InfoProvider. Expand this characteristic and using drag and drop, drag:

one or more single values in the Characteristic Restrictions area of the filter.

one or more characteristics in the Characteristic Restrictions area of the filter. Using the secondary mouse button on a characteristic, choose Restrict in the context menu. Then select a characteristic value interval or a hierarchy node (see also: Restricting Characteristics [Page 371]). Key Figure

Decide whether all of the query data is to refer to the numerical values of a key figure or whether the query should be based on several key figures. If the query refers to the numerical values of one key figure, select the corresponding key figure for the InfoProvider tree and drag it to the Filter area using drag and drop. You can also use a restricted or calculated key figure (see also: Defining Restricted Key Figures [Page 434] and Defining Calculated Key Figures [Page 436]). If required, define default values for the filter by dragging the required filter values into the Default Values area of the filter using drag and drop. For more information, see Filters [Page 402]. 4. Determine which characteristics, key figures, or structures you want to use to navigate through the query data. Using drag and drop, drag the corresponding directories of the characteristics of the InfoProvider tree to the directories Rows, Columns, or Free Characteristics in the Rows/Columns screen area, or drag the structure directories into the rows or columns.

You can use any number of characteristics in the query; however, the number of characteristics in the drilldown is restricted. In the Free Characteristics area, an unlimited number of characteristics is permitted, but the rows and columns may include a maximum of 50 - <Number of Structures> characteristics only. If the query does not contain a structure, a total of 50 characteristics are permitted in the rows and columns. If you use one structure, 49 characteristics are permitted, and with two structures, 48 characteristics are permitted in the rows and columns. If you have not selected any key figures for the filter, define one or more key figures either in the rows or columns of the query. Using drag and drop, drag a key figure from the Key Figures directory in the InfoProvider tree into one of the directories, Rows or

Enterprise Reporting, Query, and Analysis

Go and Create Defining New Queries

March 2006

Columns. The Query Designer automatically generates a new structure with the proposed description Key Figures, which includes the selected key figure. You can also define a new calculated key figure and use it for the query. For example, instead of Sales revenue, define the key figure Price, which is calculated by dividing Sales revenue by Quantity. Select the Key Figures directory in the InfoProvider tree and choose New Calculated Key Figure in the context menu (using the secondary mouse button). You can restrict key figures to characteristic values, characteristic value intervals, or hierarchy nodes by selecting the key figure and choosing Edit in the context menu (using the secondary mouse button). A restricted key figure would be Sales revenue in first quarter, for example. By placing the characteristics, key figures, or structures either in the rows or columns directory, you configure the first navigational state of the query (start view). In the lower right area, you can see a preview of the results area of the query in the start view that you selected.

You can change the arrangement of the key figures and characteristics in the rows and columns using drag and drop until the preview shows the results area you want. 5. When you have created the query, you can check the query definition by choosing Query Check in the menu bar. Choose Query Properties in the menu bar if you want to change the Description, settings for Result Position, Display Options and Number Display, or Key Date for the query. See also Query Properties [Page 438]. 6. Save the query. Enter a Technical Name and a Description for the query. The Technical Name must uniquely identify the query; this means the name may appear only once across all InfoProviders of the BI System. The technical name can contain a maximum of 30 characters and must begin with a letter.

Result
The query has been saved and can now:

Be used in the BEx Analyzer as a data provider for design items Be used in the Web Application Designer as a data provider for Web items. Be displayed in the BEx Web Analyzer: Choose Query Execute.

You can analyze the query data in the Business Explorer.

See also:
Creating Reusable Structures [Page 399] Properties of Query Components [Page 443] Functions of the Menu Bar in the Query Designer [Page 358] Authorizations for the Query Definition [External]

Enterprise Reporting, Query, and Analysis

Go and Create Creating Web Applications with the BEx Web Application Designer

March 2006

3.2
Use

Creating Web Applications with the BEx Web Application Designer

Using the BEx Web Application Designer, you can create a BEx Web application (an HTML page with BI-specific content) easily.

Procedure
...

1. Creating a Web template The Web template is the starting point for creating a Web application. The Web template [Page 28] is an XHTML document that is used to define the structure of a Web application. It contains placeholders for Web items, data providers, and commands. A Web template becomes a Web application when the data is displayed in the Web browser. During the design process, you change the Web template by embedding placeholders for Web items and data providers. You can keep track of these changes in the XHTML view. To create a new Web template [Page 28], choose Web Template New in the Web Application Designer menu bar. You can also create Web templates from the Select Web Template window. Choose Create New Web Template. 2. Setting the data binding/selection of the data provider The data for your Web items is provided by data providers that you create in the Web Application Designer. You can assign a data provider to multiple Web items. The data provider concept makes it possible to change the data source of a Web item easily. If a particular data provider is assigned to more than one Web item, any changes made affect all the assigned Web items. By means of navigation (by changing the drilldown), the Web item always displays the current drilldown data.

A data provider is a dynamic object that returns current data for one or more Web items at runtime. You define the start view of the data provider by selecting a query or a query view. For more information about data providers, see Data Providers in BI Applications [External]. There are several ways to create data providers: a. In the Data Provider section in the Web Items screen area i. Select whether you want to create a data provider of type Filter or type Query View, and drag the corresponding line into the lower data provider section of the Web template screen area. The Maintain Data Provider dialog box appears. Assign a name to the data provider and make the remaining settings required.

ii.

Enterprise Reporting, Query, and Analysis

Go and Create Creating Web Applications with the BEx Web Application Designer

March 2006

In the dropdown box beneath the name field, you can also select or change the data provider type. b. Using the New Data Provider symbol in the lower data provider section of the Web Template screen area i. ii. Double-click to choose New Data Provider. The Maintain Data Provider dialog box appears. Proceed as described under a. ii.

c. Using the General tab page in the Properties screen area You can only use this option if you have already inserted a Web item into your Web template. i. ii. In the header of the properties screen area, select the Web item for which you want to create a data provider. On the General tab page, choose New Data Provider. The Maintain Data Provider dialog box appears. Proceed as described under a. ii. The data provider is assigned to the selected Web item. You can also create more than one data provider, as described under c. The data providers are listed in the dropdown box under Assigning Data Providers. This enables you to assign a different data provider to the selected Web item. The Maintain Data Provider dialog box appears under data provider: <Name of assigned data provider>. You can modify or change the settings for the data provider here. When you have created a data provider, it is assigned to the inserted Web item. Assigning depends on the order of the data providers in the inner structure of the Web template. See also 4.a. 3. Adding a Web item The Web items [Page 54] in the Web Items screen area serve as templates. By dragging a Web item into your Web template, you create an actual version of the Web item; this is called an object. The Web item has a name and certain other default parameters that you can change as required (see also 4.). You see the changes in the XHTML view. A Web item tag for the Web item and a data provider tag for the data provider (assuming you have created a data provider) were integrated into the XHTML as placeholders. Change the name of the Web item and assign a data provider to it. In the XHTML view, you can see that your settings have been written to the Web item tag. The layout you choose is also applied in the XHTML. a. Drag a Web item [Page 54] from one of the Web item groupings Standard, Extended, or Miscellaneous in the Web Items screen area to the Web template by using dragand drop. The Web item appears in the Web template.

Underneath the selection area for Web items and data provider maintenance, you see the help area, which provides explanations for the Web items and data providers. To display the texts for a Web item, select the Web item by doubleclicking with the secondary mouse button. To hide the texts, proceed in the same way. When you hide the display of texts and select a Web item by singleclicking it, a quick info is displayed for the Web item. b. If you want to rename the inserted Web item, proceed as follows:

Enterprise Reporting, Query, and Analysis

Go and Create Creating Web Applications with the BEx Web Application Designer

March 2006

In the Properties screen area, choose Rename Web Item to the right of the dropdown box in which the inserted Web items are listed. Name the Web item by overwriting the default text under Name in the Properties screen area next to the dropdown box in which the inserted Web items are listed. 4. Specifying the properties of the Web item a. In the Properties screen area, choose the General tab page to make or change the assignment of a data provider for the corresponding Web item. See also 2. b. Choose the Web Item Parameters tab page to set the parameters for the selected Web item.

You can also set the parameters for the Chart Web item using the Edit Chart dialog box. Choose Edit in the context menu of the Chart Web item or Edit Chart in the Internal Display parameter grouping of the Chart Web item. For more information, see Editing Charts [Page 175]. 5. Adding additional Web items To insert additional Web items, repeat steps 3 and 4.

When you insert additional Web items using Insert Web Item, pay attention to where you position the cursor in your Web template. The cursor position determines where the new Web item is inserted. See also Designing the Layout of Web Templates [Page 30]. When you insert Web items using dragand drop, the position of the cursor is irrelevant. Make sure that you set the data binding and any Web itemspecific parameter settings for the correct Web item. To make settings for a Web item, select the Web item in the layout view. In the header of the Properties window, the system displays the Web item for which you can change the settings. As an alternative to selecting the individual Web items, you can use the dropdown box to toggle between the attributes of individual Web items.

6. Designing a Web template layout In the Web Application Designer, you create your Web template in the same way you do in various XHTML editors. See also Designing the Layout of Web Templates [Page 30]. 7. Changing the Web template properties a. To change the default properties of the Web template, select the Web template from the dropdown box in the Properties screen area. b. Choose the Web Template Parameters tab page, where you can change the parameter settings for the Web template. For more information, see Web Template Properties [Page 30]. 8. Saving and executing the Web template You execute the Web template in the Web browser (portal). The Web template becomes a Web application, which means the template is saved on the Application Server for ABAP and a URL is generated for this Web application.

Enterprise Reporting, Query, and Analysis

Core Development Tasks Creating Web Applications with the BEx Web Application Designer

March 2006

At runtime (triggered by calling the URL), the BI tags are replaced by corresponding HTML with the information determined by the Web item and data provider settings. When this is done, the Web template on the Application Server for ABAP is accessed. Therefore, you must save your Web template before you execute it. a. To save your Web template, in the menu bar of the Web Application Designer, choose Web Template Save. b. Choose Web Template Execute to view your Web application in the browser (portal). You must save the Web template before executing it in the Web browser. Therefore, when you execute the template, you are asked to save it if you have not already done so.

To assign a Web template to a role, choose Web Template Publish In Role. See also Role Maintenance [External]. To copy the URL of a Web template to the clipboard, choose Web Template Publish Copy URL to Clipboard. The Web template, however, must already be saved. To broadcast a Web template, choose Web Template Publish BEx Broadcaster. For more information, see Precalculating and Broadcasting Queries, Query Views, Web Templates and Reports [External].

Result
Your Web application is started and displayed in the portal, which in turn runs in a Web browser.

If you want to print your Web application, choose Print in the context menu for the executed Web application. See also: Further Editing Web Templates [Page 34]

Core Development Tasks

This section forms the core of the Developer's Guides and describes the central areas of the development phase.

Enterprise Reporting, Query, and Analysis

10

Core Development Tasks Developing User Interfaces

March 2006

4.1

Developing User Interfaces

Purpose
Web Application Design
Business Explorer Web application design allows you to create highly individual scenarios with user-defined interface elements by using standard markup languages and Web design APIs. You can adjust and enhance the Web templates (the HTML pages that determine the structure of Web applications) on an individual basis. Before you start creating a Web application, we recommend that you consider some basic points: See also Calling the Web Application [Page 43]. For more information about Web application design, see Web Application Design: BEx Web Application Designer [Page 11] and Web Design API [Page 53].

Enterprise Report Design


You can use the Report Designer to format and adapt the layout of your business data, according to your needs, in the form of a report. For more information, see BEx Report Designer [Page 278].

Using Microsoft Excel Formatting


You can use the functions of Microsoft Excel to format your workbook, add new worksheets, and define graphics and charts. For more information, see Design Mode [Page 298].

BEx Workbooks Design


You can configure various settings for your workbooks or apply themes to your workbooks. For more information, see Workbook Settings [Page 303].

BI Java SDK
You use the BI Java SDK to create analytical applications with which you access both multidimensional (Online Analytical Processing or OLAP) and tabular (relational) data. You can also edit and display this data. You use command processors [External] to create and edit complex queries with simple commands. For more information, see the Developers Guide in SDK distribution packages or on the SDN at https://www.sdn.sap.com/irj/sdn/javadocs.sdn BI.

4.1.1
Use

Web Application Design: BEx Web Application Designer

Web application design, with the BEx Web Application Designer as its main tool, allows you to use generic OLAP navigation for your BI data in Web applications as well as in business

Enterprise Reporting, Query, and Analysis

11

Core Development Tasks Developing User Interfaces

March 2006

intelligence cockpits for simple or highly individual scenarios. Web application design comprises a broad spectrum of Web-based business intelligence scenarios, which you can adjust to meet your individual needs using standard Web technologies.

Features
The following figure shows how the Web Application Designer is integrated into the function landscape and tool landscape of the Business Explorer:
SAP NetWeaver Portal Business Explorer Suite (BEx) Information Broadcasting BEx Web BI Pattern Web Analyzer Web Application Designer Report Designer Microsoft Excel Add-in BEx Analyzer

BI Consumer Services

3rd Party BI

BI InfoProvider

BEx Query Designer

You can use this BEx Web Application Designer [Page 12], the desktop application used to create Web applications, to generate HTML pages that contain BI-specific contents such as tables, charts or maps. These objects, which retrieve BI data from a data provider and place it in a Web application as HTML, are known as Web items. For more information about the Web items available, see Web Items [Page 54]. Web Applications are based on Web Templates [Page 28] that you create and edit in the Web Application Designer. You can save the Web templates and access them from the Web Browser or the portal. Once they have been executed in the Web, Web templates are known as Web Applications. Business Explorer Web application design allows you to create highly individual scenarios with user-defined interface elements by using standard markup languages and the Web design API. You can adjust and enhance the Web templates (the HTML pages that determine the structure of Web applications) on an individual basis. For more information on this, see Web Design API [Page 53].

4.1.1.1

BEx Web Application Designer

Use
The BEx Web Application Designer is a desktop application for creating Web applications with BI-specific content. Using the BEx Web Application Designer, you can create an HTML page containing BI-specific content such as various tables, charts, or maps. This HTML page (Web application) is the basis not only for Web applications with complex interaction, but also for Web cockpits and iViews.

Enterprise Reporting, Query, and Analysis

12

Core Development Tasks Developing User Interfaces

March 2006

Features
The initial view of the BEx Web Application Designer has four different screen areas in addition to the menu and Toolbars [Page 18].

Web Items Screen Area [Page 14] Web Template Screen Area [Page 14] Properties Screen Area [Page 16] Error and Warnings Screen Area [Page 17]

For a detailed guide on creating Web applications, see Creating Web Applications with the BEx Web Application Designer [Page 47]. For more information about creating Web applications, see Creating Web Applications [Page 43]. You can adjust the appearance of the Web Application Designer to your requirements. The object on which you are working, namely the Web template, is handled differently from the tools and help windows with which you are working.

You can show and hide the individual screen areas and toolbars using the View menu option. You can move the three toolbars and the Web Items and Properties windows as you require. Depending on where you move the object to, it is anchored or it appears freely as a toolbox. Since the Web Application Designer is a Multi-Document Interface Application (MDI Application), you can open and manage different windows with Web templates at the same time. You can use the Window menu option to arrange the windows differently: cascading (overlapping), vertical or horizontal.

4.1.1.1.1

Screen Areas in the Web Application Designer

Use
The initial default view of the Web Application Designer consists of the following four screen areas to assist you when you work with the BEx tool: Web Items Screen Area [Page 14] Web Template Screen Area [Page 14] Properties Screen Area [Page 16] Error and Warnings Screen Area [Page 17]

Enterprise Reporting, Query, and Analysis

13

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.1.1.1

Web Items Screen Area

Definition
A component of the Web Application Designer

Use
The Web Items window offers a pool of Web items [Page 54] that you can use to create your Web application.

A Web item describes the way in which the data from a data provider [External] is displayed, such as tables (Web item Analysis), maps (Web item Map) and graphics (Web item Chart).

Structure
The Web Items screen area is divided into the following sections:

The selection groups for Web items (master Web items) are located in the upper area, divided into various categories: Web-Item Grouping: Standard [Page 55] Web-Item Grouping: Extended [Page 93] Web-Item Grouping: Miscellaneous [Page 149]

Under Data Provider, you can create data providers of type Filter or of type Query View. Drag the required data provider type into your Web template using Drag&Drop. The dialog for creating data providers opens.

Underneath the selection for Web items and data provider maintenance, you see the help area, which provides explanations for the Web items and the data providers. To display the texts for the respective Web item, select the Web item by double-clicking with the right mouse button. To hide the texts, proceed in the same way. Once you have hidden the display of texts and selected a Web item by single clicking, a quick info is displayed for the Web item.

4.1.1.1.1.2

Web Template Screen Area

Definition
A component of the Web Application Designer.

Use
The Web Template window contains the Web templates that you edit in the design process and that form the basis of your Web applications.

Enterprise Reporting, Query, and Analysis

14

Core Development Tasks Developing User Interfaces

March 2006

The HTML page published on the Web is called a Web application. The Web template [Page 28] is the HTML page that you use to specify the structure of the Web application.

Structure
In the upper section of the Web Template screen area, there are three tab pages you can use to change the view of the Web template in the same way that you do in an HTML editor.

Layout tab page In the layout view, you have a visual focus and specify the layout of the Web application. To do this, you use drag and drop to insert Web items from the pool of Web items into your Web template. For more information about other options and procedures for the layout of Web templates, see Designing the Layout of Web Templates [Page 30] and Context Menu in Web Templates [Page 32]. In the lower section of the layout view, you can create data providers. When you double-click New Data Provider, the dialog for creating data providers opens. You can also create data providers in the Web Items screen area.

XHTML tab page The XHTML view displays the XHTML that corresponds to the layout view. Each element of the XHTML syntax has a different color:

Syntax Element Comments Attributes Attribute values HTML tags BI-specific content (BI tags) such as Web items, commands, data providers Texts Hyperlinks

Color Gray Red Blue Black Dark red Green Violet

In the XHTML view, you can edit the XHTML of a Web template directly. Alternatively, you can also edit the XHTML with an external XHTML editor. For more information about editing XHTML, see Further Editing Web Templates [Page 34].

Overview tab page On the Overview tab page, all Web items, data providers, and commands used in Web templates are listed. By selecting or deselecting checkboxes, you specify which of these objects is listed. The objects are listed vertically in the Web Item Name column. In the horizontal alignment of the table, any data providers and reusable Web items associated with the object listed are displayed. Using Sort Order, you can specify how the used objects are to be listed: Grouped

Enterprise Reporting, Query, and Analysis

15

Core Development Tasks Developing User Interfaces

March 2006

If you choose this sort order, the objects used are listed by type: data providers, Web items and commands. Web Template If you choose this sort order, the sequence of the objects used in the Web template are displayed as a flat structure. Web Template (Hierarchical) If you choose this sort order, the sequence of the objects used in the Web template are displayed as a hierarchical structure. You see a hierarchical structure if you nest Web items in the Web template (for example, when you use the Container Web item). You can change the parameters of the associated objects using the context menu for each Web item, Web template, and data provider listed. For more information, see Creating Web Applications with the BEx Web Application Designer [Page 47].

4.1.1.1.1.3

Properties Screen Area

Definition
This a component of the Web Application Designer

Use
In the Properties screen area, you define the properties of Web templates and Web items.

Structure
The Properties screen area is divided into the following sections:

In the dropdown box in the header of the screen area you see the selection for which you want to define properties for a Web template [Page 28] or for specific Web items [Page 54]. Depending on your choice in the dropdown box, you can then make various settings for Web templates or Web items. Once you have selected a Web template from the dropdown box, you can set the paramters for the Web template on the Web Template Parameter tab page. Once you have chosen a Web item from the dropdown box, you can make the following settings:

Tab page: General Here you can use the Create New symbol next to the dropdown box to create a data provider and assign it to the Web item. See Web Template Parameters [Page 173].

Tab Page: Web Item Parameter

Enterprise Reporting, Query, and Analysis

16

Core Development Tasks Developing User Interfaces

March 2006

Here you can set the parameter for the selected Web item. See also: Web Items [Page 54].

In the lower area of the Web Item Parameter tab page or the Web Template Parameter Web page, context sensitive help is available.

4.1.1.1.1.4

Errors and Warnings Screen Area

Definition
This a component of the Web Application Designer

Use
The Errors and Warnings screen area is used to display errors and warnings that are found when a Web template is being verified.

Integration
The errors and warnings that are displayed in this screen area refer to the following possible checks of the Web template.

Verify This check is performed automatically and by default every two seconds. Within the verification, the internal structure of the Web template is checked. You can change the refresh time for the verification in the menu bar under Tools Settings.

Verification on the server With this verification, which you trigger manually, additional conditions for creating a correct Web template are checked on the server side. Here for example, the system verifies whether a query that is being used as a data provider exists. To trigger the verification, on the menu bar for the Web Application Designer, choose Web Template Verify on Server For more information about verification and verification on the server, see Editing Web Templates Further [Page 34].

Correct and format During this verification, which you can trigger manually, the internal structure of the HTML is checked. You can only trigger this verification when you are in the XHTML view. From the Web Application Designer menu bar, choose Edit Correct and Format.

Enterprise Reporting, Query, and Analysis

17

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.1.2

Functions of the Web Application Designer Menu Bar

Use
From the menu bar and toolbars in the Web Application Designer, you can call all the functions you need to create or edit a Web template. This section provides you with an overview of these functions. For more information about creating Web applications with the BEx Web Application Designer, see Creating a Web Application [Page 43] and Creating Web Applications with the BEx Web Application Designer [Page 47].

Features
Menu Bar
The functions are available from the following menus in the menu bar: Web Template [Page 19] Edit [Page 22] View [Page 23] Insert [Page 24] Format [Page 24] Tools [Page 25] Table [Page 27] Window [Page 27] Help [Page 28]

Toolbars
The Web Application Designer has the toolbars Standard, Insert, and Format.

Standard Toolbar
In the Standard toolbar, the following functions are available as pushbuttons in the menu bar:

New Open Save Verify Verify on Server Execute in Browser Copy Cut Paste Correct and Format

Enterprise Reporting, Query, and Analysis

18

Core Development Tasks Developing User Interfaces

March 2006

Insert Toolbar
In the Insert toolbar, the following functions are available as pushbuttons in the menu bar:

Insert Table Hyperlink Image Language-Dependent Text DIV SPAN Any Tag

Format Toolbar
In the Format toolbar, the following functions are available as pushbuttons in the menu bar:

Fonts Font Size Bold Italic Left Align Right Align Center Background Color Font Color Background Color of Text

4.1.1.1.2.1

Functions in the Web Template Menu

Use
This section outlines the functions that are provided in the menu bar for the Web Application Designer in the Web Template menu.

Features
You can choose from the following functions in the Web Template menu: Menu Entry Description

Enterprise Reporting, Query, and Analysis

19

Core Development Tasks Developing User Interfaces

March 2006

New

Choose Web Template New to create a new Web template that you want to publish as a Web application in a Web browser. See also Creating Web Applications with the BEx Web Application Designer [Page 47].

Open

This function opens the BEx open dialog [External]. From this dialog, you can open a Web template in your history, favorites, or roles, or by using the search function; you can then edit it or publish it in the Web browser. You use this function to close a Web template. If you have edited a Web template and want to keep the changes, save the Web template before you close it. You use this function to delete open Web templates that are already saved. You use this function to save any changes you make to an existing Web template. When you create a new Web template and choose Save, the BEx save dialog [External] appears, where you can save your Web template in your favorites or roles. This function takes you to the BEx save dialog [External], where you can save your Web template in your favorites or roles. If you are authorized to delete Web templates, you are also able to overwrite any existing Web templates that you have saved in your favorites or roles. To do this, create a new Web template. To overwrite an existing Web template with the new Web template, in the Web Application Designer menu bar, choose Web Template Save As. In the Save Web Template dialog box, select the Web template that you want to overwrite from your favorites or roles. Choose Save. In the Do you want to overwrite <name of selected Web template>? dialog box, choose OK.

Close

Delete Save

Save As

You cannot overwrite Web templates that are currently open in the Web Application Designer. Import from File You use this function to import a Web template that you edited with an external XHTML editor back into the Web Application Designer. See also Further Editing Web Templates [Page 34]. You use this function to export to a file system of your choice a Web template that you want to edit with an external XHTML editor. See also Further Editing Web Templates [Page 34].

Export to File

Enterprise Reporting, Query, and Analysis

20

Core Development Tasks Developing User Interfaces

March 2006

Verify

This function checks that the internal structure of the Web template is correct. By default, the verification is performed automatically every two seconds. You can change the refresh time under Tools Settings. Any errors found during this check are displayed in the errors and warnings screen area [Page 17]. For more information about verification, see Further Editing Web Templates [Page 34].

Validate Against Server

You use this function to trigger an additional check of the Web template. This checks the server conditions for a correct Web template. Any errors found during this check are displayed in the correction assistant, which suggests correction changes for the errors found. For more information about verification on the server, see Further Editing Web Templates [Page 34].

Runtime Format Preview

This function provides a technical preview of the existing Web application. The runtime format is displayed. You use this function to call your Web application in the portal. In Role You use this function to publish Web templates in roles. The system saves a link to the current Web template in the selected role. To Portal You use this function to publish Web templates as iViews in the Portal Content Directory. See also Publishing Queries, Web Applications and Reports [External]. BEx Broadcaster... You use this function to open the BEx Broadcaster, which you can use to precalculate and broadcast the Web template. See also Precalculating and Broadcasting Queries, Query Views, Web Templates and Reports [External]. Copy URL to Clipboard You use this function to copy the URL of the Web template to the clipboard so that you can call it in a Web browser or send it as an e-mail, for example. However, you must save the Web template first.

Execute Publish

Recent Documents

The Web templates that you opened last are displayed under this function.

Enterprise Reporting, Query, and Analysis

21

Core Development Tasks Developing User Interfaces

March 2006

Exit

You use this function to close the Web Application Designer. If you want to keep the changes you made to a Web template you created or edited, save the Web template before you close the Web Application Designer.

4.1.1.1.2.2

Functions in the Edit Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Web Application Designer in the Edit menu.

Features
You can choose from the following functions in the Edit menu: Menu Entry Copy Description You use this function to copy single Web items, pictures, text and so on, or an HTML table, to insert them, for example, into another Web template. You use this function to cut a highlighted Web item, HTML element, picture or text. You use this function to paste into a Web template any Web items, texts, pictures or HTML elements that you have copied. For more information about the menu options in the Edit menu, see Context Menu in Web Templates [Page 32] Delete Web Item You use this function to delete a highlighted Web item from the Web template. You use this function, which is only available in the layout view, you can edit the <HEAD> tag of the Web template. You use this function, which is only available in the layout view, to edit the <BODY> tag of the Web template. You use this function, which is only available in the XHTML view, to trigger the check of the inner structure of the Web template. The XHTML text is simultaneously structured (formatted).

Cut

Paste

Edit <HEAD> tag

Edit <BODY> tag

Correct and format

Enterprise Reporting, Query, and Analysis

22

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.1.2.3

Functions in the View Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Web Application Designer in the View menu.

Features
You can choose from the following functions in the View menu: Menu Entry Show Borders Description You use this function, which is only available in the layout view, to display the frames of the inserted HTML tables. Hide HTML Tags, Display Important HTML Tags, Display HTML Tags: You use this function to display HTML tags that are not visibly displayed in the layout view by default (for example font tags). You can edit the tags using the context menu of the displayed tags. Change Grid Display You use this function, which is only available in the layout view, to change the grid and grid pages that the Web template is based on, to suit your needs. You can hide grids, show grids and grid pages, or show the grid or grid pages individually. You can set the size of the grids and grid pages using Grid Pages Settings. Status Bar You use this function to show and hide the status bar in the lowest screen area of the Web Application Designer. Depending on the view in which you are working (layout view or XHML view), different information is displayed. You use this function to show and hide the Insert, Format and Standard toolbars. You use this function to show and hide the Web Items screen area. You use this function to show and hide the Properties screen area. You use this function to show and hide the Reusable Web Items screen area. If you show this screen area, it appears as a tab page in the Web item screen area by default. However you can move this screen area about freely within the Web Application, just as you can with all other screen areas. See also Working with Reusable Web Items [Page 51].

Display HTML Tags

Display Toolbars Web Items Properties

Reusable Web Items

Enterprise Reporting, Query, and Analysis

23

Core Development Tasks Developing User Interfaces

March 2006

Errors and Warnings

You use this function to show and hide the Errors and Warnings screen area.

4.1.1.1.2.4

Functions in the Insert Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Web Application Designer in the Insert menu.

Features
You can choose from the following functions in the Insert menu: Menu Entry Web Item Description You use this function to insert Web items from the various Web item groupings into a Web template. You use this function to insert hyperlinks into your Web templates. You use this function to insert pictures into your Web templates. You use this function to insert languagedependent texts into your Web templates. You use this function to insert <DIV> tags into your Web templates. You use this function to insert <SPAN> tags into your Web templates. You use this function to insert favorite tags into your Web templates. The available tags are given in a dropdown box.

Hyperlink Image Language-dependent text DIV SPAN Favorite tag

4.1.1.1.2.5

Functions in the Format Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Web Application Designer in the Format menu.

Features
You can choose from the following functions in the Format menu: Menu Entry Description

Enterprise Reporting, Query, and Analysis

24

Core Development Tasks Developing User Interfaces

March 2006

Fonts

You use this function to determine the font of the texts that you insert into your Web templates. You use this function to select the font size of the texts that you insert into your Web templates. You use this function to format texts as bold. You use this function to set texts as italic. Left Align You use this function to left align objects. Center You use this function to center objects. Right Align You use this function to right align objects.

Font Size

Bold Italic Alignment

Background Color Font Color Background Color of Text

You use this function to specify the background color of the Web template. You use this function to specify the color of the texts that you insert into your Web templates. You use this function to specify the background color of the texts that you insert into your Web templates.

4.1.1.1.2.6

Functions in the Tools Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Web Application Designer in the Tools menu.

Features
You can choose from the following functions in the Tools menu: Menu Entry Migration Tool Description You use this function to convert Web templates from SAP BW 3.x to Web templates from SAP NetWeaver 2004s. See also Migration Tool [Page 38].

Enterprise Reporting, Query, and Analysis

25

Core Development Tasks Developing User Interfaces

March 2006

BEx Query Designer

You use this function to call the BEx Query Designer to define queries. For more information, see Defining New Queries [Page 368]. You use this function to call the BEx Web Analyzer to define a new query view (based on a query or on a query view). For more information, see BEx Web Analyzer [External]. You use this function to use BI Integrated Planning functions. Planning Modeler The planning modeler appears, which you can use to model, administer, and test all the metadata that belongs to a planning scenario. Planning Wizard The planning wizard appears, which supports you in using planning modeling for the first time. For more information, see Modeling Planning Scenarios [External].

BEx Web Analyzer

Planning

Settings

You use this function to make the settings for the Web Application Designer. HTML Documentation Here you can specify a link to any online or offline HTML documentation that you may need when editing the HTML (such as when inserting HTML tags). By default, there is a link to the documentation from the Microsoft Developer Network (MSDN) here. For more information about HTML documentation, see SAP Note 904001 on SAP Service Marketplace at service.sap.com/notes. Metadata In addition to specifying the directory for the metadata, you can update the metadata General Here you can determine the refresh time for the Errors and Warnings screen area and set the trace level that determines the granularity of the recording.

Enterprise Reporting, Query, and Analysis

26

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.1.2.7

Functions in the Table Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Web Application Designer in the Table menu.

Features
You can choose from the following functions in the Table menu: Menu Entry Table Description You use this function to insert HTML tables into your Web templates. Note that to display HTML tables without frames in the layout view, the frames display must be switched on. See Menu: View [Page 23] Display Frames. Insert Rows You use this function to insert rows into an inserted HTML table. Use the mouse to click on the row under which the additional row should be inserted. You use this function to insert a column into an inserted HTML table. Use the mouse to click on the column to the right of which the additional column should be inserted. You use this function to delete a row from an HTML table. Use the mouse to click on the line to be deleted. You use this function to delete a column from an HTML table. Use the mouse to click on the column to be deleted. You use this function to merge cells in an HTML table. First enter texts in the cells that you want to merge. Select these cells and choose Merge Cells. You use this function to split a cell that you created by merging other cells.

Insert Columns

Delete Rows

Delete Columns

Merge Cells

Split Cells

4.1.1.1.2.8

Functions in the Window Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Web Application Designer in the Window menu.

Features
You can choose from the following functions in the Window menu:

Enterprise Reporting, Query, and Analysis

27

Core Development Tasks Developing User Interfaces Menu Entry Cascading Description

March 2006

You use this function to arrange the various screen areas of the Web Application Designer so that they overlap. You use this function to horizontally arrange the various screen areas of the Web Application Designer. You use this function to vertically arrange the various screen areas of the Web Application Designer. You call the Select Web Template window with this entry. You can create new Web templates or selecting existing ones from this window. Furthermore, the Web templates that you currently have open in the Web Application Designer are executed under the context menu entry.

Horizontally

Vertically

Select Web Template

4.1.1.1.2.9

Functions in the Help Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Web Application Designer in the Help menu.

Features
You can choose from the following functions in the Help menu: Menu Entry Application Help Description You can use this function to view the SAP NetWeaver online documentation. The Web Application Design: BEx Web Application Designer section in the documentation for the Business Explorer is displayed automatically. You can use this function to see the release of the Web Application Designer with the number of the patch and the revision. You can quote this information to SAP if you need to send problem messages.

Info

4.1.1.1.3

Web Templates

Definition
You determine the structure of a Web application with a Web template. Using the Web Application Designer, you can insert placeholders for Web items [Page 54], data providers

Enterprise Reporting, Query, and Analysis

28

Core Development Tasks Developing User Interfaces

March 2006

[External] and commands (see Command Wizard [Page 222]) into an XHTML document. The XHTML document with the BI-specific placeholders is called a Web template and can be edited in the Web Application Designer. The HTML page that is displayed in the Internet browser is called a Web application. Depending on which Web items you have inserted into the Web template, a Web application can contain one or more tables, charts, maps, dropdown boxes and so on.

Structure
A Web template is the keystone of a Web application and contains placeholders for Web items, data providers and commands. For the Web application, the place holder is filled during runtime and Web items, data providers and commands are generated. In the Web template, you determine from which data provider and it what way (Web items) the BI data is displayed. You also determine which additional operations are possible (commands). When a request is sent from a Web application to the application server for ABAP, a Template object is generated from which the structure of the requested XHTML page is derived. The following objects are generated on the basis of this Template: Data providers Web item

Integration
You create Web templates on the application server for ABAP. The executed Web applications are started and displayed in the portal, which in turn runs in a Web browser.

Example
The following is an example of a simple Web template with the navigation pane [Page 68] and analysis [Page 56]Web items:
<bi:bisp xmlns="http://www.w3.org/TR/REC-html40" xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp" xmlns:jsp="http://java.sun.com/JSP/Page" > <html> <head> <title >Netweaver BI Web Application</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <bi:TEMPLATE_PARAMETERS name="TEMPLATE_PARAMETERS" > <bi:ERRORS_VISIBLE value="X" /> </bi:TEMPLATE_PARAMETERS> <bi:QUERY_VIEW_DATA_PROVIDER name="MY_FIRST_DATAPROVIDER" > <bi:INITIAL_STATE type="CHOICE" value="QUERY" > <bi:QUERY value="MY_FIRST_QUERY" text="Type" /> </bi:INITIAL_STATE> </bi:QUERY_VIEW_DATA_PROVIDER> <bi:NAVIGATION_PANE_ITEM name="NAVIGATION_PANE_ITEM_1" designwidth="240" designheight="300" > <bi:DATA_PROVIDER_REF value="MY_FIRST_DATAPROVIDER" /> <bi:HEIGHT value="300" /> <bi:WIDTH value="240" /> </bi:NAVIGATION_PANE_ITEM> <bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_1" designwidth="400" designheight="300" >

Enterprise Reporting, Query, and Analysis

29

Core Development Tasks Developing User Interfaces


<bi:DATA_PROVIDER_REF value="MY_FIRST_DATAPROVIDER" /> <bi:HEIGHT value="300" /> <bi:WIDTH value="400" /> </bi:ANALYSIS_ITEM> </body> </html> </bi:bisp>

March 2006

4.1.1.1.3.1

Web Template Properties

Use
You can specify the properties for your Web application in each Web template. You can determine whether messages are displayed in the Web application. The properties are set, as with all Web items, using the associated parameters. From the dropdown box in the header of the Properties screen area, choose the Web template for which you want to make the settings. On the Web Template Parameter tab page you can change the properties set by default. For information about the individual properties (parameters), see Web Template Parameters [Page 173].

The context menu [Page 170]Web item is available for setting the context menu in a Web application.

4.1.1.1.3.2

Designing the Layout of Web templates

Use
You can change your Web template in the layout and design it as you like.

Features
Arranging Web Items on the Page

You can change the size of the placeholders. You can see what effect resizing a Web item in a Web application has by looking at the values, shown in the XHTML view by the parameters Height and Width for the corresponding Web item. You can align the Web items horizontally. Choose Format Left Justify in the menu bar of the Web Application Designer, to left justify the Web item. Choose Format Right Justify in the menu bar of the Web Application Designer, to right justify the Web item. Choose Format Center in the menu bar of the Web Application Designer, to center justify the Web item.

Enterprise Reporting, Query, and Analysis

30

Core Development Tasks Developing User Interfaces


March 2006

To change the position of the Web items in the Web template, drag a Web item to the required position using Drag&Drop. To place several Web items next to each other you have to take the width of the Web template into account. If the Web Template is wide enough for a second Web item, this is positioned to the right of the first Web item because the Web browser breaks up pages according to standard HTML.

Arranging Web Items Using an HTML Table


You can use an HTML table to arrange Web items optimally next to and below one another. You can apply this grid as required..
...

1. Choose Table Insert Table in the menu bar of the Web Application Designer. 2. Set up the table according to your settings and requirements. 3. Choose OK. The table is inserted into the Web template. 4. You can drag different Web items into the individual table cells, depending on whether you want to arrange your Web items horizontally or vertically.

Enhancing Web Templates with Texts


As well as inserting and arranging Web items, you can also enhance your Web template with texts, which you can format.
...

1. Place the cursor on a position in the Web template and enter a text. 2. You format it by selecting the text passage and choosing one of the following options from the menu bar (menu Format) or the Format toolbar of the Web Application Designer. Fonts Font size Bold Italic Left justify Right justify Center Text color Background color of text

Enhancing Web Templates with Images


In addition to inserting and arranging Web items and texts, you can attach images, such as corporate logos, to your Web templates. These images are stored in the MIME Repository of the BI server. The system supports GIF, JPG and BMP formats.
...

1. Position the cursor where you want to insert an image into the Web template. 2. Choose Insert Image and select the image file. For more information, see Context Menu in Web Templates [Page 32].

Enterprise Reporting, Query, and Analysis

31

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.1.3.2.1

Context Menu in Web Templates

Use
Web items and HTML elements (for example, tables, texts, and images) that you insert into a Web template, as well as the Web template itself, have a context menu. This context menu has context-sensitive menu entries that you can use to call various Web Application Designer functions. You can, for example, use the context menu to save a Web item (for which you have determined specific properties using the parameters) as a reusable Web item, call the properties dialog box for this Web item, copy the Web item and paste it into another Web template, or delete the Web item from the Web template.

Features
You can call the context menu
...

1. From an empty point in the Web template You can choose from the following functions: <BODY>-tag properties If you choose this function, you can edit the <BODY> tag of the Web template. Paste

Table If you choose this function you can insert an HTML table into your Web template.

Hyperlink If you choose this function you can insert hyperlinks into your Web template.

Image If you choose this function you can insert images into your Web template.

DIV If you choose this function you can insert the <DIV> tag.

SPAN If you choose this function you can insert the <SPAN> tag.

Favorite tag If you choose this function you can insert any tag from the list.

Copy Cut Paste Delete

For more information about inserting images and HTML tables into Web templates, see Designing the Layout of Web Templates [Page 30].

Enterprise Reporting, Query, and Analysis

32

Core Development Tasks Developing User Interfaces 2. From a Web item that you have previously inserted into your Web template You can choose from the following functions: Properties

March 2006

You use this function to call the properties dialog box for the Web item in the properties screen area [Page 16]. Save as a reusable Web item You can use this function to save the Web item as a reusable Web item. See also Working with Reusable Web Items [Page 51]. Copy You can use this function to copy all of the elements that you have inserted into your Web template (for example, Web items, hyperlinks, texts, images, HTML tables and so on) so that you can paste them into another Web template, for example. Cut Paste See Paste under point 1.

For the Chart and Map Web items, you also have the edit function available. You can access the Copy, Cut and Paste functions using the Standard toolbar or from the Edit menu in the menu bar. Cut Delete

3. From a cell in an HTML table that you inserted into the Web template You can choose from the following functions: <TD>-tag properties Paste See Paste under point 1. Table

Edit: edit <table>, edit <tr> row, edit <td/th> cell Paste: row above, row below, column left, column right, split cell, merge cells Delete: table, row, column

Copy Cut Paste Delete

Enterprise Reporting, Query, and Analysis

33

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.1.3.2.2

Merging Cells in an HTML Table

Use
To arrange Web items horizontally and vertically in the optimum way, without line breaks, you can use an HTML table. You can apply this grid required. You can also merge cells that are situated next to each other in the table.

Prerequisites
You have called the Web Application Designer and have included an HTML table to your Web template. For more information about inserting an HTML table, see Designing the Layout of Web Templates [Page 30].

SAP recommends that you only merge cells in tables if you have not already inserted Web items.

Procedure
Merging cells (in this example) in an HTML table with two columns and two rows:

For technical reasons, you can merge cells horizontally only.


...

1. Place the cursor on the outermost left margin of one of the two cells that you want to merge. 2. On your keyboard, hold down the Shift key and either the left or right arrow key:

If you have placed the cursor in the left cell, press the arrow key that is pointing to the right. If you have placed the cursor in the right cell, press the arrow key that is pointing to the left.

3. From the Web Application Designer menu bar, choose Insert Table Merge Cells (the Merge Cells menu entry is now active). You now see one cell instead of two.

Alternatively, you can insert a text in each of the cells to be merged, highlight this and then proceed as described in step 3. Afterwards, delete the text from the newly created cell.

4.1.1.1.3.3

Further Editing Web Templates

Use
You can edit a Web templates XHTML source directly in the Web Application Designer or with an external XHTML editor. If you prefer you can also make changes to the XHTML source in the layout view of the Web Application Designer.

Enterprise Reporting, Query, and Analysis

34

Core Development Tasks Developing User Interfaces

March 2006

Prerequisites
The Web Application Designer is displayed. You have created a Web template and would now like to edit the XHTML source of this Web template.

Procedure
You have the following options:
...

1. You can edit the Web template directly in the XHTML view of the Web Application Designer. To do this, choose the XHTML tab page from the bottom of the Web Application Designer Template window. Edit the XHTML.

You have the following options for checking the checked XHTML: Verify i. Choose Web Template Verify in the menu bar of the Web Application Designer, to allow the system to check the edited XHTML. The system only checks that the syntax of the BI tags is correct. If errors are found they are shown in the Errors and Warnings screen area, but no corrections are suggested. From here you can chose to go to the row/column where the error was found. For certain errors that are found you can also goto the incorrect coding point by clicking on the displayed hyperlink. ii.
...

Correct the incorrect XHTML.

Verify on server i. Choose Web Template Verify on Server in the menu bar of the Web Application Designer, to allow the system to check the edited XHTML. The system checks, where possible, whether the XHTML is syntactically correct. The changes in XHTML are not transferred into the Web template during verification. If errors are found the correction assistant appears that offers suggestions for correcting the discovered errors. ii. In the correction assistant, you have the option of ignoring all errors, ignoring individual errors, or adopting the suggested corrections. Choose one of the three options.

Note that if you ignore the errors that are found, it may mean that you cannot save and/or run the Web template.

The system automatically starts verifying the Web template in the following instances:

You change from the XHTML view in which you edited the XHTML into another view of the Web Application Designer. You save the Web template.

2. You can also edit the Web template with an external XHTML editor.

Enterprise Reporting, Query, and Analysis

35

Core Development Tasks Developing User Interfaces

March 2006

To process a Web template further using an external XHTML editor, choose Web Template Export to File from the menu bar of the Web Application Designer. Your Web template, that is the XHTML file, is stored on a file system of your choice. You can call it from there with your XHTML editor. To call a Web template that you have edited in the XHTML editor (that is, the edited XHTML file) in the Web Application Designer again and edit it further, store the file on your file system again. In the Web Application Designer, choose Web Template Import from File and specify the names and location of the saved file.

3. For technically orientated and very experienced users, an ABAP program that you can call exists in the BI system To make changes to the Web Template, proceed as follows: a. In the menu bar of the SAP Easy Access screen in the BI system, choose System Services Reporting (Transaction Code SA38). b. Enter the RS_TEMPLATE_MAINTAIN_70 report in the program field. c. Enter the name of the Web template that you want to edit. d. Edit the Web template.

4.1.1.1.3.4

Mass Maintenance and Conversion of Web Templates

Use
The mass maintenance of Web templates allows you to automatically change multiple Web templates simultaneously. You can simultaneously export or import multiple Web templates and execute simple replacement operations.

Integration
The mass maintenance and conversion of Web templates is a standard ABAP report that you can execute by specifying a report name. In the menu bar of the SAP Easy Access screen, choose System Services Reporting (Transaction code SA38), and enter the report name RS_TEMPLATE_MASS_ALTER_70 in the Program field.

Prerequisites
Exporting and Importing Web templates is only possible for Web templates that already exist.

Features
The Mass Conversion of Web Templates screen is divided into four areas: Entry In this area you can select Web templates that you want to change or export/import according to criteria such as role, name of Web template or user name of the last person to change the Web template. Alternatively you can specify a file with a list of technical names of Web templates. When importing from the file system, you can specify a folder in which the Web templates to be imported are located.

Enterprise Reporting, Query, and Analysis

36

Core Development Tasks Developing User Interfaces Filters

March 2006

In the Filter area you can restrict the quantity of selected Web templates once again. The following restriction criteria are available for this:

You can enter a certain search string that must be contained in the Web template. You can enter a pattern that must appear in the Web template. You can enter an XSLT transformation that is saved in the BI system, for filtering.

Operation selection In this area you set whether and which operations are executed in the selected Web templates. You can select one of the following operation possibilities:

<No operation> Choose this option if you only want to export or import Web templates.

Export / import the Web templates

Data, such as role assignment, header information (for example, language dependent texts) and local chart settings, is not exported along with the Web templates.

Manipulating Web templates using XSLT transformation. Converting Web templates with a function module, whose signature must correspond to the pattern RSWAD_ALTER_TEMPLATE_SAMPLE. Converting Web templates using a string replacement.

Output target In this screen area, determine where and how the output of the Web template takes place. The following options are available:

Saving in the database Creating in the database Saving in the file system in the front end Output list of technical names after entering the corresponding file.

Overwriting Web templates can lead to massive, irretrievable changes to the Web template. Therefore you should save the original Web template data before automatic conversion takes place. Also note the information about using this report in SAP note 710112.

Enterprise Reporting, Query, and Analysis

37

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.1.4

Migration Tool

Use
The migration tool for the Web Application Designer is a helpful tool for migrating Web templates with a SAP BW 3.x format to the format of SAP NetWeaver 2004s.

Integration
The migration tool is part of the Web Application Designer. You can call it from the menu bar for the Web Application Designer using Tools Migration Tool.

Features
The migration tool supports you while you are migrating Web templates from the SAP BW 3.x format to the SAP NetWeaver 2004s format. The parameters that were inserted into a Web template with a SAP BW 3.x format are converted into the Web template format for SAP NetWeaver 2004s. The migration includes 5 main steps:
...

1. Selecting a Web template of format SAP BW 3.x 2. XML generation for the Web template 3. Stylesheet-based automatic conversion of the generated XML into the format SAP NetWeaver 2004s. 4. Manual subsequent correction (for example subsequent correction of JavaScript functions) and changes in the XHTML view of the Web Application Designer 5. Saving the Web template after successful migration

Activities
Information on how you proceed during migration of a Web template can be found at Migrating Web Templates [Page 38].

4.1.1.1.4.1

Migrating Web Templates

Use
There is a utility tool for migration that is available for the Web Application Designer to convert Web templates of format SAP BW.3x into Web templates of format SAP NetWeaver 2004s and to migrate them.

Prerequisites

You are in the Web Application Designer and have called the migration tool using the menu bar by choosing Tools Migration Tool. Library Web items that are in a Web template of format SAP BW 3.x that you wish to migrate must first be migrated using the standard ABAP report RSZW_ITEM_MIGRATION_3X_TO_70 of a BI system. In the menu bar of the SAP Easy Access screen, choose System Services Reporting (transaction code SE38), and enter the report name RSZW_ITEM_MIGRATION_3X_TO_70 in the

Enterprise Reporting, Query, and Analysis

38

Core Development Tasks Developing User Interfaces

March 2006

Program field. For more information on the report, see SAP Note 832712 at service.sap.com/notes.

Procedure
If you want to migrate Web templates of format SAP BW 3.x to SAP NetWeaver 2004s, proceed as follows:
...

1. Choose Select Web Template in the Migration Tool dialog box. The BEx Open Dialog appears. 2. Enter the technical name and the description for the Web template that you want to migrate to SAP NetWeaver 2004s and choose OK. The Web template you selected is now listed under the Web Template to Be Converted section with the respective technical name and description.

You can also select the Web template using the search in the Open Dialog or using the role view. 3. Under Conversion Settings, you can select the following options. Select Automatic Web Template Conversion into XML (If Possible) when you want an automatic conversion of the Web Template to XML.

Note that, for technical reasons, automatic conversion cannot always take place. See the section Manual Support for XML / XHTML Conversion. Select the Display XML and Stylesheets Used to display the XML file used (Web template from SAP BW 3.x that has been converted to XML) and the stylesheet used for the conversion. After successful conversion, it is displayed under Edit and Close.

4. Choose Start Conversion. Under Status of the Conversion you can see to what extent the conversion was implemented. 5. Choose Close and Edit as soon as the conversion process is complete. The XHTML view of the Web Application Designer opens, in which you can make additional changes and any corrections to the Web template that are required. To see which other corrections have to be made to the Web template in certain circumstances, see SAP Notes 832713 (note on the migration of Web templates) and 832712 (note on migration of library Web items). 6. Save the migrated Web template and specify a new description and new technical name. However, you can also keep the technical name of the original Web template.

Since Web templates of format SAP BW 3.x are neither overwritten nor changed during migration, you can migrate Web templates with this format as often as you want to change them to suit your needs. For more information, see SAP Note 832713. Note that you may have to edit the Web template further under certain circumstances before you can save it. Manual Support for XML / XHTML Conversion

Enterprise Reporting, Query, and Analysis

39

Core Development Tasks Developing User Interfaces

March 2006

When you have not selected Automatic Web Template Conversion to XML (If Possible) or when automatic conversion could not be performed and you have chosen Start Conversion, the Manual Support for XML / XHTML Conversion dialog box opens. Here you have the option of manually editing the XML document that is required for Web template migration:

Choose Check XML when you want to check the changes that you made to the XML document for correctness of the XML syntax. If errors are found during the check, they are displayed in the lower area of the dialog box. Correct the error and execute the test again. If no errors are found during the check, choose Continue Conversion to continue with conversion of the Web template. The first dialog box for the migration tool opens. To learn how to proceed from here, see point 5 in the procedure above.

Choose Reset when you want to discard changes you made to the XML document and return to the document that was originally displayed. Choose Convert XML to trigger automatic conversion of the Web template into XML (see also Automatic Web Template Conversion into XML (If Possible) under point 3 above. Note that automatic conversion cannot always be performed.

Result
You have migrated a Web template of format SAP BW 3.x to SAP NetWeaver 2004s.

We recommend that you execute the migrated Web template and test it functionally. We also recommend that you check whether certain Web template elements that can be found in the Web template (such as commands for Web items or data providers) could be created more simply or clearly with the functions of the Web Application Designer from SAP NetWeaver 2004s (for example using the command wizard) as is possible with an automated and context-free migration. For functionality reasons and for reasons of completeness, we recommend that you create such elements using the Web Application Designer from SAP NetWeaver 2004s, especially when these elements could not be converted completely with the automated migration.

4.1.1.1.5

Text Input Dialog

Use
The text input dialog is used to display text for certain parameters in Web items. You can enter the following text types using the dialog:

Language-independent texts Language-dependent texts, in the object (Web template or reusable Web item) Language-dependent texts, store in tables Language-dependent report texts (obsolete)

Enterprise Reporting, Query, and Analysis

40

Core Development Tasks Developing User Interfaces

March 2006

Integration
The text input dialog is part of the Web Application Designer and is called when you set certain Web item parameters, such as parameter tray - in which you can give the tray for the Web item a label. Using the text input dialog, you can enter the hyperlink text (parameter TEXT_CONTENT) and the quick info text (parameter TOOLTIP) for the Link Web item, for example.

Features
You can create the following text types with the text input dialog:

Language-independent texts When you select this text type, you can enter the free text of your choice. The text is not translated.

Language-dependent texts, in the object (Web template or reusable Web item) If you select this text type, you can enter free texts that are either specific for the Web template or specific for a reusable Web item. Texts of this type are translated and transported with the associated object (Web template or reusable Web item). See Transport System [External]. Choose New to enter a new text of your choice. Then save the text. To edit a text that has already been saved, proceed as follows:

...

a. From the dropdown box of the dialog segment Text Properties, choose the text you wish to change. b. Choose Edit. c. Edit the text in the text dialog segment and then save it.

Language-dependent texts, store in tables When you select this type of text, you can edit texts that are saved in the RSBEXTEXTS table of the BI system and that have a translation connection and you can also create new ones. The texts are not transported with the object, but they can be used in other BEx tools (such as the Report Designer).

...

a. Choose the Maintain button in the Text Properties dialog segment. The BEx text maintenance dialog box appears. b. In the text maintenance dialog, choose the text that you wish to change and make the changes or In an empty row of the text maintenance dialog, enter your text into the Key and Text fields. c. Choose Save Changes. Your changes are made in the table.

Language-dependent report texts (obsolete) When you select this text type, you can select the texts of an ABAP report program that you have created. These texts have a translation connection; they are not transported with the object and have to be created in the BI system within the associated report program. See also Generating an ABAP Program to Maintain Language-Dependent Texts [Page 42] .

...

a. Under Report, in the Text Properties dialog segment, enter the report program names and enter the key for the text to be edited under Key.

Enterprise Reporting, Query, and Analysis

41

Core Development Tasks Developing User Interfaces b. Choose Get Text. The selected text is shown under Text.

March 2006

4.1.1.1.5.1

Creating ABAP Programs for Maintaining LanguageDependent Texts

Use
To make Web applications independent from static texts, you can maintain and translate the text in an ABAP table. The Web application is then filled with the corresponding texts according to the logon language.

Prerequisites
You are in the ABAP Editor (transaction SE38)

Procedure
...

1. In the Program field enter the name of the program, for example ZHTML_TEXTS and in the subobject screen, select Source Code. 2. Choose (Create). You reach the ABAP: Program Properties <Name of Program> Change screen. 3. Enter the title of the program, for example Web Application Texts. 4. Under Type in the Attributes field, choose Executable Program and then Save. The Create Object Catalog Entry dialog box appears. 5. In the Attributes field under Package enter $TMP and save the program as a Local Object. You have created an ABAP report called ZHTML_TEXTS 6. In the menu bar choose Goto Text Elements Text Symbols. You reach the ABAP Text Elements: Display Text Symbols Language English screen. Choose (Create <> Change). Enter your texts in the empty table.
...

a. In the Sym field enter the numerical key of the new text element (0-999), for example, 001. b. In the Text field, enter the name of the text element, for example, Credit Memos. The dLen field is filled automatically with the actual length of the text you entered, for example, 12 in the case of Credit Memos. c. In the mLen field, enter the maximum length of the text field.

If the maximum length of the text field (nLen) is smaller than the actual length of the text field (dLen), the system asks you whether you want the text to be shortened to the maximum length. d. When you have entered all your texts, choose (Activate). You reach the ABAP Text Elements: Change Text Symbols Language English screen. 7. In the menu bar of the ABAP Text Elements: Change Text Symbols Language English, choose Goto Translation. You reach the Target Language for Translation screen.
...

Enterprise Reporting, Query, and Analysis

42

Core Development Tasks Developing User Interfaces

March 2006

a. Select the target language, into which you want to translate the texts, for example, DE and choose (Continue). You reach the Translation: ABAP Text Pool: <Name of Program> ($) from Language <X> to <Y>, on which your texts and translation proposals from the ABAP text pool are displayed. For example, Credit Memos is translated as Gutschriften. You can transfer the proposals or edit them as you wish.

The program generated the text translations from the ABAP text pool if corresponding entries are available there. For texts without proposals you have to enter the translation yourself. b. Choose Save.

Result
In the Web template you can select this program text using the fourth option of the text input dialog.

4.1.1.2

Creating a Web Application

Before you start creating a Web application, we recommend that you consider the following basic questions:

How is the Web application to be called? See also Calling the Web Application [Page 44].

Where should the displayed data come from? See also Connecting the Data to Be Displayed [Page 44].

How should the data be displayed? See also Displaying the Data [Page 45].

Should interaction be possible in the Web application? See also Interactions in the Web Application [Page 46].

Should additional information be displayed and how should the layout of the Web application look? See also Displaying Additional Information and Designing the Layout [Page 46].

Should the Web application be reusable? See also Reusability of Web Applications [Page 47].

Enterprise Reporting, Query, and Analysis

43

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.2.1

Calling the Web Application

Purpose
Web applications can be called in different ways:

as a link in your Intranet as a link in the BEx Portfolio or in My Portfolio See Calling with the BEx Portfolio [External].

as an iView in the portal See BEx Web Application or Query As iView in the Portal [External].

Precalculated by e-mail or in the portal (with/without navigation) For calling in the portal, see BEx Web Application or Query As Document or Link in KM [External].

From the universal worklist, only when alerts occur

Depending on calling and display of the Web application, you need to be aware of various things:

If the user receives the Web application precalculated as MHTML by e-mail, the Web application should only contain the required information. Do not use elements for interaction. See Precalculating and Broadcasting Queries, Query Views, Web Templates and Reports [External].

You have to maintain the associated broadcast settings for precalculation. See Broadcast by E-Mail [External] and Broadcast to the Portal [External].

If the user is to call a Web application from the universal worklist, you first have to make the appropriate broadcast settings to put entries into the alert framework. See Broadcast by Exception [External].

4.1.1.2.2

Connecting the Data to Be Displayed

Purpose
Data providers provide the data for your Web applications. Data providers are suppliers of data and can be initialized using queries, query views, or InfoProviders. Data providers in the Web Application Designer are queries or query views.

Prerequisites

Think about which queries you need to create your Web application. Create the queries as needed. See Creating Queries below. Check whether you can reduce the number of required queries by using query views for queries that already exist. See Creating Query Views below.

Enterprise Reporting, Query, and Analysis

44

Core Development Tasks Developing User Interfaces

March 2006

Process Flow
Creating Queries
The Query Designer is available for creating queries (see Defining New Queries [Page 368]). When creating queries, be aware of any need for user-dependent display of data. Userdependent display can be realized using variables [Page 403]. You can preview the results of your query definition by executing the query in the Web. The query is displayed in the Web Analyzer [External]. In the Web Analyzer, you can also test the effect of basic settings for the Web items (such as the Analysis Web item or the Chart Web item) on the display.

Creating Query Views


To create query views, you execute an existing query or a query view in the Web Analyzer and navigate to the required view. Setting standard chart settings allows you to create a query view that appears as you wish it to appear. You save the query view using the context menu in the Web Analyzer.

Result
You can now use the queries created using the Query Designer and the query views created with the Web Analyzer in the Web Application Designer as data providers.

4.1.1.2.3

Displaying the Data

Purpose
Data is displayed in Web applications using Web items. The Analysis, Chart, Report and Map Web items are available as concrete display types for data. The display of this Web item can be controlled with the associated parameters. Separate tools are available for the design of the Chart and Report Web items. See also Editing Charts [Page 175] and the Report Designer [Page 278].

Prerequisites
When choosing the display type, note the following points:

Not every user can enter data visually using a chart. For this reason, make sure you also provide a tabular display in addition to a graphical display. Large sets of data cannot be entered all at once by the user.

Process Flow

Drag the required Web item onto your Web template using Drag&Drop and set the required parameters. You will find an explanation of the parameters in the descriptions for the individual Web items under Web Items [Page 54]. In order to test the Web item and the parameter settings you made, assign a data provider to the Web item, save the Web template and execute it.

Enterprise Reporting, Query, and Analysis

45

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.2.4

Interaction in the Web Application

Purpose
Interactions within the Web application can, on the one hand, change the data displayed (for example when setting filter values or changing the drilldown status). However, they can also generally affect the display of data and the layout of the Web application (for example when the display is changed from table to chart or when areas are hidden or displayed). The following options are available for interaction within the Web application:

Context menu You can display and hide the entries in the context menu according to your needs. For more information on the context menu, see Context Menu [Page 170] .

Web items for changing the status of data providers and Web items. These include, among others, the Filter Pane [Page 70], Navigation Pane [Page 68], Dropdown Box [Page 75], and Property Pane [Page 165] Web items. For a list of all available Web items, see Web Items [Page 54].

Command wizard The Command Wizard [Page 222] is available for special interactions within the Web Design API. With the command wizard, you can create your own command sequence to connect them with interaction elements. In this way, you can connect commands to the Web items Button Group [Page 72], Link [Page 154], Dropdown Box [Page 75] and Menu Bar [Page 159]. However, you can also link commands with an HTML link.

4.1.1.2.5

Displaying Additional Information and Designing the Layout

Purpose
After you have clarified the points regarding calling the Web application, data connection, data display and interaction in the Web application and implemented them, your Web application is functional and complete. However, remember that you may want to display some status information for the user in the Web application (for example, name of the query that is being executed, currentness of the data, filter values that have been set and so on), as well as design the layout of the Web application. Also remember that during runtime, Web applications are executed with the portal theme that is valid for the user. As required, change the portal theme.

Process Flow
Displaying Additional Information
The Info Field [Page 146] and Text [Page 151] Web items are available to display additional information. Move the required Web item using Drag&Drop into your Web template.

Enterprise Reporting, Query, and Analysis

46

Core Development Tasks Developing User Interfaces

March 2006

Design of the Layout


The following Web items are available for designing the layout: Tab Page [Page 98], Group [Page 101], Container [Page 97] und Container Layout [Page 94].

Move the required Web item using Drag&Drop into your Web template. This Web item is special because it can contain other Web items. Drag the Web item that you want to see in one of the above Web items into one of those Web items using Drag&Drop.

Use mainly predefined Web items for the layout design as they are provided in the Web Application Designer. In this way you reduce the use of your own HTML.

4.1.1.2.6

Reusability in Web Applications

Purpose
To decrease the total cost of ownership (TCO) you should consider to what extent you can reuse the created Web application.

Process Flow
If a Web application only differs from another one in only a few objects (a different data provider is displayed, for example, or a pushbutton does not appear or another Web item is used to display the data), you can create a second Web template by only using the Web Template Web item there.

Drag the Web Template Web item into the second Web template using Drag&Drop. You assign the first Web template to this Web item under the Web Template (TEMPLATE_ID) parameter. Save the Web template and open it again. Now you see all the elements that exist in the first Web template. Here you can overwrite individual Web items or data providers. For more information, see Web Template [Page 94].

4.1.1.3

Creating Web Applications with the BEx Web Application Designer

Use
Using the BEx Web Application Designer, you can create a BEx Web application (an HTML page with BI-specific content) easily.

Procedure
...

1. Creating a Web template The Web template is the starting point for creating a Web application. The Web template [Page 28] is an XHTML document that is used to define the structure of a Web application. It contains placeholders for Web items, data providers, and

Enterprise Reporting, Query, and Analysis

47

Core Development Tasks Developing User Interfaces

March 2006

commands. A Web template becomes a Web application when the data is displayed in the Web browser. During the design process, you change the Web template by embedding placeholders for Web items and data providers. You can keep track of these changes in the XHTML view. To create a new Web template [Page 28], choose Web Template New in the Web Application Designer menu bar. You can also create Web templates from the Select Web Template window. Choose Create New Web Template. 2. Setting the data binding/selection of the data provider The data for your Web items is provided by data providers that you create in the Web Application Designer. You can assign a data provider to multiple Web items. The data provider concept makes it possible to change the data source of a Web item easily. If a particular data provider is assigned to more than one Web item, any changes made affect all the assigned Web items. By means of navigation (by changing the drilldown), the Web item always displays the current drilldown data.

A data provider is a dynamic object that returns current data for one or more Web items at runtime. You define the start view of the data provider by selecting a query or a query view. For more information about data providers, see Data Providers in BI Applications [External]. There are several ways to create data providers: a. In the Data Provider section in the Web Items screen area i. Select whether you want to create a data provider of type Filter or type Query View, and drag the corresponding line into the lower data provider section of the Web template screen area. The Maintain Data Provider dialog box appears. Assign a name to the data provider and make the remaining settings required.

ii.

In the dropdown box beneath the name field, you can also select or change the data provider type. b. Using the New Data Provider symbol in the lower data provider section of the Web Template screen area i. ii. Double-click to choose New Data Provider. The Maintain Data Provider dialog box appears. Proceed as described under a. ii.

c. Using the General tab page in the Properties screen area You can only use this option if you have already inserted a Web item into your Web template. i. ii. In the header of the properties screen area, select the Web item for which you want to create a data provider. On the General tab page, choose New Data Provider. The Maintain Data Provider dialog box appears. Proceed as described under a. ii. The data provider is assigned to the selected Web item. You can also create more than one data provider, as described under c. The data

Enterprise Reporting, Query, and Analysis

48

Core Development Tasks Developing User Interfaces

March 2006

providers are listed in the dropdown box under Assigning Data Providers. This enables you to assign a different data provider to the selected Web item. The Maintain Data Provider dialog box appears under data provider: <Name of assigned data provider>. You can modify or change the settings for the data provider here. When you have created a data provider, it is assigned to the inserted Web item. Assigning depends on the order of the data providers in the inner structure of the Web template. See also 4.a. 3. Adding a Web item The Web items [Page 54] in the Web Items screen area serve as templates. By dragging a Web item into your Web template, you create an actual version of the Web item; this is called an object. The Web item has a name and certain other default parameters that you can change as required (see also 4.). You see the changes in the XHTML view. A Web item tag for the Web item and a data provider tag for the data provider (assuming you have created a data provider) were integrated into the XHTML as placeholders. Change the name of the Web item and assign a data provider to it. In the XHTML view, you can see that your settings have been written to the Web item tag. The layout you choose is also applied in the XHTML. a. Drag a Web item [Page 54] from one of the Web item groupings Standard, Extended, or Miscellaneous in the Web Items screen area to the Web template by using dragand drop. The Web item appears in the Web template.

Underneath the selection area for Web items and data provider maintenance, you see the help area, which provides explanations for the Web items and data providers. To display the texts for a Web item, select the Web item by doubleclicking with the secondary mouse button. To hide the texts, proceed in the same way. When you hide the display of texts and select a Web item by singleclicking it, a quick info is displayed for the Web item. b. If you want to rename the inserted Web item, proceed as follows: In the Properties screen area, choose Rename Web Item to the right of the dropdown box in which the inserted Web items are listed. Name the Web item by overwriting the default text under Name in the Properties screen area next to the dropdown box in which the inserted Web items are listed. 4. Specifying the properties of the Web item a. In the Properties screen area, choose the General tab page to make or change the assignment of a data provider for the corresponding Web item. See also 2. b. Choose the Web Item Parameters tab page to set the parameters for the selected Web item.

You can also set the parameters for the Chart Web item using the Edit Chart dialog box. Choose Edit in the context menu of the Chart Web item or Edit Chart in the Internal Display parameter grouping of the Chart Web item. For more information, see Editing Charts [Page 175]. 5. Adding additional Web items To insert additional Web items, repeat steps 3 and 4.

Enterprise Reporting, Query, and Analysis

49

Core Development Tasks Developing User Interfaces

March 2006

When you insert additional Web items using Insert Web Item, pay attention to where you position the cursor in your Web template. The cursor position determines where the new Web item is inserted. See also Designing the Layout of Web Templates [Page 30]. When you insert Web items using dragand drop, the position of the cursor is irrelevant. Make sure that you set the data binding and any Web itemspecific parameter settings for the correct Web item. To make settings for a Web item, select the Web item in the layout view. In the header of the Properties window, the system displays the Web item for which you can change the settings. As an alternative to selecting the individual Web items, you can use the dropdown box to toggle between the attributes of individual Web items.

6. Designing a Web template layout In the Web Application Designer, you create your Web template in the same way you do in various XHTML editors. See also Designing the Layout of Web Templates [Page 30]. 7. Changing the Web template properties a. To change the default properties of the Web template, select the Web template from the dropdown box in the Properties screen area. b. Choose the Web Template Parameters tab page, where you can change the parameter settings for the Web template. For more information, see Web Template Properties [Page 30]. 8. Saving and executing the Web template You execute the Web template in the Web browser (portal). The Web template becomes a Web application, which means the template is saved on the Application Server for ABAP and a URL is generated for this Web application. At runtime (triggered by calling the URL), the BI tags are replaced by corresponding HTML with the information determined by the Web item and data provider settings. When this is done, the Web template on the Application Server for ABAP is accessed. Therefore, you must save your Web template before you execute it. a. To save your Web template, in the menu bar of the Web Application Designer, choose Web Template Save. b. Choose Web Template Execute to view your Web application in the browser (portal). You must save the Web template before executing it in the Web browser. Therefore, when you execute the template, you are asked to save it if you have not already done so.

To assign a Web template to a role, choose Web Template Publish In Role. See also Role Maintenance [External]. To copy the URL of a Web template to the clipboard, choose Web Template Publish Copy URL to Clipboard. The Web template, however, must already be saved.

Enterprise Reporting, Query, and Analysis

50

Core Development Tasks Developing User Interfaces

March 2006

To broadcast a Web template, choose Web Template Publish BEx Broadcaster. For more information, see Precalculating and Broadcasting Queries, Query Views, Web Templates and Reports [External].

Result
Your Web application is started and displayed in the portal, which in turn runs in a Web browser.

If you want to print your Web application, choose Print in the context menu for the executed Web application. See also: Further Editing Web Templates [Page 34]

4.1.1.3.1

Working with Reusable Web Items

Use
When you integrate a Web item into your Web template from the Web item groupings in the Web Items screen area and you define your settings, you might want to use this Web item again in this form in other Web templates, without having to define the settings over again. The BEx Web Application Designer enables you to use your own version of a Web item as the Web template for other items. You store this Web item as a template. You can then access your Web items from the Reusable Web Items screen area.

You can hide and show the Reusable Web Items screen area by choosing View Reusable Web Items from the menu bar in the Web Application Designers. By default, this screen area is displayed as a tab page in the Web Items screen area. You can, however, change its position in the Web Application Designer.

Prerequisites

You have integrated a Web item into your Web template and made the required settings for the relevant parameters under the tab page Web Item Parameters in the Properties screen area. You have the necessary authorizations to save Web items in roles.

Saving Web Items as Reusable Objects

You save a Web item with its set parameters as a reusable Web item. These Web items revert to a template character, which you can alter. In accordance with this character of the Web item, data binding is not stored. Web templatedependent settings are also not saved (for example, if you use the Button Group Web item and include commands for it).
...

Enterprise Reporting, Query, and Analysis

51

Core Development Tasks Developing User Interfaces

March 2006

1. Choose Save as Reusable Web Item in the Web item context menu in the layout view. The dialog box Create New Reusable Web Item appears. 2. Choose whether you want to save the Web item in your favorites or roles. If you want to save the Web item in your favorites, you can create folders for the favorites into which you can save the Web item by choosing Create New Folder. 3. Enter a description (suitable text) and a technical name (unique name) for the Web item. 4. Choose Save.

Opening and Inserting Reusable Web Items


...

1. In the menu bar for the Web Application Designer, choose View Reusable Web Items if you have not opened the Reusable Web Items window. 2. Choose <context menu> Open Reusable Web Item in the Reusable Web Items screen area. This brings you to the Open Reusable Web Item dialog box. 3. Select the Web item you want to open in the history view, favorites view, or role view and choose Open. The Web item appears in the Reusable Web Items screen area. 4. Move the Web item using Drag&Drop into your Web template.

Additional Context Menu Functions


The following additional functions are available from the context menu of a reusable Web item:

Open Reusable Web Item If you choose Open Reusable Web Item, you can show the additional reusable Web items in the screen area.

Close Reusable Web Item If you choose Close Reusable Web Item, the selected Web Item is hidden in the Reusable Web Items screen area.

Change Web Item If you choose Change Web Item, the Maintain Reusable Web Item <Name of Web Item> dialog box appears. Here you can change the parameter settings for the selected Web item. See also: Change Reusable Web Items section.

Delete Web Item If you choose Delete Web Item, the selected Web item is deleted as a reusable Web item and cannot be recovered. You are only able to delete reusable Web items if these Web items are not already being used in Web templates.

Changing Reusable Web Items


Any changes that you make to settings of the reusable Web item (as described above) have a global effect. This means that the changes are effective in all saved Web templates, in which you use the Web item concerned. This does not apply to Web templates in which you changed the parameters of a reusable Web item locally. In this case, the settings that you make locally are effective. If you want to change the settings in a reusable Web item locally, (that is, in a specific Web template in which you are using this Web item), proceed as follows:
...

Enterprise Reporting, Query, and Analysis

52

Core Development Tasks Developing User Interfaces 1. Open the Web template. 2. Select the reusable Web item in the Web template.

March 2006

3. Change the parameters of this Web item on the Web Item Parameters tab page in the Properties screen area. 4. Save the Web template. The changes that you have made to the reusable Web item apply only in this Web template. The parameter settings of the reusable Web item are not affected by the changes. Special Features for the Web Item Chart If you try to overwrite the parameters of a Chart Web item that you have saved as a reusable Web item locally, the Create Local Chart Settings? dialog box appears. Here you are told that you are about to overwrite the settings for a reusable Web item locally.

If you choose Yes, the Edit Graphic dialog box appears. To change the parameters for the chart locally, reset the chart parameters and close the Edit Graphic dialog box by choosing OK. If you close the Edit Graphic dialog box by choosing Cancel, no local chart parameter settings are created. The reusable Web items settings are still effective.

If you choose No or Cancel, no changes to the saved chart parameter settings are made.

4.1.1.4

Web Design API

Purpose
The Business Explorer Web Application Design allows you to apply generic OLAP navigation to BI data in Web applications and Business Intelligence cockpits. You can implement this for all scenarios, from simple scenarios to highly specialized scenarios. You can use standard markup languages and Web Design APIs to implement highly individual scenarios with userdefined interface elements. Web application design comprises a broad spectrum of interactive Web-based business intelligence scenarios that you can adjust to meet your requirements using standard Web technologies. This document is intended for Web designers who want to create highly-specialized applications on the basis of Web application design.

Integration
You can access BI data in Web applications using a Web browser. This is usually installed with the operating system . No additional software installation is required.

Features
The Web Design API provides the following functions:

Creating commands for data providers, planning applications, Web items and Web templates. Parameterization of Web items

Enterprise Reporting, Query, and Analysis

53

Core Development Tasks Developing User Interfaces

March 2006

The main tool for generating the commands is the command wizard [Page 222] of the BEx Web Application Designer The command wizard enables you to easily create commands using a step-by-step procedure.

4.1.1.4.1

Web Items

Definition
Web items are objects that either display data in a Web application or are used to design Web applications. These objects are replaced by generated HTML at runtime. Web items that display data must be connected to a data provider. All Web items have parameters such as header, width, and height, which can be used to define the appearance of the Web items, as well as their behavior in the Web application. You can change the parameters as follows:

At design time, in the Web Application Designer using the parameter settings At runtime, in Web applications using the property dialogs for the Web item, or using commands from the Web Design API

If the data, the navigational state, or the parameters change, the HTML for the Web item is regenerated.

Structure
The following section lists the Web items available in the BEx Web Application Designer, separated into different groups: Web Item Grouping: Standard

Analysis [Page 56] Chart [Page 61] Report [Page 66] Navigation Pane [Page 68] Filter Pane [Page 70] Button Group [Page 72] Dropdown Box [Page 75] Radio Button Group [Page 83] Checkbox Group [Page 85] Listbox [Page 88] Hierarchical Filter Selection [Page 90]

Web Item Grouping: Advanced


Web Template [Page 94] Container Layout [Page 94]

Enterprise Reporting, Query, and Analysis

54

Core Development Tasks Developing User Interfaces


March 2006

Container [Page 97] Tab Pages [Page 98] Group [Page 101] Single Document [Page 103] Document List [Page 106] Map [Page 109] System Messages [Page 145] Information Field [Page 146]

Web Item Grouping: Miscellaneous


Data Provider - Information [Page 150] Text [Page 151] Link [Page 154] List of Exceptions [Page 155] List of Conditions [Page 157] Menu Bar [Page 159] Properties Pane [Page 165] Ticker [Page 164] Context Menu [Page 170] Script [Page 173]

Integration
The Web items above are available as master Web items [External] in the Web Items window in the BEx Web Application Designer. You choose a master Web item from the list, assign a data provider to the Web item, if necessary, and set the parameters. You have now created your own Web item, which you can add to your Web template or save for later use.

4.1.1.4.1.1

Web Item Grouping: Standard

Use
The Web item grouping is used to structure the pool of Web items in the Web Application Designer.

Structure
The following Web items are part of the Standard grouping:

Analysis Chart Report

Enterprise Reporting, Query, and Analysis

55

Core Development Tasks Developing User Interfaces


March 2006

Navigation area Filter area Button group Dropdown box Radio button groups Checkbox group List box Hierarchical filter selection

4.1.1.4.1.1.1

Analysis

Definition
Web item that allows you to display data in a table with analytical functions.

Use
The Analysis Web item displays the values of a data provider in the Web application in a table. The same list geometries that are used in the BEx Analyzer are supported. Characteristics and structures can be displayed in both rows and columns.

Structure
The following tables list the parameters for the Analysis Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Full Width (FULL_WIDTH) Description You use this parameter to specify the width of the Web item. You use this parameter to specify that the value in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to specify the height of the Web item. You use this parameter to specify that the value in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView).

Height in Pixels (HEIGHT) Full Height (FULL_HEIGHT)

Enterprise Reporting, Query, and Analysis

56

Core Development Tasks Developing User Interfaces

March 2006

Visibility (VISIBILITY)

You use this parameter to specify whether the Web item is to be visible in the Web application. You use this parameter to specify whether the Analysis Web item is to have a symbol that allows the Web item to be expanded and collapsed. For more information about this parameter, see Parameter Tray [Page 174].

With Tray (WITH_TRAY)

Internal Display Parameter Alternate Table Row Styles (ALTERNATE_STYLES) Description You use this parameter to specify whether the styles for the odd and even table rows are to alternate and be displayed in a striped list.

Totals cells are not included in this display. Display Repeated Texts (REPEATED_TEXTS_DISPLAYED) You use this parameter to specify whether repeated texts or keys are to be displayed more then once or whether the repetitions are to be suppressed and the cells merged. You can use this parameter to specify whether the scaling factors are to be displayed, if possible. You use this parameter to specify whether the row header area is to be displayed. The row header area displays the labels to the left of the data. You use this parameter to specify whether the column header area is to be displayed. The column headers display the labels above the data. You use this parameter to specify whether the data cells are to be displayed. You use this parameter to insert any required number of empty rows into the table. The parameter is set to 0 by default.

Scaling Factors Visible (SCALING_FACTORS_VISIBLE) Row Header Visible (ROW_HEADER_VISIBLE)

Column Header Visible (COLUMN_HEADER_VISIBLE)

Data Cells Visible (DATA_CELLS_VISIBLE) Number of New Lines (NEW_LINES_COUNT)

Depending on the query settings, this parameter is used to insert columns instead of rows.

Enterprise Reporting, Query, and Analysis

57

Core Development Tasks Developing User Interfaces

March 2006

Position of New Lines (NEW_LINES_POSITION)

You use this parameter to specify the position at which the additional empty rows are to be inserted. You can select from:

Top Bottom

If the Number of New Lines parameter (NEW_LINES_COUNT) inserts columns instead of rows as a result of the existing query settings, Left and Right are the values to select from instead of the above values. Data Column From (DATA_COLUMN_FROM) You use this parameter to specify the data column from which the data is to be displayed. The parameter is set to 1 by default. You use this parameter to specify the data column up to which the data is to be displayed. The parameter is set to 0 by default. If the value is 0, the system tries to display all columns. If there are too many, a scrolling area is inserted. If the value is not 0, data is displayed up to the specified column only. No scrolling area is provided. Data Row From (DATA_ROW_FROM) You use this parameter to specify the data row from which the data is to be displayed. The parameter is set to 1 by default. You use this parameter to specify the data row up to which the data is to be displayed. The parameter is set to 0 by default. If the value is 0, the system tries to display all rows. If there are too many, a scrolling area is inserted. If the value is not 0, data is displayed up to the specified row only. No scrolling area is provided. Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description You use this parameter to specify whether navigation and other interaction is to be possible in the Web application.

Data Column To (DATA_COLUMN_TO)

Data Row To (DATA_ROW_TO)

Enterprise Reporting, Query, and Analysis

58

Core Development Tasks Developing User Interfaces

March 2006

Only Hierarchy Navigation (ONLY_HIERARCHY_NAVIGATION)

You use this parameter to specify whether the context menu is to be hidden and expand and collapse options only are to be provided for the list.

Data Binding Parameter Data Provider (DATA_PROVIDER_REF) Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: Names can be a maximum of 30 characters and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions simplifies the upgrade to subsequent SAP releases. Paging Parameter Number of Data Columns Displayed at Once (BLOCK_COLUMNS_SIZE) Description You use this parameter to specify the number of data columns to be displayed simultaneously. When this number is exceeded, a scrolling area is inserted.

If the value is set to 0, the complete table is displayed, regardless of the number of data columns. The parameter is set to 25 by default.

Enterprise Reporting, Query, and Analysis

59

Core Development Tasks Developing User Interfaces

March 2006

Columns Scrolled for Each Step (BLOCK_COLUMNS_STEP_SIZE)

You use this parameter to specify the scrolling logic you want: You can specify the number of data columns to be scrolled for each step. The default setting 0 corresponds to 2/3 of the display columns. The value entered corresponds to the number of columns scrolled through.

If you enter the value 2, two columns will be scrolled through. If you want to scroll through all displayed data columns, enter the same value that you entered for the Number of Data Columns Displayed at Once parameter (BLOCK_COLUMNS_SIZE). Number of Data Rows Displayed at Once (BLOCK_ROWS_SIZE) You use this parameter to specify the number of data rows to be displayed simultaneously. When this number is exceeded, a scrolling area is inserted.

If the value is set to 0, the complete table is displayed, regardless of the number of data rows. The parameter is set to 100 by default. Rows Scrolled for Each Step (BLOCK_ROWS_STEP_SIZE) You use this parameter to specify the scrolling logic you want: You can specify the number of data rows scrolled for each step. The default setting 0 corresponds to 2/3 of the display rows. The value entered corresponds to the number of rows scrolled through.

If you enter the value 2, two rows will be scrolled through. If you want to scroll through all displayed data rows, enter the same value that you entered for the Number of Data Rows Displayed at Once (BLOCK_ROWS_SIZE) parameter. Paging Area on Bottom of Table Visible (PAGING_AREA_BOTTOM_VISIBLE) Paging Area on Top of Table Visible (PAGING_AREA_TOP_VISIBLE) You use this parameter to specify whether the area for scrolling is to be displayed at the bottom of the table. You use this parameter to specify whether the area for scrolling is displayed at the top of the table.

Enterprise Reporting, Query, and Analysis

60

Core Development Tasks Developing User Interfaces Cell Content Parameter Exception Visualization (EXCEPTION_RENDERING) Document Icons for Metadata (DOCUMENTS_ICONS_METADATA) Document Icons for Master Data (DOCUMENTS_ICONS_MASTERDATA) Document Icons for Data (DOCUMENTS_ICONS_DATA) Description

March 2006

You use this parameter to specify the display type for exceptions. For example, exceptions can be highlighted using colors or symbols. You use this parameter to specify whether links to metadata documents are to be displayed. You use this parameter to specify whether links to master data documents are to be displayed. You use this parameter to specify whether links to InfoProvider data documents are to be displayed.

For more information about using the Analysis Web item and its functions, see Context Menu Functions [External] and Analysis Grid [External].

4.1.1.4.1.1.2

Chart

Definition
Web item that allows data to be displayed graphically in various charts, such as column, profile and line charts.

Use
Using the Chart Web item, you can display data graphically in your Web application.

Structure
The following tables list the parameters for the Chart Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Height in Pixels (HEIGHT) Visibility (VISIBILITY) Description You use this parameter to specify the width of the Web item. You use this parameter to specify the height of the Web item. You use this parameter to specify whether the Web item is to be visible in the Web application. You use this parameter to specify whether the Chart Web item is to have a symbol that allows the Web item to be expanded and collapsed. For more information about this parameter, see Parameter Tray [Page 174].

With Tray (WITH_TRAY)

Internal Display

Enterprise Reporting, Query, and Analysis

61

Core Development Tasks Developing User Interfaces

March 2006

Parameter Edit Chart (CHART_CUSTOMIZING)

Description You use the button for this parameter to navigate to the Chart Designer. In the Chart Designer, you can make various settings for the chart. See Editing Charts [Page 175]. You use this parameter to select the required chart type. The default value is Column Chart. You use this parameter to make the following settings for the legend:

Chart Type (CHART_TYPE) Legend Type (LEGEND_TYPE)

Legend (default setting) The legend is displayed. The option Chart Legend Position is also displayed. You can choose from the following options: North (N) East (E) South (S) (default value) West (W)

None The legend is hidden.

Data Table Specifies that the system is to display the data in a table below the chart.

Only Legend (LEGEND_ONLY) Result Visible (RESULTS_VISIBLE)

You use this parameter to specify that the legend is to be displayed without the chart. You use this parameter to specify whether the results are to be displayed in the chart or hidden. This parameter is deactivated by default and the totals rows/columns for the underlying data provider are not displayed in the chart. This means that you can suppress totals that may affect the chart display adversely without having to change the data provider.

Swap Display Axes (AXES_SWAPPED)

You use this parameter to swap the chart axes in the display without changing the navigational state of the query view.

You achieve the same effect if you swap two free characteristics with one another in the underlying query view.

Enterprise Reporting, Query, and Analysis

62

Core Development Tasks Developing User Interfaces

March 2006

Show Expanded Hierarchy Nodes (OPEN_HIERARCHY_NODES_VISIBLE)

You use this parameter to specify whether expanded hierarchy nodes are to be displayed or hidden in the chart. If you deactivate this parameter, it is possible to remove the expanded nodes from the chart generation when the display hierarchy is active. This ensures that the total of the values displayed is the overall result.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions are to be displayed in the chart or are hidden. This parameter is deactivated by default and no exceptions are displayed in the chart, even though the data provider on which it is based has exceptions. See Displaying Exceptions in Maps and Charts [External].

Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description You use this parameter to specify whether navigation and other interaction is to be possible in the Web application.

Data Binding Parameter Data Provider (DATA_PROVIDER_REF) Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: Names can be a maximum of 30 characters and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions simplifies the upgrade to subsequent SAP releases. Affected Data Providers (LINKED_DATA_PROVIDER_REF_LIST) Chart Texts Parameter Title (TITLE) Description You use this parameter to specify the language-dependent text for the title of the chart. You use this parameter to specify the list of data providers to which all chart commands are sent.

Enterprise Reporting, Query, and Analysis

63

Core Development Tasks Developing User Interfaces

March 2006

Diagram Subtitle (Language-Dependent) (SUBTITLE) Legend Title (Language-Dependent) (TITLE_LEGEND) Manual Axis Description (OVERRIDE_AXIS_DESC)

You use this parameter to specify the language-dependent text for the subtitle of the chart. You use this parameter to specify the language-dependent text for the title of the legend. You use this parameter to specify whether or not you want to override automatic axis labeling. If you do not select this parameter, the system creates labeling for the chart axes of simple charts such as column, bar, line, and profile charts. For example, the name of a key figure appears on the Y axis in a bar chart. For more information, see Automatic Axis Labeling for Simple Charts [Page 66]. If you select this parameter, you can choose between the following options for overriding the automatic labeling of the axes:

Category Axis (X): Title (LanguageDependent) (TITLE_CATEGORY_AXIS) You use this parameter to specify the language-dependent text for the title of the category axis (X).

Value Axis (Y): Title (LanguageDependent) (TITLE_VALUE_AXIS) You use this parameter to specify the language-dependent text for the title of the value axis (Y).

Secondary Category Axis (X): Title (Language-Dependent) (TITLE_SEC_CATEGORY_AXIS) You use this parameter to specify the language-dependent text for the title of the secondary category axis (X). This parameter is only needed for specific chart types such as histograms or scatter charts.

Secondary Value Axis (Y): Title (Language-Dependent) (TITLE_SEC_VALUE_AXIS) You use this parameter to specify the language-dependent text for the title of the secondary value axis (Y).

Enterprise Reporting, Query, and Analysis

64

Core Development Tasks Developing User Interfaces

March 2006

Manual Axis Label (OVERRIDE_AXIS_LABEL)

You use this parameter to specify whether or not you want to override the automatic display for units and currencies. If the units and currencies in the query and other settings are the same and you do not select this parameter, these units, currencies, and settings are displayed automatically in the chart. If you select this parameter, you can choose between the following options for overriding the automatic display:

Category Axis (X): Unit (LanguageDependent) (UNIT_CATEGORY_AXIS) You use this parameter to specify the language-dependent text for the unit of the category axis (X).

Value Axis (Y): Unit (LanguageDependent) (UNIT_VALUE_AXIS) You use this parameter to specify the language-dependent text for the unit of the value axis (Y).

Secondary Category Axis (X): Unit (Language-Dependent) (UNIT_SEC_CATEGORY_AXIS) You use this parameter to specify the language-dependent text for the unit of the secondary category axis (X). This parameter is only needed for specific chart types such as histograms or scatter charts.

Secondary Value Axis (Y): Unit (Language-Dependent) (UNIT_SEC_VALUE_AXIS) You use this parameter to specify the language-dependent text for the unit of the secondary value axis (Y).

The texts, such as chart titles and chart subtitles, as well as the titles and units of the axes, are all language-dependent. You can enter the texts in the Chart Designer or in the Web Application Designer using the text input dialog [Page 40] for the relevant parameters. For more information about using the Chart Web item and its functions, see Context Menu Functions [External].

Enterprise Reporting, Query, and Analysis

65

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.1.2.1

Automatic Axis Labeling for Simple Charts

Use
You can choose to label the chart axes automatically for very simple charts by activating the attribute Automatic Axis Label for Simple Charts (AUTOMATIC_DESCRIPTION) in the Web Application Designer.

Prerequisites

Under Edit Chart, you have selected one of the following chart types: Column chart Bar chart Line chart Profile chart The data provider on which the chart is based contains only one key figure used in a structure. There are no additional structures.

Features
The attribute Automatic Axis Labeling for Simple Charts has the following effect:

The name of the (only) key figure is displayed on the Y axis of the chart. The name of the key figure, which is generally displayed on the X axis, in order to enable interaction in the chart, is hidden. This means that the normal interaction options are not available in this case. The names of the characteristics (or the name of the characteristic if only one is used) are displayed on the X axis.

If the key figures are mixed with characteristics on an axis, the labels are not displayed automatically on the X axis.

The descriptions above are valid for the chart types Bar Chart and Profile Chart with swapped X and Y axes.

4.1.1.4.1.1.3

Report

Definition
Web item that allows you to insert reports into a Web application.

Use
Using the Report Web item, you can insert formatted reports into a Web application.

Enterprise Reporting, Query, and Analysis

66

Core Development Tasks Developing User Interfaces

March 2006

Structure
The following tables list the parameters for the Report Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Description You use this parameter to specify the width of the Web item.

Height in Pixels (HEIGHT)

You use this parameter to specify the height of the Web item. You use this parameter to specify whether the Web item is to have a symbol that allows the Web item to be expanded and collapsed. For more information about this parameter, see Parameter Tray [Page 174].

With Tray (WITH_TRAY)

Internal Display Parameter Report Design (REPORT) Description You use this parameter to specify the design of the report. To do this, you select a report. You have the following options:

You can enter the name of an existing report beside Report Design. You can call the Report Designer by choosing the pushbutton beside Report Design. In the Report Designer, you can create and save a new report or open an existing report. When you have completed your selection, you close the Report Designer. The name of the report you selected is copied automatically to the field beside Report Design. When you have selected a report, the data provider on which the report is based, is listed automatically in the List of Data Providers parameter (REPORT_DATA_BINDING_LIST) (see below) and at the bottom of the Web Template screen area in the layout view of the Web Application Designer.

Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description You use this parameter to specify whether navigation or other interaction is to be possible in the Web application.

Enterprise Reporting, Query, and Analysis

67

Core Development Tasks Developing User Interfaces Data Connection Parameter List of Data Providers (REPORT_DATA_BINDING_LIST) Description

March 2006

You use this parameter to create a list of data providers for the Web item by setting the parameter DATA_PROVIDER_REF for each entry in the list.

Integration
You can call the Report Designer from the context menu of the Web item in the Web template to create new reports or change the design of existing reports. To do this, choose Edit.

4.1.1.4.1.1.4

Navigation Pane

Definition
Web item that allows the navigation status of a data provider to be displayed.

Use
The Navigation Pane Web item shows the navigation status of a data provider. All the characteristics and structures of the data provider are listed. You can alter the navigation status by using Drag&Drop to drag characteristics or structures to an axis (rows or columns) of the table, or to remove them from the axis. You can swap axes in the navigation pane using Drag&Drop, the table changes accordingly. You can also drag characteristics into the filter pane using Drag&Drop.

Structure
The following is a parameter list for the Navigation Pane Web item, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Full width (FULL_WIDTH) Description You use this parameter to determine the width of the Web item. You use this parameter to determine that the specification in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to determine the height of the Web item.

Height in pixels (HEIGHT)

Enterprise Reporting, Query, and Analysis

68

Core Development Tasks Developing User Interfaces

March 2006

Full height (FULL_HEIGHT)

You use this parameter to determine that the specification in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView). You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Navigation Pane Web item has a symbol that allows the Web item to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Visibility (VISIBILITY) With tray (WITH_TRAY)

Internal Display Parameter Navigation pane content (NAVIGATION_BLOCK_CONTENT) Description You use this parameter to determine the characteristics that are displayed in the navigation pane. You have the following selection options:

All: All characteristics are displayed. Columns: Only the characteristics in the columns are displayed. Rows: Only the characteristics in the rows are displayed. Free characteristics: Only the free characteristics are displayed.

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Data Binding Parameter Description Description You use this parameter to determine whether navigation and other interactions are possible in the Web application.

Enterprise Reporting, Query, and Analysis

69

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You assign a data provider to the Web item with this parameter. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _ but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

4.1.1.4.1.1.5

Filter Pane

Definition
Web item that allows you to display and select characteristic values for filtering.

Use
Using the Filter Pane Web item, you can set filters for individual characteristics. The characteristic values are provided for each characteristic in dropdown boxes. In addition, you can drag characteristics from the navigation pane or the table to the filter pane using drag and drop.

Structure
The following tables list the parameters for the Filter Pane Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Full Width (FULL_WIDTH) Description You use this parameter to specify the width of the Web item. You use this parameter to specify that the value in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to specify the height of the Web item.

Height in Pixels (HEIGHT)

Enterprise Reporting, Query, and Analysis

70

Core Development Tasks Developing User Interfaces

March 2006

Full Height (FULL_HEIGHT)

You use this parameter to specify that the value in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView). You use this parameter to specify whether the Web item is to be visible in the Web application. You use this parameter to specify whether the Filter Pane Web item is to have a symbol that allows the Web item to be expanded and collapsed. For more information about this parameter, see Parameter Tray [Page 174].

Visibility (VISIBILITY)

With Tray (WITH_TRAY)

Internal Display Parameter Number of Columns (COLUMNS) Has Button Row (HAS_BUTTON_ROW) Max. No. of Summary Characters (MAX_SUMMARY_CHARACTERS) Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description You use this parameter to specify whether navigation and other interaction is to be possible in the Web application. You use this parameter to specify whether the system is to make changes to the data provider automatically. Description You use this parameter to specify the number of entries displayed adjacent to one other. You use this parameter to specify whether the filter pane is to have a pushbutton row. You use this parameter to specify the maximum number of characteristics for the filter summary field.

Automatic Apply (AUTOMATIC_APPLY)

Data Binding Parameter Description

Enterprise Reporting, Query, and Analysis

71

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: Names can be a maximum of 30 characters and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions simplifies the upgrade to subsequent SAP releases.

Characteristic Set (CHARACTERISTIC_SET)

You use this parameter to specify the initial set of characteristics to be displayed.

4.1.1.4.1.1.6

Button Group

Definition
Web item for a group of buttons that can execute one or more commands from the Web Design API, as selected.

Use
Using the Button Group Web item, you can add commands from the Web Design API to your Web application. To do this, you define a command or sequence of commands for each button. You can insert any text (language-dependent and language-independent) for the button labels, assign a quick link to them, and specify their design.

Structure
The following tables list the parameters for the Button Group Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Height in Pixels (HEIGHT) Visibility (VISIBILITY) Description You use this parameter to specify the width of the Web item. You use this parameter to specify the height of the Web item. You use this parameter to specify whether the Web item is to be visible in the Web application.

Enterprise Reporting, Query, and Analysis

72

Core Development Tasks Developing User Interfaces

March 2006

With Tray (WITH_TRAY)

You use this parameter to specify whether the Web item is to have a symbol that allows it to be expanded and collapsed in the Web application. For more information about this parameter, see Parameter Tray [Page 174].

Internal Display Parameter Button Width (BUTTON_WIDTH) Default value: 0 Description You use this parameter to specify the width of each button. The default value adjusts the button width to the length of the text.

Enterprise Reporting, Query, and Analysis

73

Core Development Tasks Developing User Interfaces

March 2006

List of Buttons (BUTTON_LIST)

You use this parameter to create the list of buttons for the Web application. You specify the following parameters for each button:

Caption (CAPTION) You use the text input dialog to enter the text to appear on the button. You can select whether the texts are to be language-dependent or languageindependent. See Text Input Dialog [Page 40].

Quick Info (TOOLTIP) You enter a quick-info text here. The text for the quick info can be created according to various criteria, in the same way as the caption. See the Caption parameter.

Action (Command Triggered) (ACTION) You use this parameter to link the button to an action. You first specify the type of action. You can insert the following actions: Command via Command Wizard (INSTRUCTION) Using the pushbutton to the right of Command (INSTRUCTION), you can call the command wizard [Page 222] to insert an additional command. Script Function (SCRIPT_FUNCTION) In the Script Function field, you specify a script function to be executed. You generate the script function using the script [Page 173] Web item that you previously added and set in the Web template.

Enabled (ENABLED) You specify whether the button is to be enabled in the Web application.

Design (BUTTON_DESIGN) You select the design for the button: Standard (STANDARD) Emphasized (EMPHASIZED) Previous (PREVIOUS) Next (NEXT)

Enterprise Reporting, Query, and Analysis

74

Core Development Tasks Developing User Interfaces Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description

March 2006

You use this parameter to specify whether navigation or other interaction is to be possible in the Web application.

4.1.1.4.1.1.7

Dropdown Box

Definition
Web item that allows you to display and select contents in a dropdown box.

Use
You can specify the content of the dropdown box as follows:

Characteristic values for filtering Using the Dropdown Box Web item, you can easily filter one or more connected data providers by a characteristic value. When you select an entry from the dropdown box, the connected data provider is filtered according to this value. If a different method is used to select a filter value for the characteristic in the dropdown box, the current filter value appears in the dropdown box.

Selection of query views By selecting an entry from the dropdown box, you can switch, in one step, from a data provider and its display (in a table, for example) to another data provider that may be displayed in a different way (in a chart, for example).

Fixed options list When you select an entry from the dropdown box, an associated command from the Web Design API is executed.

Fixed option list with manual update When you select an entry from the dropdown box, an associated command from the Web Design API is executed. It is also possible to trigger a manual update (of data).

Structure
The following tables list the parameters for the Dropdown Box Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Height in Pixels (HEIGHT) Description You use this parameter to specify the width of the Web item. You use this parameter to specify the height of the Web item.

Enterprise Reporting, Query, and Analysis

75

Core Development Tasks Developing User Interfaces

March 2006

Visibility (VISIBILITY)

You use this parameter to specify whether the Web item is to be visible in the Web application. You use this parameter to specify whether the Web item is to have a symbol that allows it to be expanded and collapsed in the Web application. For more information about this parameter, see Parameter Tray [Page 174].

With Tray (WITH_TRAY)

Internal Display Parameter Maximum Length of the Text (TEXT_MAXLENGTH) Maximum Number of Displayed Values (ENTRIES_MAXCOUNT) Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description You use this parameter to specify whether navigation and other interactions, such as in the Web application, are to be possible. Description You use this parameter to specify the maximum text length for the values. You use this parameter to specify the maximum number of values to be displayed in the dropdown box.

Data Binding Parameter Data Binding Type (DATA_BINDING_TYPE) The default value is: CHARACTERISTIC_SELECTION Char/Structure Member: CHARACTERISTIC_SELECTION Query View Selection: QUERY_VIEW_SELECTION Fixed List of Options: STATIC_OPTION_LIST Fixed List of Options: Manual Update: STATIC_OPTION_LIST_MANUAL Additional parameters must be set, depending on the selected data binding type. For more information about each of the data binding types, see: Data Binding Type CHARACTERISTIC_SELECTION [Page 77] Data Binding Type QUERY_VIEW_SELECTION [Page 79] Data Binding Type STATIC_OPTION_LIST [Page 81] Data Binding Type STATIC_OPTION_LIST_MANUAL [Page 82] Description You use this parameter to specify the content of the entries in the dropdown box: In the dropdown box, you can display characteristic values for filtering, a selection of query views and their graphical presentation, a fixed list of options that you have defined, or a fixed list of options with manual update. Additional parameters must be set, depending on the data binding type. See the subsequent tables.

Enterprise Reporting, Query, and Analysis

76

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.1.7.1

Data Binding Type CHARACTERISTIC_SELECTION

If you select Characteristic Value/Structure Element (CHARACTERISTIC_SELECTION) for Data Binding Type in the dropdown box Web item, you must set the following parameters: Parameter Data Provider (DATA_PROVIDER_REF) Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: Names can be a maximum of 30 characters and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions simplifies the upgrade to subsequent SAP releases. Characteristic (CHARACTERISTIC) You use this parameter to select the characteristic according to its technical name. You use this parameter to specify which values from the master data table are to be used as filter values in the dropdown box Web item. (M): All values from the master data table. In some circumstances, values that do not appear in the data provider under the current filter conditions and that produce the result "No Suitable Data Found" when filtered, might also be displayed. However, under certain conditions this process is the fastest. (D): Values that are posted, whereby the current drilldown status is not fully taken into consideration. (Q): Only those values that are also posted in the data provider within the current filter conditions are displayed. This can take a long time in some instances. Read mode for Web items to set filter values: The master data read mode may result in many unposted values being displayed; the posted values read mode may be slow. Label Visible (LABEL_VISIBLE) You use this parameter to specify whether the long text of the characteristic is to be written as a label beside the dropdown box.

Read Mode (DATA_READ_MODE)

Enterprise Reporting, Query, and Analysis

77

Core Development Tasks Developing User Interfaces

March 2006

Display ALL Entry (ALL_VALUES_ENTRY_INCLUDED)

You use this parameter to specify whether the All entry is to be displayed as a selection option in the dropdown box. Using this parameter, you create a list of data providers to which all commands are sent. For each entry in the data provider list, you select a data provider in the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Affected Data Providers (LINKED_DATA_PROVIDER_REF_LIST)

Additional Action (ACTION_WITH_DEFAULT)

You use this parameter to specify the standard behavior of the Web item. In this way, in addition to setting a filter value (characteristic value or structure element), you can execute an additional command by changing an entry in the dropdown box. You first specify the type of additional action. You can include the following additional actions as follows:

Command Via Command Wizard (INSTRUCTION_WITH_DEFAULT) If you choose this option, you can include an additional action using the command wizard. For more information, see the detailed table.

Script Function (SCRIPT_FUNCTION) If you choose this option, you can include an additional script function. For more information, see the detailed table.

Depending on the additional action you choose to include, you need to set additional parameters. For more information, see the following table. Parameters for Command via Command Wizard (INSTRUCTION_WITH_DEFAULT) Parameter Description

Enterprise Reporting, Query, and Analysis

78

Core Development Tasks Developing User Interfaces

March 2006

Execution Time (EXECUTION_TIME)

You use this parameter to specify the time of the execution for the command:

Before (BEFORE) If you choose this option, the additional command is executed before filtering.

After (AFTER) If you choose this option, the additional command is executed after filtering.

Instead (INSTEAD) If you choose this option, the additional command is executed instead of filtering.

Command (INSTRUCTION)

Using the pushbutton to the right of Command (INSTRUCTION), you call the command wizard [Page 222] to include an additional command.

Parameters for Script Function (SCRIPT_FUNCTION) Parameter Script Function (SCRIPT_FUNCTION) Description You can enter an additional script function to be executed. You generate the script function using the script [Page 173] Web item that you previously added and set in the Web template. For more information about the use and functions of the Web item for selecting characteristic values, see Web Items for Setting Filter Values and Hierarchical Filter Selection Web Item [External].

4.1.1.4.1.1.7.2

Data Binding Type QUERY_VIEW_SELECTION

If you select Query View Selection (QUERY_VIEW_SELECTION) for Data Binding Type in the dropdown box Web item, you must set the following parameters: Parameter Data Provider (DATA_PROVIDER_REF) Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider.

Enterprise Reporting, Query, and Analysis

79

Core Development Tasks Developing User Interfaces

March 2006

Specific List of Query Views (SPECIFIC_LIST_OF_QUERY_VIEWS)

You use this parameter to specify whether a specific list of query views or a list of all query views is to be displayed for the assigned query. You have to set the following parameters for each entry in the dropdown box: Initial State (INITIAL_STATE) Query (QUERY) Query View (QUERY_VIEW) InfoProvider (INFOPROVIDER) You specify the initial state by using the open dialog to select a query, a query view, or an InfoProvider and the relevant technical name of the object. Reusable Web Item (REUSABLE_WEB_ITEM) You also specify the Web item with which the data provider is to be displayed. To do this, you must have saved the required Web item as a reusable Web item. If you do not specify a value, the target Web item (TARGET_ITEM_REF) is used for the display (see below). Description of Selection (SELECTION_TEXT) Using the text input dialog, you specify the text that is to appear on the entry in the dropdown box. See Text Input Dialog [Page 40]. Command (INSTRUCTION) Using the command wizard, you specify whether and with which command from the Web Design API the entry in the dropdown box is to be additionally linked. See also Command Wizard [Page 222].

Target Web Item (TARGET_ITEM_REF)

You use this parameter to specify the Web item to be initially used for displaying data, and that you previously inserted in the Web template. You use this parameter to specify whether the dropdown box entries are to appear in alphabetical order. You use this parameter to specify whether filter values are to be retained in the dropdown box when the query view is changed.

Listed Alphabetically (ORDERED_ALPHABETICALLY) Keep Filter Values (FILTERS_RETAINED)

Enterprise Reporting, Query, and Analysis

80

Core Development Tasks Developing User Interfaces

March 2006

Command (INSTRUCTION)

Using the command wizard, you specify whether and with which command from the Web Design API the entry in the dropdown box is to be additionally linked. Note that when you select a query view from the dropdown box, the following command sequence takes effect:
...

1. Switching of the Web item and the data provider. 2. Execution of the Web API command specified in the Command (INSTRUCTION) parameter for selection of the query view. 3. Execution of the Web API command specified in the Command (INSTRUCTION) parameter for an entry from the dropdown box (see parameters for Specific List of Query Views (SPECIFIC_LIST_OF_QUERY_VIEWS)). For more information about the use and function of the Web item for the query view selection, see Query View Selection with a Dropdown Box [External].

4.1.1.4.1.1.7.3

Data Binding Type STATIC_OPTION_LIST

If you select Fixed List of Options (STATIC_OPTION_LIST) for Data Binding Type in the dropdown box Web item, you must set the following parameters: Parameter Description

Enterprise Reporting, Query, and Analysis

81

Core Development Tasks Developing User Interfaces

March 2006

Fixed List of Options (STATIC_OPTION)

You use this parameter to set the entries for the list of fixed options. You need to set the following parameters for each entry in the list: Description of Selection (SELECTION_TEXT) Using the text input dialog, you specify the text that is to appear on the entry in the dropdown box. See Text Input Dialog [Page 40]. Action (Command Triggered) (ACTION)

Command via Command Wizard (INSTRUCTION) Using the command wizard [Page 222], which you can call by choosing the pushbutton for Command, you specify whether and with which command from the Web Design API the entry in the dropdown box is to be linked.

Script Function (SCRIPT_FUNCTION) In the Script Function field, specify a script function to be executed. You generate the script function using the script [Page 173] Web item that you previously added and set in the Web template.

4.1.1.4.1.1.7.4

Data Binding Type STATIC_OPTION_LIST_MANUAL

If you select Fixed List of Options: Manual Update (STATIC_OPTION_LIST_MANUAL) for Data Binding Type in the dropdown box Web item, you must set the following parameters: Parameter Description

Enterprise Reporting, Query, and Analysis

82

Core Development Tasks Developing User Interfaces

March 2006

Fixed List of Options: Manual Update (STATIC_OPTION_LIST_MANUAL)

You use this parameter to set the entries for the list of fixed options with manual update. To do this the following parameters must be set: Description of Selection (SELECTION_TEXT) Using the text input dialog, you specify the text that is to appear on the entry in the dropdown box. See Text Input Dialog [Page 40]. Command (INSTRUCTION) Using the command wizard, you specify whether and with which command from the Web Design API the entry in the dropdown box is to be linked. See also Command Wizard [Page 222].

4.1.1.4.1.1.8

Radio Button Groups

Definition
The Radio Button Group Web item puts characteristic values to be filtered into a group of selection buttons.

Use
Using the Radio Button Group Web item, you can easily filter one or more connected data providers by a characteristic value. When you select a value, the connected data provider is filtered according to this value. If you select a filter value in another way for the characteristic of the radio button group, the current filter value is selected.

Structure
The following is a parameter list for the Web item Radio Button Group, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Height in pixels (HEIGHT) Visibility (VISIBILITY) With tray (WITH_TRAY) Description You use this parameter to determine the width of the Web item. You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Web item has a symbol that enables it to be expanded and collapsed in the Web application. For more information on this parameter, see Parameter Tray [Page 174].

Enterprise Reporting, Query, and Analysis

83

Core Development Tasks Developing User Interfaces Internal Display Parameter Label (LABEL_VISIBLE) Description

March 2006

You use this parameter to determine whether the long text of the characteristic is written as a label in front of the radio button group. You use this parameter to determine the maximum text length for the values. Specify the number of characters for this. You use this parameter to determine the maximum number of values that are to be displayed in the radio button group. You use this parameter to determine whether the All entry is displayed as a selection option in the radio button group. You use this parameter to determine the number of entries displayed adjacent to one other.

Maximum text length (TEXT_MAXLENGTH)

Maximum number of displayed values (ENTRIES_MAXCOUNT) Entry display ALL (ALL_VALUE_ENTRIES_INCLUDED) Number of columns (COLUMNS)

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Data Binding Parameter Data provider (DATA_PROVIDER_REF) Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases. Affected data provider (LINKED_DATA_PROVIDER_REF_LIST) Under this parameter, you create a list of data providers to which all commands are sent. For each entry in the data provider list, you choose a data provider under the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog, you have to create them beforehand. Description You use this parameter to determine whether navigation and other interactions are possible, like in the Web application.

Enterprise Reporting, Query, and Analysis

84

Core Development Tasks Developing User Interfaces

March 2006

Characteristic (CHARACTERISTIC) Read mode (DATA_READ_MODE)

You use this parameter to select the characteristic by technical name. You use this parameter to determine which values from the master data table are to be transferred to the Radio Button Group Web item as filter values. (M): All values from the master data table. In some circumstances, values that do not appear in the data provider under the current filter conditions and that, upon filtering, produce the result No Suitable Data Found are also displayed. However, under certain conditions this process is the fastest. (D): Values that are basically posted, whereby the current drilldown status is not fully taken into consideration.-{}(Q): Only values that are also posted in the data provider under the currently valid filter conditions are displayed. Under certain circumstances it can take a long time. Read mode for Web items to set filter values: The master data read mode may lead to many unposted values being displayed; the posted values read mode may be slow.

For more information on the use and functions of the Web item, see Web Items for Setting Filter Values and Hierarchical Filter Selection [External].

4.1.1.4.1.1.9

Checkbox Group

Definition
Web item that allows free characteristics to be displayed and selected as filter values in a group of checkboxes.

Use
Using the Checkbox Group Web item, you can easily filter one or more connected data providers according to one or more characteristic values. You can set or remove filter values in the Web application by setting one or more indicators.

Structure
The following is a parameter list for the Checkbox Group Web item, arranged according to the various parameter groupings. Display

Enterprise Reporting, Query, and Analysis

85

Core Development Tasks Developing User Interfaces

March 2006

Parameter Width in pixels (WIDTH) Height in pixels (HEIGHT) Visibility (VISIBILITY)

Description You use this parameter to determine the width of the Web item. You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Web item has a symbol that enables the Web item to be expanded and collapsed in the Web application. For more information on this parameter, see Parameter Tray [Page 174].

With tray (WITH_TRAY)

Internal Display Parameter Label (LABEL_VISIBLE) Description You use this parameter to determine whether the long text of the characteristic is written as a label in front of the checkbox group. You use this parameter to determine the maximum text length for the characteristic values. You use this parameter to determine the maximum number of values that are displayed in the checkbox group. You use this parameter to determine the number of entries displayed adjacent to one other.

Maximum text length (TEXT_MAXLENGTH)

Maximum number of displayed values (ENTRIES_MAXCOUNT) Number of columns (COLUMNS)

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Data Binding Parameter Description Description You use this parameter to determine whether navigation and other interaction is possible, like in the Web application.

Enterprise Reporting, Query, and Analysis

86

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _ but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

Affected data provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to create a list of data providers to which all commands are sent. For each entry in the data provider list, choose a data provider under the affected data provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog itself. You have to create them beforehand.

Characteristic (CHARACTERISTIC) Read mode (DATA_READ_MODE)

You use this parameter to select the characteristic by technical name. You use this parameter to determine which values are to be transferred from the master data table to the Checkbox Group as filter values.

(M): All values from the master data table

In some circumstances values that do not appear in the data provider under the current filter conditions and that, upon filtering, produce the result No Suitable Data Found are also displayed. However, under certain conditions this process is the fastest. (D): Values that are basically posted, whereby the current drilldown status is not fully taken into consideration. (Q): Only values that are also posted in the data provider under the currently valid filter conditions are displayed. In certain circumstances this can take a long time. Read mode for Web items to set filter values: The master data read mode may lead to many unposted values being displayed; the posted values read mode may be slow.

Enterprise Reporting, Query, and Analysis

87

Core Development Tasks Developing User Interfaces

March 2006

For more information on the use and functions of the Web item, see Web Items for Setting Filter Values and Web Item Hierarchical Filter Selection [External].

4.1.1.4.1.1.10

List Box

Definition
Web item that provides the characteristic values for filtering in a list box.

Use
With this Web item, you can make multiple selections on characteristic values of one or more data providers.

Structure
The following is a parameter list for the Web item List Box, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Description You use this parameter to determine the width of the Web item. You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application.

Height in pixels (HEIGHT)

Visibility (VISIBILITY)

With tray (WITH_TRAY)

You use this parameter to determine whether the Web item has a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Internal Display Parameter Label visible (LABEL_VISIBLE) Description You use this parameter to determine whether the long text of the characteristic is written as a label in front of the list box. You use this parameter to determine the maximum text length for the values. Specify the number of characters for this.

Maximum text length (TEXT_MAXLENGTH)

Enterprise Reporting, Query, and Analysis

88

Core Development Tasks Developing User Interfaces

March 2006

Maximum number of displayed values (ENTRIES_MAXCOUNT)

You use this parameter to determine the maximum number of values that are to be displayed in the list box.

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Description You use this parameter to determine whether navigation or other interactions are possible in the Web application.

Data Binding Parameter Data provider (DATA_PROVIDER_REF) Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases. Affected data provider (LINKED_DATA_PROVIDER_REF_LIST) Under this parameter, you create a list of data providers to which all commands are sent. For each entry in the data provider list, you choose a data provider under the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog, you have to create them beforehand. Characteristic (CHARACTERISTIC) You use this parameter to select the characteristic by technical name.

Enterprise Reporting, Query, and Analysis

89

Core Development Tasks Developing User Interfaces

March 2006

Read mode (DATA_READ_MODE)

You use this parameter to determine which values from the master data table are to be transferred to the List Box web item as filter values. (M): All values from the master data table. In some circumstances, values that do not appear in the data provider under the current filter conditions and that produce the result No Suitable Data Found upon filtering, are also displayed However, under certain conditions this process is the fastest. (D): Values that are basically posted, whereby the current drilldown status is not fully taken into consideration. (Q): Only values that are also posted in the data provider under the currently valid filter conditions are displayed. Under certain circumstances it can take a long time. Read mode for Web items to set filter values The master data read mode may lead to many unposted values being displayed; the posted values read mode may be slow.

For more information on the use and functions of the Web item, see Web Items for Setting Filter Values and Web Item Hierarchical Filter Selection [External].

4.1.1.4.1.1.11

Hierarchical Filter Selection

Definition
Web item that generates a hierarchical filter selection from the hierarchy of a characteristic or a structure, where the hierarchy nodes are displayed in a tree that can be expanded and collapsed. The hierarchy nodes (including leaves of the hierarchy) can be set as a filter.

Use
Using the hierarchical filter selection, you can filter a data provider by hierarchy nodes.

Structure
The following is a parameter list for the Web item Hierarchical Filter Selection, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Description You use this parameter to determine the width of the Web item.

Enterprise Reporting, Query, and Analysis

90

Core Development Tasks Developing User Interfaces

March 2006

Height in pixels (HEIGHT)

You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application.

Visibility (VISIBILITY)

With tray (WITH_TRAY)

You use this parameter to determine whether the Web item has a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Internal Display Parameter Label visible (LABEL_VISIBLE) Description You use this parameter to determine whether the description of the characteristic is written in front of the hierarchy.

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Description You use this parameter to determine whether navigation or other interactions are possible in the Web application.

Data Binding Parameter Data provider (DATA_PROVIDER_REF) Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

Enterprise Reporting, Query, and Analysis

91

Core Development Tasks Developing User Interfaces

March 2006

Affected data provider (LINKED_DATA_PROVIDER_REF_LIST)

Under this parameter, you create a list of data providers to which all commands are sent. For each entry in the data provider list, choose a data provider under the affected data provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog, you have to create them beforehand.

Characteristic (CHARACTERISTIC)

You use this parameter to select the characteristic by technical name. You use this parameter to choose the technical name of the hierarchy, the nodes of which are used for filtering. If the field is initial, the system uses the hierarchy that is currently set. You use this parameter to choose the key date for which the hierarchy is analyzed. The hierarchy is used as it existed on the given date. If this field is initial, the key date of the query is used. You use this parameter to determine the version of the hierarchy, the nodes of which are used for filtering. If the field is initial, the current version of the presentation hierarchy is used. You use this parameter to determine the initial expansion level of the filter selection. If the field is initial, the initial expansion depth used follows the query definition.

(HIERARCHY_NAME)

Key date (HIERARCHY_DATE)

Version (HIERARCHY_VERSION)

Expand to level (HIERARCHY_EXPAND_TO_LEVEL)

Enterprise Reporting, Query, and Analysis

92

Core Development Tasks Developing User Interfaces

March 2006

Read mode (DATA_READ_MODE)

You use this parameter to determine which values are to be transferred from the master data table to the hierarchical filter selection as filter values: (M): All values from the master data table In some circumstances, values that do not appear in the data provider under the current filter conditions and that, upon filtering, produce the result No Suitable Data Found are also displayed. However, under certain conditions this process is the fastest. (D): Values that are basically posted, whereby the current drilldown status is not fully taken into consideration. (Q): Only values that are also posted in the data provider under the currently valid filter conditions are displayed. Under certain circumstances it can take a long time. Read mode for Web items to set filter values: The master data read mode may lead to many unposted values being displayed; the posted values read mode may be slow.

4.1.1.4.1.2

Web item Grouping: Extended

Use
The Web item grouping is used to structure the pool of Web items in the Web Application Designer.

Structure
The following Web items are part of the Extended grouping:

Web template Container layout Container Tab pages Group Single document List of documents Maps System messages

Enterprise Reporting, Query, and Analysis

93

Core Development Tasks Developing User Interfaces

March 2006

Info field

4.1.1.4.1.2.1

Web Template

Definition
Web Item you use to insert other Web templates into a Web template.

Use
With the Web Template Web item you can easily manage consistent sections in your Web applications centrally in a Web template, and can integrate them into any Web template as required. In this way, you can define a header or footer section with the corporate logo and heading as a Web template and can integrate this Web template into your Web applications as a Web Template Web item. This Web template is then inserted during runtime. In contrast to HTML frame technology, the system does not generate a new page during this process. The context of the main template remains the same.

Structure
The Web Template Web item has the following parameters: Parameter Web template (TEMPLATE_ID) Description In this parameter you enter the technical name of the Web template to be inserted.

After you have set the Web Template (TEMPLATE_ID) parameter, save the Web template. When you reopen this Web template the contents of the inserted Web template are displayed with all Web items and data providers. This allows you to overwrite the Web item and data provider parameters of the inserted Web template directly in the layout view of the Web Application Designer. For more information on using the Web Template Web item and its functions, see Web Template [External].

4.1.1.4.1.2.2

Container Layout

Definition
Web item that allows the systematic arrangement of Web items into rows and columns.

Use
The container layout Web item facilitates visual arrangement of the content in a Web application. You can determine the Web item that is to be displayed for each cell in the layout

Enterprise Reporting, Query, and Analysis

94

Core Development Tasks Developing User Interfaces

March 2006

grid. Only one item can be displayed for each cell. In this way you can systematically arrange Web items over, under or adjacent to one another.

To systematically arrange the content in a Web application, you can also use an HTML table. However, technical viewpoints such as accessibility are automatically applied and implemented with the Container Layout Web item.

Structure
The following is a parameter list for the Web item Container Layout, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Full width (FULL_WIDTH) Description You use this parameter to determine the width of the Web item. You use this parameter to determine that the specification in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to determine the height of the Web item. You use this parameter to determine that the specification in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView). You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Web item has a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Height in pixels (HEIGHT) Full height (FULL_HEIGHT)

Visibility (VISIBILITY)

With tray (WITH_TRAY)

Internal Display Parameter Description

Enterprise Reporting, Query, and Analysis

95

Core Development Tasks Developing User Interfaces

March 2006

Row list (ROW_LIST)

You use this parameter to determine how the Web items are to be arranged in your Web applications. You determine in which cell a specific Web item is to be placed. Make sure that the Web item has been inserted into the Container Layout Web item beforehand (not in the Web template). First find the row into which the Web item is to be placed using the Row List parameter. Then choose the column into which the Web item is to be placed under List. Set the following parameters under Definition for the respective column.

Subordinate Web item (CHILD_ITEM_REF) Here you select the Web item that is to be displayed in the cell and that you have previously inserted into the Container Layout Web item.

Width in pixels (WIDTH) Here you set the width of the cell.

Height in pixels (HEIGHT) Here you set the height of the cell.

Rowspan (ROWSPAN) Here you merge rows into one cell. For example, when you enter the number 2, it means that the cells span over two rows.

Colspan (COLSPAN) Here you merge columns. For example, when you enter the number 2, it means that the cells span over two columns.

Vertical alignment (VALIGN) of the cell content Here you set the vertical alignment of the Web item. Beginning (BEGIN) Center (CENTER) End (END)

Horizontal alignment (HALIGN) of the cell content Here you set the horizontal alignment of the Web item. Beginning (BEGIN) Center (CENTER) End (END)

Enterprise Reporting, Query, and Analysis

96

Core Development Tasks Developing User Interfaces Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Description

March 2006

You use this parameter to determine whether navigation or other interactions are possible in the Web application.

4.1.1.4.1.2.3

Container

Definition
Web item that allows the combining of any content, whether to be displayed or hidden.

Use
With the Container Web item, you can combine any content and nest Web items. You can use this Web item to insert free HTML into other Web items, such as tab pages. To do this, first insert free HTML into the Container Web item and include it in the Tab Page Web item.

Structure
The following is a parameter list for the Web item Container, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Default value: -1 Description You use this parameter to determine the width of the Web item. The default value -1 is not a fixed width; it means that the Web item adapts to the width as needed. Full width (FULL_WIDTH) You use this parameter to determine that the specification in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to determine the height of the Web item. The default value -1 is not a fixed height; it means that the Web item adapts to the height as needed.

Height in pixels (HEIGHT) Default value: -1

Enterprise Reporting, Query, and Analysis

97

Core Development Tasks Developing User Interfaces

March 2006

Full height (FULL_HEIGHT)

You use this parameter to determine that the specification in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView). You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Web item has a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Visibility (VISIBILITY)

With tray (WITH_TRAY)

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Description You use this parameter to determine whether navigation or other interactions are possible in the Web application.

4.1.1.4.1.2.4

Tab Pages

Definition
Web item that allows Web items to be arranged on tab pages.

Use
Using the Tab Pages Web item, you can arrange and display Web items as tab pages in your Web application. You can assign one Web item to each tab page. You must first insert the subordinate Web items into the Tab Page Web item.

Structure
The following tables list the parameters for the Tab Pages Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Description You use this parameter to specify the width of the Web item.

Enterprise Reporting, Query, and Analysis

98

Core Development Tasks Developing User Interfaces

March 2006

Full Width (FULL_WIDTH)

You use this parameter to specify that the value in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to specify the height of the Web item. You use this parameter to specify that the value in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView). You use this parameter to specify whether the Web item is to be visible in the Web application. You use this parameter to specify whether the Web item is to have a symbol that allows it to be expanded and collapsed. For more information about this parameter, see Parameter Tray [Page 174].

Height in Pixels (HEIGHT) Full Height (FULL_HEIGHT)

Visibility (VISIBILITY)

With Tray (WITH_TRAY)

Internal Display Parameter Initial Tab Index (INITIAL_TAB ) Default value: 1 Description You use this parameter to specify the tab page that is to be initially displayed as active. For example, when the default value 1 is used, the first tab page is initially displayed as active.

Enterprise Reporting, Query, and Analysis

99

Core Development Tasks Developing User Interfaces

March 2006

Tab Panel List (TABPANEL_LIST)

You use this parameter to specify the list of tab pages for the Web application. You must set the following additional parameters for each tab page: Caption (CAPTION) You enter the label for the tab page using the text dialog. Icon (SYMBOL) You use this parameter to incorporate icons. Activation Action (ACTIVATION_ACTION) You can specify an action to be triggered when the tab pages are switched. The action is executed when you choose a tab page. To do this, call the command wizard [Page 222] under Command via Command Wizard. Deactivation Action (DEACTIVATION_ACTION) You can specify an action to be triggered when the tab pages are switched. The action is executed when you switch from one tab page to another tab page. To do this, call the command wizard under Command via Command Wizard. Note the following points in relation to activation and deactivation actions:
...

1. The activation action is not executed when the Web template is initially loaded. 2. When the user switches tab pages, the deactivation action of the last active tab page is executed, followed by the activation action for the new tab page. Subordinate Web Item (CHILD_ITEM_REF) You use this parameter to select the Web item that you previously inserted into the tab page Web item and that is to be displayed on this specific tab page. Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description You use this parameter to specify whether navigation or other interaction is to be possible in the Web application.

Enterprise Reporting, Query, and Analysis

100

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.2.5

Group

Definition
Web item that enables visual grouping of contents in a Web application.

Use
You use this Web item if you want to display certain areas together in a Web application.

Structure
The following list is a parameter list for the Group Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Full Width (FULL_WIDTH) Description You use this parameter to specify the width of the Web item. You use this parameter to specify that the value in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to specify the height of the Web item. You use this parameter to specify that the value in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView). You use this parameter to specify whether the Web item is visible in the Web application. You use this parameter to specify whether the Web item has a symbol that allows it to be expanded and collapsed. For more information about this parameter, see Parameter Tray [Page 174]. You use this parameter to specify whether a uniform distance between the content of the Group Web item (such as Web items) and its boundaries is to be displayed.

Height in Pixels (HEIGHT) Full Height (FULL_HEIGHT)

Visibility (VISIBILITY) With Tray (WITH_TRAY)

Distance Between Content (PADDING)

Internal Display Parameter Description

Enterprise Reporting, Query, and Analysis

101

Core Development Tasks Developing User Interfaces

March 2006

Design (GROUP_DESIGN) Values: Primary Color (PRIMARYCOLOR) SAP Color (SAPCOLOR) Secondary Box (SECONDARYBOX) Color of Secondary Box (SECONDARYBOXCOLOR) Secondary Color (SECONDARYCOLOR) Subordinate Web Item (CHILD_ITEM_REF)

You use this parameter to specify the design of the Web item.

You use this parameter to specify the Web item that is to be displayed in the Group Web item. Make sure that you have inserted the Web item into the Group Web item. You use this parameter to specify whether the Group Web item has a caption. If a caption is to be displayed, depending on the type of caption, you need to set the following other parameters: Caption Type (CAPTION_TYPE) You use this parameter to specify whether the caption is a simple text or a subordinate Web item:

With Caption (WITH_CAPTION)

Text (CAPTION) If you choose a text as caption, enter it using the text input dialog under Caption. See Text Input Dialog [Page 40].

Web Item (CHILD_ITEM_REF) If you choose a Web item as a caption, select the associated Web item in the dropdown box. Make sure that you have inserted the Web item into the Group Web item.

With Toolbar (WITH_TOOLBAR)

You use this parameter to specify whether the Group Web item has a toolbar. If a toolbar is to be displayed, the following additional parameters must be set: Subordinate Web Item (CHILD_ITEM_REF) Under this parameter, select the Web item that is to function as the toolbar. Make sure that you have inserted the Web item into the Group Web item. In a typical example scenario, the Button Group Web item is used in the toolbar.

Enterprise Reporting, Query, and Analysis

102

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.2.6

Single Document

Definition
Web item that allows you to display single (non-migrated) documents that you created in the Data Warehousing Workbench or in master data maintenance, in the Web application.

Use
You can use the Single Document Web item to embed single documents of all formats inplace, without needing Frames or IFrames in the Web application.

Example
You have a Web application that displays cost center data for the cost center manager. Every cost center manager performs this for their cost center, so the data is filtered according to cost center. The Web application always shows the data for the current month. Assuming that you have stored a master data document for each cost center (for example, a short description of all people belonging to the cost center), you can configure the Web item so that this document is always displayed next to the table with the figures. The contextsensitive selection of the table ensures that each manager can only see the document for their cost center. Assuming that each cost center manager must comment on the cost center expenses, you can additionally display this document for InfoProviders in a second Web item. The contextsensitive selection of the documents for InfoProvider data ensures that the appropriate document for the cost center/month combination is always displayed.

Structure
The following is a parameter list for the Single Document Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Height in Pixels (HEIGHT) Visibility (VISIBILITY) Description You use this parameter to determine the width of the Web item. You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application.

Enterprise Reporting, Query, and Analysis

103

Core Development Tasks Developing User Interfaces

March 2006

With Tray (WITH_TRAY)

You use this parameter to determine whether the Single Document Web item has a symbol that enables the Web item to be expanded and collapsed. For more information on this parameter, see Parameter: Tray [Page 174].

Internal Display Parameter Maximum Text Lines (MAX_TEXT_LINES) Description You use this parameter to determine the maximum number of text lines for text documents. You use this parameter to determine the default URL that is displayed when no document is found. You set the link to the document in Knowledge Management. Enter a KM path (or Resource Identifier) here, for example, /documents/mydocument/myComment.txt. You use this parameter to determine whether the document is embedded in the Web application (On) or if only a link to the document is displayed (Off). You use this parameter to determine whether the Document List Web item should be displayed if more than one document qualifies for the Web item context. You use this parameter to determine the properties of the document to be displayed under the document. You have the following selection options:

Default Picture URL (DEFAULT_PICTURE_URL)

Document Positioned (IS_INPLACE)

Display List (DISPLAY_LIST)

Property List (PROPERTY_LIST)

Modified on (MODIFIED_ON) Modified by (MODIFIED_BY) Created on (CREATED_ON) Created by (CREATED_BY)

The Modified On (MODIFIED_ON) option is the default value. Behavior Parameter Maintenance Possible (MAINTENANCE_POSSIBLE) Data Connection Parameter Description Description You use this parameter to decide whether it is possible to maintain the Single Document Web item. The default value is Off.

Enterprise Reporting, Query, and Analysis

104

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters AZ, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

Document Class (DOCUMENT CLASS)

You use this parameter to set the document class. You have the following selection options:

Meta (BW_OBJECT) Reference (CHARACTERISTIC) InfoProvider (MULTI)

For master data you must also enter the characteristic whose documents are to be displayed. For metadata you must also enter the meta object whose documents are to be displayed. In these instances, corresponding input help is available in the BEx Web Application Designer. Document Type (WWW_DOC_TYPE) You use this parameter to classify documents by assigning a freely selectable document type to them. If you have set the parameter to Web item, only the corresponding document types are displayed.

In the cost center example, you can assign two documents to each cost center, one document with pictures of employees and another with a description of the cost center. You can then classify all pictures as PICTURE and all descriptions as DESCRIPTION. To do this, you assign the value PICTURE or DESCRIPTION to the Document Type property of the document. Set this Web item property accordingly in the Web application. This allows you to, for example, include two Web items in the Web application, one of which displays the pictures and the other the description. See also: Creating New Documents [External].

Enterprise Reporting, Query, and Analysis

105

Core Development Tasks Developing User Interfaces

March 2006

For more information on the use and function of the Single Document Web item, see Using Documents in Web Applications [External].

4.1.1.4.1.2.7

Document List

Definition
Web item that displays a list of documents in the Web application.

Use
The Document List Web item allows you to call or create context-sensitive information for data (master data, InfoProvider data, or metadata) used in the Web application. If you navigate in the Web application and, for example, restrict a characteristic to a certain characteristic value, the document list is automatically adjusted. This means that only those documents relevant for the restricted navigation status are displayed.

Only those characteristics that are set as a document property in the Data Warehousing Workbench are taken into account when the documents for the InfoProvider data displayed for the most recent navigational state are determined.

Example
You have a Web application that displays cost center data for the cost center manager. Every cost center manager performs this for his or her cost center, so the data is filtered according to cost center. The Web application always displays the data for the current month. Assuming you have stored a master data document for each cost center, you can configure the Web item so that this document is always displayed in addition to the table with the figures. The context-sensitive selection of the table ensures that managers can only see the document for their own cost center. Assuming each cost center manager has to comment on the cost center expenses, you can additionally display this document for InfoProviders in a second Web item. The contextsensitive selection of the documents for InfoProvider data ensures that the appropriate document for the cost center/month combination is always displayed.

Structure
The following tables list the parameters for the Document List Web item, arranged according to the various parameter groupings. Display Parameter Description

Enterprise Reporting, Query, and Analysis

106

Core Development Tasks Developing User Interfaces

March 2006

Width in Pixels (WIDTH) Height in Pixels (HEIGHT) Visibility (VISIBILITY) With Tray (WITH_TRAY)

You use this parameter to specify the width of the Web item. You use this parameter to specify the height of the Web item. You use this parameter to specify whether the Web item is visible in the Web application. You use this parameter to specify whether the Document List Web item is to have a symbol that enables the Web item to be expanded and collapsed. For more information on this parameter, see Parameter Tray.

Internal Display Parameter Maximum Text Lines (MAX_TEXT_LINES) Description You use this parameter to specify the maximum number of text lines for text documents. You use this parameter to specify the table columns. You can select from the following options for the columns:

Table Columns List (DOC_ITEM_TABLE_COLUMN)

Name (Default) Name (NAME) Content (CONTENT) Assignment (ASSIGNMENT) Author (Author)

Author Column Content (COLUMN_AUTHOR_CONTENT)

You use this parameter to specify which information is to be displayed in the author column. You have the following selection options:

Author Only (Default) Author Only (Author) Date Only (DATE) Author and Date (BOTH)

Documents per Page (DOCUMENTS_PER_PAGE) Table Frame Visible (TABLE_FRAME_VISIBLE)

You use this parameter to specify how many documents are to be displayed on a page. You use this parameter to specify whether the table frame is to be displayed. The selection options are On and Off. The default value is Off. You use this parameter to specify whether the table header is to be displayed. The selection options are On and Off. The default value is Off.

Table Header Visible (TABLE_HEADER_VISIBLE)

Data Binding

Enterprise Reporting, Query, and Analysis

107

Core Development Tasks Developing User Interfaces

March 2006

Parameter Data Provider (DATA_PROVIDER_REF)

Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: Names can be a maximum of 30 characters and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions simplifies the upgrade to subsequent SAP releases.

Document Class (DOCUMENT CLASS)

You use this parameter to set the document class. You have the following selection options:

Metadata (BW_OBJECT) Reference (CHARACTERISTIC) InfoProvider (MULTI)

For master data, you must also enter the characteristic whose documents are to be displayed. For metadata, you must also enter the meta object whose documents are to be displayed. Corresponding input help is available for these in the BEx Web Application Designer. Document Type (WWW_DOC_TYPE) You use this parameter to classify documents by assigning a freely selectable document type to them. If you set the parameter to Web item, only the corresponding document types are displayed.

In the cost center example, you can assign documents to every possible combination of cost center and calendar month. Documents relate to either the revenue or expense of the cost center. You can classify the documents as EXPENSE or REVENUE by assigning the value EXPENSE or REVENUE to the Document Type property of the document. Set this Web item property accordingly in the Web application. For example, you can include two Web items in the Web application, one of which displays the documents for expenses and the other the documents for revenue.

For more information about using the Document List Web item and its functions, see Using Documents in Web Applications [External].

Enterprise Reporting, Query, and Analysis

108

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.2.8

Maps

Purpose
Many BI characteristics, such as customer, sales region, and country, contain important geographical characteristics. The geographical information can be evaluated in a map together with business-relevant key figures. Use maps to display business relationships and distributions. You can clearly display specific key figures as color shadings, pie charts, or bar charts for a country, region, or city.

You have the option of changing the view of a map by zooming in to display a detailed view or zooming out for an overall view. This allows you to easily prepare a sales analysis for a specific product that refers to a specific region or a country, for example. You can recognize the potential or dangers of a market all at a glance.

Integration
Maps help you with reporting geo-relevant data. By using the Map Web item, you determine a geographical display in the BEx Web Application Designer for your business-oriented data for the Web application. Geo-relevant InfoObjects are stored and maintained in the Metadata Repository. The master data for geo InfoObjects has geo attributes. The assignment of geographical data to business data (mapping/geocoding) is carried out using an external tool: ArcView from ESRI (Environmental Systems Research Institute).

Features
You use maps to prepare and evaluate data of a geographical nature (characteristics such as customer, sales region, and country, for example). The geo-relevant data is displayed graphically on a map. Using enhanced navigation options (geographical drilldown), regional

Enterprise Reporting, Query, and Analysis

109

Core Development Tasks Developing User Interfaces

March 2006

information can be evaluated more easily at different levels of detail. A map shows the spatial proximity of places and regions, allowing geographical connections to be more clearly represented.

Process Flow
...

1. In the InfoObject maintenance, flag the geo-relevant characteristics (country, for example) that you want to use as geo characteristics. 2. Load the corresponding shapefiles [External] into the BI system. Maintain the assignment of shapefile and master data (mapping between geo characteristic and shapefile). See SAPBWKEY Maintenance for Static Geo Characteristics [External]. If you want to use the maps to report on geo characteristics that show information in point form (customer, plant, sales office, for example) you have to geocode these characteristics. See Geocoding [External]. 3. In the BEx Web Application Designer, include a Map Web item [Page 110] in your Web template, and assign a data provider to this Web item. Use parameters to determine the display of the map and business-oriented data. Finally, execute the Web template in the Web. You can navigate in the map to further analyze the geo-relevant data. See also: Additional Cartographical Information [External] Displaying Additional Cartographical Information [Page 140]

4.1.1.4.1.2.8.1

Map

Definition
Web item for displaying geo-relevant data on a map. The Map Web item contains general information on a map such as information on the map layers.

Use
You use the map layers to define the different layers in a map that are laid on top of each other in the Web application. For example, you can use colors to highlight the countries in one map layer and display bar charts for each country in another layer. The parameters that you set control how a map and its layers are displayed in the Web application. For information on layer parameters, see Parameters for Map Layers [Page 113].

Structure
Below is a parameter list for the Map Web item, arranged according to the various parameter groupings. Display Parameter Description

Enterprise Reporting, Query, and Analysis

110

Core Development Tasks Developing User Interfaces

March 2006

Width in Pixels (WIDTH) Height in Pixels (HEIGHT) Visibility (VISIBILITY)

You use this parameter to determine the width of the Web item. You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Web item has a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter: Tray [Page 174].

With Tray (WITH_TRAY)

Internal Display Parameter List of Map Layers (MAPLAYER_LIST) Description You use this parameter to create a list of map layers and make settings for each map layer at the same time. The settings for the individual map layers depend on the chosen map renderer. For information on which settings can be made for individual map renderers, see Parameters for Map Layers [Page 113]. You use this parameter to determine whether to display the map legend in the Web application and where to display it in relation to the map. There are the following options:

Position of Map Legend (MAP_LEGEND_POSITION)

Right of the map (RIGHT) Left of the map (LEFT) No legend (NONE)

Legend Caption (LEGEND_CAPTION) Legend Size (LEGEND_SIZE)

You use this parameter to give the map legend a caption using the text input dialog box [Page 40]. You use this parameter to determine the size of the map legend. You can only specify the values in pixels.

Enterprise Reporting, Query, and Analysis

111

Core Development Tasks Developing User Interfaces

March 2006

Visible Map Extent (MAP_EXTENT)

You use this parameter to specify which areas of a map are displayed in the Web application. This depends on the data stored in the application.

Data with geography (DATALAYER) Only data (DATA) Data and complete geography available (LAYER)

The default setting, Data with Geography, allows you to display data taking the corresponding geographic context into account. Projection (PROJECTION) You use this parameter to determine the possible projection of the map. There are the following options:

No projection (NONE) Flat projection (FLAT) Mercator projection (MERC)

Background Color (BACKGROUND_COLOR)

You use this parameter to determine whether to display a map background and to specify the color for this background. You select the color from a color selection dialog box. You use this parameter to specify the name of an AXL file for the cartography description (stored in the directory for shapefiles). You use this parameter to define whether additional cartography information stored in an AXL file is to be displayed. For more information, see Additional Cartographical Information [External].

AXL File (cartography) (CART_AXL_NAME) Cartography Information On/Off (CART_AXL_VISIBLE)

Behavior Parameter Activate Navigation (INTERACTION_ALLOWED) Description You use this parameter to determine whether navigation or other interaction is possible in the Web application.

Enterprise Reporting, Query, and Analysis

112

Core Development Tasks Developing User Interfaces

March 2006

Geo Functions (GEO_FUNCTIONS_POS) Modify the long text in the WAD.

You use this parameter to determine whether to display the geo functions bar in the Web application, and how to display it. There are the following options:

Do not display (NONE) Top (TOP) Bottom (BOTTOM) Left (LEFT) Right (RIGHT)

For more information on the usage and function of the Map Web item, see Navigating in Maps [External].

4.1.1.4.1.2.8.2

Parameters for Map Layers

Use
The layers of a map contain different geographic and business information. The individual layers are laid over one another in the Web application and, in this way, make up the overall view of the map. You can show or hide individual layers and change the information contained in a map. For each map layer, you must define how the data is displayed in this layer. Do this by selecting a map renderer [Page 114].

To select a map renderer, use the parameter MAPLAYER_LIST under Map Renderer. The parameters that you can set for the map layer vary depending on the map renderer you choose. For more information on the various parameters, see: Parameters for Color Shading [Page 116] Parameters for Bar Charts [Page 118] Parameters for Pie Charts and Pie Charts (Split) [Page 121] Parameters for Dot Density [Page 123] Parameters for Symbols [Page 125] Parameters for Symbols (Size-Dependent) [Page 127] Parameters for Symbols (Color-Dependent) [Page 129] Parameters for Lines [Page 132] Parameters for Lines (Size-Dependent) [Page 134] Parameters for Lines (Color-Dependent) [Page 137]

Enterprise Reporting, Query, and Analysis

113

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.2.8.2.1

Map Renderers

Definition
You use a map renderer to determine how BI data is displayed in a map layer.

Structure
There 11 different map renderers in the BEx Web Application Designer. These renderers are divided into three different classes: Class 1: Renderers that relate to polygonal areas (static geo characteristics). They display the following:

Color shading (COLORSHADING or CS) Bar charts (BAR) Pie charts (PIE) Pie charts (split) (SPLITPIE) Pixel density (DOTDENSITY or D_DENSITY) For these renderers, the static geo characteristic must appear in the related data provider in the rows and the values to be displayed in the renderer must be in the columns. You can use hierarchies in both cases. No other characteristics other than the geo characteristics must appear in the rows. No key figures must appear in the rows. You can use several characteristics or key figures in the columns.

Class 2: Renderers that relate to locations (dynamic geo characteristics). They display the following:

Symbol (SYMBOL) Symbol (size-dependent) (SIZEGRADUATEDSYMBOL or SG_SYMBOL) Symbol (color-dependent) (COLORGRADUATEDSYMBOL or CG_SYMBOL) Bar charts (BAR) Pie charts (PIE) Pie charts (split) (SPLITPIE) For these renderers, the dynamic geo characteristic must appear in the related data provider in the rows. You must have also selected the Longitude and Latitude display attributes to be displayed. No other characteristics or key figures must appear in the rows. Only the first column is considered by the symbol renderers. The renderers bar chart, pie chart, and pie chart (split) consider all columns.

Class 3: Renderers that display relationships between two locations (dynamic geo characteristics):

Line (LINE) Line (size-dependent) (SIZEGRADUATEDLINE or SG_LINE)

Enterprise Reporting, Query, and Analysis

114

Core Development Tasks Developing User Interfaces

March 2006

Line (color-dependent) (COLORGRADUATEDLINE or CG_LINE) It is important to have at least three map layers for these renderers. You define start points in one map layer and end points in another map layer. The prerequisites described in class 2 are also valid for both of these map layers. The third map layer contains the relationship between the dynamic geo characteristics of the start points and the dynamic geo characteristic of the end points, that is, both characteristics must be in the rows. The same prerequisites described for class 2 apply to the columns here.

Integration
To display the BI business data in individual map layers, you have to assign a map renderer to each map layer in the BEx Web Application Designer and determine the properties for this renderer. To select a map renderer, use the parameter MAPLAYER_LIST of the Map Web item, under Renderer. Example of a renderer in Class 3 Map layer query view that describes the relationship Sales Office A A A B B Sales Representative 1 2 3 11 12 Sales 100 $ 150 $ 120 $ 90 $ 80 $

Map layer query view that describes the start points Sales Office A A A B B Longitude 2.3 2.3 2.3 -3.5 -3.5 Latitude 3.4 3.4 3.4 -2.0 -2.0 # Employees 120 15 120 87 80

Map layer query view that describes the end points Sales Representative 1 2 3 11 12 2.8 2.6 2.4 -3.8 -3.4 4.7 5.7 6.7 -1.2 -1.8 12 11 13 23 21 Longitude Latitude # Customers

Enterprise Reporting, Query, and Analysis

115

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.2.8.2.2

Parameters for Color Shading

Definition
Color shading is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
The color shading map renderer allows you to display color classes that correspond to special value classes.

Structure
Below is a list of parameters for the color shading renderer. Parameter Visible (VISIBLE) Data Provider (DATA_PROVIDER_REF) Description You use this parameter to determine whether the map layer is visible. You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases. Number of Classes (CLASSES) You use this parameter to determine the number of color levels.

Enterprise Reporting, Query, and Analysis

116

Core Development Tasks Developing User Interfaces

March 2006

Color Settings (COLOR_SETTINGS)

This parameter contains the following additional parameters for you to set:

Initial Color (COLOR_START) You use this parameter to determine the color of the symbol that represents the smallest data value of the connected data provider. You select the color value in a color selection dialog box.

End Color (COLOR_END) You use this parameter to determine the color of the symbol that represents the largest data value of the connected data provider. You select the color value in a color selection dialog box.

Color Interpolation (COLOR_INTERPOLATION) RGB color value, HSB (color area) You use this parameter to define the color interpolation method. Colors between the start and the end color are interpolated linearly.

Color List (COLOR_LIST) Color (No Data Available) (COLOR_NONE)

You use this parameter to enter color values.

You use this parameter to define a color value to be used to fill all regions of a map for which no data is available in the connected data source. You select the color value in a color selection dialog box. This parameter allows you to use the text input dialog box [Page 40] to assign a name to the map layer. You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to enter individual class boundaries.

Caption (CAPTION) Tooltips for Map Layers (TOOLTIPS_VISIBLE) Breaks Distributed Evenly (BREAKS_DISTRIBUTED) List of Breaks (BREAK_LIST)

Enterprise Reporting, Query, and Analysis

117

Core Development Tasks Developing User Interfaces

March 2006

Label Display (LABEL_DISPLAY)

You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Highlighted Labels (LABELS_HIGHLIGHTED) Legend Visible (LEGEND_VISIBLE) Legend Caption (LEGEND_CAPTION) Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog - you have to create them beforehand.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

4.1.1.4.1.2.8.2.3

Parameters for Bar Charts

Definition
The bar chart is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Enterprise Reporting, Query, and Analysis

118

Core Development Tasks Developing User Interfaces

March 2006

Use
You can display values in the form of bars with the bar chart map renderer.

Structure
Below is a list of parameters for the bar chart renderer. Parameter Visible (VISIBLE) Data Provider (DATA_PROVIDER_REF) Description You use this parameter to determine whether the map layer is to be visible in the Web application. You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases. Bar Chart Settings (BAR_SETTINGS) This parameter contains the following additional parameters that you can use to control the appearance of the bar chart in the Web application:

Bar Chart: Maximum Height (BAR_MAXHEIGHT) Default value: 30 You use this parameter to define the maximum height of a bar in the chart. This height corresponds to the largest value of the connected data source. You can only specify the height in pixels.

Bar charts: Width (BAR_WIDTH) Default value: 10 You use this parameter to define the width of a bar in the chart.

Color List (COLOR_LIST)

You use this parameter to enter individual color values.

Enterprise Reporting, Query, and Analysis

119

Core Development Tasks Developing User Interfaces

March 2006

Tooltips for Map Layers (TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

Breaks Distributed Evenly (BREAKS_DISTRIBUTED) Label Display (LABEL_DISPLAY)

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Highlighted Labels (LABELS_HIGHLIGHTED)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Legend Visible (LEGEND_VISIBLE)

Legend Caption (LEGEND_CAPTION)

Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

Enterprise Reporting, Query, and Analysis

120

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.2.8.2.4

Parameters for Pie Charts and Pie Charts (Split)

Definition
Pie chart and pie chart (split) are map renderers. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
You can display values in the form of pie charts with the pie chart renderer. You can use the split pie chart renderer to display values in the form of split pie charts. In a split pie chart, the split occurs automatically if there is a "change of group" (that is from sales for the 1st quarter of 2001 to the sales for the 2nd quarter of 2001).

Not that the parameters of the pie chart renderer and pie chart (split) renderer are identical.

Structure
Below is a list of parameters for the pie chart and pie chart (split) renderers. Parameter Visible (VISIBLE) Data Provider (DATA_PROVIDER_REF) Description You use this parameter to determine whether the map layer is visible. You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

Enterprise Reporting, Query, and Analysis

121

Core Development Tasks Developing User Interfaces

March 2006

Pie Chart Settings (PIE_SETTINGS)

This parameter contains the following additional parameters that you can use to control the appearance of the pie chart in the Web application:

Pie Chart: Minimum Size (PIE_MIN) You use this parameter to define the minimum diameter of a circle in the chart. This diameter is the sum of all the minimum values displayed in the Web application. If you set "circle diameter (minimum) = circle diameter (maximum), all circles in the Web application are displayed with the same diameter.

Pie Chart: Maximum Size (PIE_MAX) You use this parameter to define the maximum diameter of a circle in the chart. This diameter is the sum of all the maximum values displayed in the Web application. If you set "circle diameter (minimum) = circle diameter (maximum), all circles in the Web application are displayed with the same diameter.

Color List (COLOR_LIST) Tooltips for Map Layers (TOOLTIPS_VISIBLE) Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

You use this parameter to enter color values.

You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings.

Label Display (LABEL_DISPLAY)

You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Highlighted Labels (LABELS_HIGHLIGHTED)

You use this parameter to determine whether labels of map layers are to be highlighted.

Enterprise Reporting, Query, and Analysis

122

Core Development Tasks Developing User Interfaces

March 2006

Legend Visible (LEGEND_VISIBLE) Legend Caption (LEGEND_CAPTION) Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

4.1.1.4.1.2.8.2.5

Parameters for Dot Density

Definition
Dot density is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
You can use the dot density renderer to display values in a map in the form of dot densities.

Structure
Below is a list of parameters for the dot density renderer. Parameter Visible (VISIBLE) Description You use this parameter to determine whether the map layer is visible.

Enterprise Reporting, Query, and Analysis

123

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

Maximum Density in % (DENSITY)

You use this parameter to define how densely the points should be displayed in a region for the largest value of the connected data provider. You use this parameter to define the size of the points (symbols). You use this parameter to define the type of symbol to be used for the display. There are the following options:

Symbol Size (POINT_SIZE) Symbol Type (POINT_STYLE)

Circle (CIRCLE) Square (SQUARE) Triangle (TRIANGLE) Cross (CROSS) Symbol (IMAGE)

Color (COLOR) Tooltips for Map Layers (TOOLTIPS_VISIBLE) Breaks Distributed Evenly (BREAKS_DISTRIBUTED) Label Display (LABEL_DISPLAY)

You use this parameter to determine the color of the points (symbols). You select the color value in a color selection dialog box. You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Enterprise Reporting, Query, and Analysis

124

Core Development Tasks Developing User Interfaces

March 2006

Highlighted Labels (LABELS_HIGHLIGHTED) Legend Visible (LEGEND_VISIBLE) Legend Caption (LEGEND_CAPTION) Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

4.1.1.4.1.2.8.2.6

Parameters for Symbols

Definition
The symbol is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
You can display values using symbols with the Symbol renderer.

Structure
Below is a list of parameters for the symbol renderer. Parameter Visible (VISIBLE) Description You use this parameter to determine whether the map layer is visible.

Enterprise Reporting, Query, and Analysis

125

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

Symbol Size (POINT_SIZE) Symbol Type (POINT_STYLE)

You use this parameter to define the size of the symbols. You use this parameter to define the type of symbol to be used for the display. There are the following options:

Circle (CIRCLE) Square (SQUARE) Triangle (TRIANGLE) Cross (CROSS) Symbol (IMAGE)

Color (COLOR) Tooltips for Map Layers (TOOLTIPS_VISIBLE) Breaks Distributed Evenly (BREAKS_DISTRIBUTED) Label Display (LABEL_DISPLAY)

You use this parameter to determine the color of the points (symbols). You select the color value in a color selection dialog box. You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Highlighted Labels (LABELS_HIGHLIGHTED) Legend Visible (LEGEND_VISIBLE)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map.

Enterprise Reporting, Query, and Analysis

126

Core Development Tasks Developing User Interfaces

March 2006

Legend Caption (LEGEND_CAPTION)

This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

4.1.1.4.1.2.8.2.7

Parameters for Symbols (Size-Dependent)

Definition
Size-dependent symbol is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
You can use the symbol (size-dependent) renderer to display values using size-dependent symbols. The renderer takes the location and data values for this location into consideration. The size of the symbols depends on the data.

Structure
Below is a list of parameters for the size-dependent symbol renderer. Parameter Visible (VISIBLE) Description You use this parameter to determine whether the map layer is visible.

Enterprise Reporting, Query, and Analysis

127

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. You use this parameter to define (in pixels) the symbol size/line width that represents the smallest data value in the connected data provider. You use this parameter to define (in pixels) the symbol size/line width that represents the largest data value in the connected data provider. You use this parameter to enter individual sizes. You use this parameter to define the type of symbol to be used for the display. There are the following options:

Symbol (Start Size) / Line (Start Width) (SIZE_START)

Symbol (End Size) / Line (End Width) (SIZE_END)

Size List (SIZE_LIST) Symbol Type (POINT_STYLE)

Circle (CIRCLE) Square (SQUARE) Triangle (TRIANGLE) Cross (CROSS) Symbol (IMAGE)

Color (COLOR) List of Breaks (BREAK_LIST) Number of Classes (CLASSES) Tooltips for Map Layers (TOOLTIPS_VISIBLE) Breaks Distributed Evenly (BREAKS_DISTRIBUTED) Label Display (LABEL_DISPLAY)

You use this parameter to determine the color of the points (symbols). You select the color value in a color selection dialog box. You use this parameter to define the individual class boundaries You use this parameter to enter the number of size levels. You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Enterprise Reporting, Query, and Analysis

128

Core Development Tasks Developing User Interfaces

March 2006

Highlighted Labels (LABELS_HIGHLIGHTED) Legend Visible (LEGEND_VISIBLE) Legend Caption (LEGEND_CAPTION) Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

4.1.1.4.1.2.8.2.8

Parameters for Symbols (Color-Dependent)

Definition
Color-dependent symbol is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
You use the symbol (color-dependent) renderer to display values using color-dependent symbols. The renderer takes the location and data values for this location into consideration. The color of the symbols depends on the data.

Structure
Below is a list of parameters for the color-dependent symbol renderer. Parameter Visible (VISIBLE) Description You use this parameter to determine whether the map layer is visible.

Enterprise Reporting, Query, and Analysis

129

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. You use this parameter to define the size of the symbols. You use this parameter to define the type of symbol to be used for the display. There are the following options:

Symbol Size (POINT_SIZE) Symbol Type (POINT_STYLE)

Circle (CIRCLE) Square (SQUARE) Triangle (TRIANGLE) Cross (CROSS) Symbol (IMAGE)

Color Settings (COLOR_SETTINGS)

This parameter contains the following additional parameters for you to set:

Initial Color (COLOR_START) You use this parameter to determine the color of the symbol that represents the smallest data value of the connected data provider. You select the color value in a color selection dialog box.

End Color (COLOR_END) You use this parameter to determine the color of the symbol that represents the largest data value of the connected data provider. You select the color value in a color selection dialog box.

Color Interpolation (COLOR_INTERPOLATION) RGB color value, HSB (color area) You use this parameter to define the color interpolation method. Colors between the start and the end color are interpolated linearly.

Color List (COLOR_LIST) List of Breaks (BREAK_LIST) Number of Classes (CLASSES)

You use this parameter to enter color values.

You use this parameter to define the individual class boundaries You use this parameter to enter the number of color levels.

Enterprise Reporting, Query, and Analysis

130

Core Development Tasks Developing User Interfaces

March 2006

Tooltips for Map Layers (TOOLTIPS_VISIBLE) Breaks Distributed Evenly (BREAKS_DISTRIBUTED) Label Display (LABEL_DISPLAY)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Highlighted Labels (LABELS_HIGHLIGHTED) Legend Visible (LEGEND_VISIBLE) Legend Caption (LEGEND_CAPTION) Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

Enterprise Reporting, Query, and Analysis

131

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.2.8.2.9

Parameters for Lines

Definition
The line is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
The Line renderer displays values with a line going from a starting point to an end point.

Structure
Below is a list of parameters for the Line renderer. Parameter Visible (VISIBLE) Data Provider (DATA_PROVIDER_REF) Description You use this parameter to determine whether the map layer is visible. You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases. Color (COLOR) Line Width (LINE_WIDTH) You use this parameter to determine the color of the line. You select the color value in a color selection dialog box. You use this parameter to define the width of the line.

Enterprise Reporting, Query, and Analysis

132

Core Development Tasks Developing User Interfaces

March 2006

Line Settings (LINE_SETTINGS)

This parameter contains the following additional parameters for you to set:

Layer (Starting Points) (FROM_LAYER) You use this parameter to determine the layer on which the lines starting points lie. All starting points must lie on one layer.

Layer (End Points) (TO_LAYER) You use this parameter to determine the layer on which the lines end points lie. All end points must lie on one layer.

Line Style (LINE_STYLE) You use this parameter to determine the way in which the line is to be displayed. Solid (SOLID) Dotted (DOTTED) Dashed (DASHED)

Tooltips for Map Layers (TOOLTIPS_VISIBLE) Breaks Distributed Evenly (BREAKS_DISTRIBUTED) Label Display (LABEL_DISPLAY)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Highlighted Labels (LABELS_HIGHLIGHTED) Legend Visible (LEGEND_VISIBLE) Legend Caption (LEGEND_CAPTION)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map.

Enterprise Reporting, Query, and Analysis

133

Core Development Tasks Developing User Interfaces

March 2006

Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

4.1.1.4.1.2.8.2.10

Parameters for Lines (Size-Dependent)

Definition
The size-dependent line is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
The line (size-dependent) renderer displays values with a line from the starting point to the end point. The data values determine the line size.

Structure
Below is a list of parameters for the line (size-dependent) renderer. Parameter Visible (VISIBLE) Description You use this parameter to determine whether the map layer is visible.

Enterprise Reporting, Query, and Analysis

134

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

Color (COLOR) Line Settings (LINE_SETTINGS)

You use this parameter to determine the color of the line. You select the color value in a color selection dialog box. This parameter contains the following additional parameters for you to set:

Layer (Starting Points) (FROM_LAYER) You use this parameter to determine the layer on which the lines starting points lie. All starting points must lie on one layer.

Layer (End Points) (TO_LAYER) You use this parameter to determine the layer on which the lines end points lie. All end points must lie on one layer.

Line Style (LINE_STYLE) You use this parameter to determine the way in which this parameter is to be displayed. Solid (SOLID) Dotted (DOTTED) Dashed (DASHED)

Symbol (Start Size) / Line (Start Width) (SIZE_START)

You use this parameter to define (in pixels) the symbol size/line width that represents the smallest data value in the connected data provider. You use this parameter to define (in pixels) the symbol size/line width that represents the largest data value in the connected data provider. You use this parameter to enter individual sizes.

Symbol (End Size) / Line (End Width) (SIZE_END)

Size List (LIST_SIZE)

Enterprise Reporting, Query, and Analysis

135

Core Development Tasks Developing User Interfaces

March 2006

List of Breaks (BREAK_LIST) Number of Classes (CLASSES) Tooltips for Map Layers (TOOLTIPS_VISIBLE) Breaks Distributed Evenly (BREAKS_DISTRIBUTED) Label Display (LABEL_DISPLAY)

You use this parameter to define the individual class boundaries. You use this parameter to enter the number of size levels. You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Highlighted Labels (LABELS_HIGHLIGHTED) Legend Visible (LEGEND_VISIBLE) Legend Caption (LEGEND_CAPTION) Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External]. You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

Attribute (DISPLAY_ATTRIBUTE)

Enterprise Reporting, Query, and Analysis

136

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.2.8.2.11

Parameters for Lines (Color-Dependent)

Definition
The color-dependent line is a map renderer. You use map renderers to determine the way in which BI data is displayed in a map layer. You use the parameters of a map renderer to determine the properties of the renderer.

Use
The line (color-dependent) renderer displays values with a line from the starting to the end point. The data values define the color of a line.

Structure
Below is a list of parameters for the color-dependent line renderer. Parameter Visible (VISIBLE) Data Provider (DATA_PROVIDER_REF) Description You use this parameter to determine whether the map layer is visible. You use this parameter to assign a data provider to the map layer. The map layer gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

Enterprise Reporting, Query, and Analysis

137

Core Development Tasks Developing User Interfaces

March 2006

Color Settings (COLOR_SETTINGS)

This parameter contains the following additional parameters for you to set:

Initial Color (COLOR_START) You use this parameter to determine the color of the symbol that represents the smallest data value of the connected data source. You select the color value in a color selection dialog box.

End Color (COLOR_END) You use this parameter to determine the color of the symbol that represents the largest data value of the connected data source. You select the color value in a color selection dialog box.

Color Interpolation (COLOR_INTERPOLATION) RGB color value, HSB (color area) You use this parameter to define the color interpolation method. Colors between the start and the end color are interpolated linearly.

Line Settings (LINE_SETTINGS)

This parameter contains the following additional parameters for you to set:

Layer (Starting Points) (FROM_LAYER) You use this parameter to determine the layer on which the lines starting points lie. All starting points must lie on one layer.

Layer (End Points) (TO_LAYER) You use this parameter to determine the layer on which the lines end points lie. All end points must lie on one layer.

Line Style (LINE_STYLE) You use this parameter to determine the way in which this parameter is to be displayed. Solid (SOLID) Dotted (DOTTED) Dashed (DASHED)

Line Width (LINE_WIDTH)

You use this parameter to define the width of the line.

Enterprise Reporting, Query, and Analysis

138

Core Development Tasks Developing User Interfaces

March 2006

List of Breaks (BREAK_LIST) Number of Classes (CLASSES) Color List (COLOR_LIST) Tooltips for Map Layers (TOOLTIPS_VISIBLE)

You use this parameter to define the individual class boundaries You use this parameter to enter the number of size levels. You use this parameter to enter color values.

You use this parameter to determine whether a tooltip text is to be displayed for the map layers. You use this parameter to set even distribution for color shadings. You use this parameter to determine whether labels should be displayed and, if so, how they should be displayed. There are the following options:

Breaks Distributed Evenly (BREAKS_DISTRIBUTED) Label Display (LABEL_DISPLAY)

No Label (NONE) Text as Label (TEXT) Key as Label (KEY) Value as Label (VALUE)

Highlighted Labels (LABELS_HIGHLIGHTED) Legend Visible (LEGEND_VISIBLE) Legend Caption (LEGEND_CAPTION) Affected Data Provider (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to determine whether labels of map layers are to be highlighted. You use this parameter to determine whether a legend is to be displayed for the map. This parameter allows you to use the text input dialog box [Page 40] to assign a heading to the legend of the map. You use this parameter to create a list of data providers to which all commands of the map layer are sent. For each entry in the data provider list, you choose a data provider for the Affected Data Provider parameter (LINKED_DATA_PROVIDER_REF). Note that you cannot create data providers in the parameter dialog box - you have to create them beforehand.

Display Exceptions (EXCEPTIONS_VISIBLE)

You use this parameter to specify whether exceptions that are activated for the base data provider are to be displayed. See also: Displaying Exceptions in Maps and Charts [External].

Enterprise Reporting, Query, and Analysis

139

Core Development Tasks Developing User Interfaces

March 2006

Attribute (DISPLAY_ATTRIBUTE)

You use this parameter to enter the name of a characteristic attribute whose value is to be displayed on the map.

4.1.1.4.1.2.8.2.12

Displaying Additional Cartographical Information

Use
You can add additional cartographical information (for example, the display of backgrounds such as relief, rivers or cities, for example) to the Web item Map that you have already integrated into your Web application.

Procedure
Preparing Used Shapefiles and Images
1. You may need to edit Shapefiles [External] to make them fit properly as map backgrounds. This is described in the How To Paper Create and Modify Arcview Maps in the SAP Service Marketplace, under the alias bw Services & Implementation HOW TOGuides Guide List BW 2.x. 2. Consider the following when wanting to display images as backgrounds: In addition to the Geo-TIFF image format, PNG, GIF, JPG, BMP and TIFF formats are supported. These formats need a world file (with a file ending that is dependent upon the file format: GIFGFW, TIFTFW,...). In each world file, image information is assigned to geo-coordinates (degrees of latitude and longitude). With the Geo-TIFF image format, this information is found directly in the image file. Create this file with a text editor. World File Notes

Enterprise Reporting, Query, and Analysis

140

Core Development Tasks Developing User Interfaces

March 2006

0.0666666666666 0.0000000000000 0.0000000000000 -0.0666666666666 -140.00000000000000 90.00000000000000

1. line: Pixel size along X axis 2. line: Rotation for the row 3. line: Rotation for the column 4. line: Pixel size along Y axis 5. line: Longitude (x coordinate) of upper lefthand corner 6. line: Latitude (y coordinate) of upper lefthand corner

The pixel size can be calculated as follows: The resolution of the image in height and width can be found in the properties of the image file. Using the calculation: (X coordinate right X coordinate left) / width (Y coordinate below Y coordinate above) / height

Creating the AXL Files


The additional cartographical information is read from the AXL files and interpreted. In the following section, three sample files are described for different pieces of additional cartographical information.

First Sample File


Create the file usa_img.axl with a text editor (such as Notepad) or an XML editor. This sample file is used to create a relief background. File: usa_img.axl Notes

Enterprise Reporting, Query, and Analysis

141

Core Development Tasks Developing User Interfaces

March 2006

<?xml version="1.0" encoding="UTF-8"?> <ARCXML version="1.1"> <CONFIG> <ENVIRONMENT> <LOCALE language="de" /> </ENVIRONMENT> <MAP> <WORKSPACES> <IMAGEWORKSPACE name="img_ws" directory="C:\Program Files\SAP\Internet Graphics Server\data\shapefiles" /> </WORKSPACES> <LAYER type="image" name="namerika" visible="true" id="0"> <DATASET name="namerika.gif" type="image" workspace="img_ws" /> <IMAGEPROPERTIES transparency="1,0" /> </LAYER> </MAP> </CONFIG> </ARCXML>

Lines 1-4: The header is always the same Line 5: By changing the language attribute, you can either enter numbers in German (de ,) or in English (en .) format . Lines 9/10: The image workspace describes the directory on the IGS in which the images are stored. Lines 12-17: Describes a layer of cartographical information. In this case, an image layer is being used (type=image). Each layer is given its own unique ID. Lines 13-14: The data is described in the dataset tag. Name contains the complete image file name; the corresponding directory is found using the workspace (see lines 9/10). Lines 15-16: You can set a transparency and a transparency color in the image properties. Rows 17-20: The XML tags need to be closed-

Second Sample File


This example looks at a file with two background Shapefiles (rivers represented with lines and lakes with polygons). File: rivers.axl Notes

Enterprise Reporting, Query, and Analysis

142

Core Development Tasks Developing User Interfaces

March 2006

<?xml version="1.0" encoding="UTF-8"?> <ARCXML version="1.1"> <CONFIG> <ENVIRONMENT> <LOCALE language="en" /> </ENVIRONMENT> <MAP> <WORKSPACES> <SHAPEWORKSPACE name="shp_ws-0" directory="C:\Program Files\SAP\Internet Graphics Server\data\shapefiles" /> </WORKSPACES> <LAYER type="featureclass" name="rivers" visible="true" id="0" > <DATASET name="usa_rivers" type="line" workspace="shp_ws-0" /> <GROUPRENDERER> <SIMPLERENDERER> <SIMPLELINESYMBOL width="2" color="6,9,148" type="solid"/> </SIMPLERENDERER> <SIMPLELABELRENDERER field="NAME"> <TEXTSYMBOL fontcolor="6,9,148" font="Courier"/> </SIMPLELABELRENDERER> </GROUPRENDERER> </LAYER> <LAYER type="featureclass" name="lakes" visible="true" id="1" > <DATASET name="usa_lakes" type="polygon" workspace="shp_ws-0" /> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOL filltransparency="1" fillcolor="94,98,252" boundarywidth="2" boundarytransparency="1" boundarycolor="6,9,148" /> </SIMPLERENDERER> </LAYER> </MAP> </CONFIG> </ARCXML>

Line 1-7: See the corresponding notes for the first sample file. Line 9-11: A background Shapefile is being used here. For this reason, the SHAPEWORKSPACE tag is required to specify the directory. Line 13-23: The first level is described (rivers). A Shapefile layer is being used here. Line 14: In the DATASET tag, the name of the Shapefile (without file ending) can be found in the Name attribute; the Shapefile type is Line. In this case, labels are also displayed alongside the rivers. A group renderer that is made up of several simple renderers is used here. Line 15-22: GROUPRENDERER Line 16-18: SIMPLERENDERER for lines Line 17: The lines are described with SIMPLELINESYMBOL (width in pixels, color and line type). Line 19-21: SIMPLELABELRENDERER allows you to label the cartographical background; the Field attribute contains the column from the respective .dbf file that is used for the label text. Lines 24-32: The second layer is described (lakes); this is also a Shapefile level. Line 25: The Shapefile type is Polygon. The name of the Shapefile appears as the name (without the file ending) Line 28: Lakes are displayed as nontransparent (fill transparency) blue (fill color) polygons with a blue (boundary color), nontransparent (boundary transparency) boundary, 2 pixels (boundary width) in size.

Third Sample File


This is the most complex sample AXL definition. A total of four cartographical levels are defined. The layers are displayed partially scaling-dependently. File: usa.axl Notes

Enterprise Reporting, Query, and Analysis

143

Core Development Tasks Developing User Interfaces


<?xml version="1.0" encoding="UTF-8"?> <ARCXML version="1.1"> <CONFIG> <ENVIRONMENT> <LOCALE country="US" language="en" variant="" /> <ENVIRONMENT> <MAP> <WORKSPACES> <SHAPEWORKSPACE name="shp_ws-0" directory="C:\Program Files\SAP\Internet Graphics Server\data\shapefiles" /> </WORKSPACES> <LAYER type="featureclass" name="DalSegno" visible="true" id="0" > <DATASET name="DalSegno" type="point" workspace="shp_ws-0" /> <SCALEDEPENDENTRENDERER upper="1:20000000"> <SIMPLERENDERER> <RASTERMARKERSYMBOL image="C:\Program Files\SAP\Internet Graphics Server\data\shapefiles\icon.gif"/> </SIMPLERENDERER> </SCALEDEPENDENTRENDERER> </LAYER> <LAYER type="featureclass" name="rivers" visible="true" id="1" > <DATASET name="usa_rivers" type="line" workspace="shp_ws-0" /> <SIMPLERENDERER> <SIMPLELINESYMBOL width="2" color="6,9,148" type="solid"/> </SIMPLERENDERER> </LAYER> <LAYER type="featureclass" name="cities" visible="true" id="2" > <DATASET name="USA_Cities" type="point" workspace="shp_ws-0" /> <GROUPRENDERER> <VALUEMAPRENDERER lookupfield="CAPITAL"> <EXACT value="Y"> <SIMPLEMARKERSYMBOL type="circle" color="0,0,0" width="8" outline="0,0,0"/> </EXACT> <EXACT value="N"> <SIMPLEMARKERSYMBOL type="triangle" color="0,0,0" width="6" outline="0,0,0"/> </EXACT> </VALUEMAPRENDERER> <SCALEDEPENDENTRENDERER upper="1:20000000"> <SIMPLELABELRENDERER field="NAME"> <TEXTSYMBOL fontcolor="0,0,0" font="Courier"/> </SIMPLELABELRENDERER> </SCALEDEPENDENTRENDERER> </GROUPRENDERER> </LAYER> <LAYER type="featureclass" name="lakes" visible="true" id="3" > <DATASET name="usa_lakes" type="polygon" Enterprise Reporting, Query, and Analysis workspace="shp_ws-0" /> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOL filltransparency="1"

March 2006

Lines 1-12: See corresponding line notes in the first two sample files. Lines 13-21: The company location is displayed using a Shapefile with a single point (company location). This point is displayed as an image (RASTERMARKERSYMBOL). The image is accessed using the Image attribute (complete path on IGS and file name). The tag SCALEDEPENDENTRENDERER is used here so that the image only appears as of a map resolution of 1:20,000,000. The attribute Upper is used to determine the from boundary for the scaling. Lines 41-46: Layer definition for rivers (Shapefile). Lines 48-67: Layer definition for the cities (Shapefile). The capital is to be displayed as a larger circle, all other cities as triangles. The tag VALUEMAPRENDERER is used for this purpose. This tag enables you to render the map independently of values from the .dbf attribute file. The field is selected from the .dbf file using the Lookupfield attribute. You can use the tag EXACT to select individual values and specify the corresponding RENDERER. In this case, entering CAPITAL Y renders a point of type Circle, and CAPITAL N renders a point of type Triangle. The tag SCALEDEPENDENTRENDERER is used to make sure that the label does not appear until a scaling of 1:20,000,000. Lines 68-75: Level definition for the lakes Line 76-78: Open XML tags are closed.

144

Core Development Tasks Developing User Interfaces

March 2006

Publishing AXL Files on the IGS


...

Save the AXL files to the Shapefile directory on the IGS. You can find this under Internet Graphics Server\data\shapefiles.

Note that you also need to save the referenced Shapefiles and images in the directory that you specified using the WORKSPACE entry.

Including AXL Files in the Web Application


...

1. Start the Web Application Designer and create a Web template in which you want to drag the Map Web item. Alternatively, load a Web template to which you want to add additional cartographical information. 2. Enter the name of the AXL file in the properties of the Map Web item for the attribute CART_AXL_NAME (AXL File (Cartography)). This attribute specifies which AXL file is displayed initially. 3. Select the attribute CART_AXL_VISIBLE (Cartographical Information On/Off) in the properties of the Map Web item. This attribute specifies whether cartographical information is to be displayed. 4. Set the attribute GEO_FUNCTIONS_ADVANCED (Enhanced Geo-Toolbar) in the properties of the Map Web item for the scaling-dependent map information.

Result
You have enhanced the map in your Web application with additional cartographical information, such as cities, rivers or lakes.

Transparency is always specified as a value between 0 and 1. 1 means no transparency and 0 means 100% transparency. If you want to set a color in a background image (level image or RASTERMARKERSYMBOL) to transparent, set the color to the RGB value 255,0,255. Color values are given as RGB values in the form R,G,B (for example, 128,128,128). The image formats supported by IGS are: Geo-TIFF, PNG, GIF, JPG, BMP, TIFF.

4.1.1.4.1.2.9

System Messages

Definition
Web item that displays system messages, information, warnings and error messages.

Enterprise Reporting, Query, and Analysis

145

Core Development Tasks Developing User Interfaces

March 2006

Use
Using the System Messages Web item, you can display different types of messages in a Web application. You use the Web template parameter to determine the type of messages that are displayed. For more information, see Web Template Parameter [Page 173].

Structure
The following is a parameter list for the System Messages Web item, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Description You use this parameter to determine the width of the Web item. You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Web item has a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Height in pixels (HEIGHT)

Visibility (VISIBILITY) With tray (WITH_TRAY)

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Description You use this parameter to determine whether navigation or other interactions are possible in the Web application.

4.1.1.4.1.2.10

Information Field

Definition
Web item that displays information about the data provider, the user, the filter values as well as information about the Web application.

Use
With the Information Field Web item, you can display additional information about the data provider in the Web application.

Enterprise Reporting, Query, and Analysis

146

Core Development Tasks Developing User Interfaces

March 2006

Structure
The following tables list the parameters for the Information Field Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Description You use this parameter to specify the width of the Web item. You use this parameter to specify the height of the Web item. You use this parameter to specify whether the Web item is visible in the Web application.

Height in Pixels (HEIGHT)

Visibility (VISIBILITY)

With Tray (WITH_TRAY)

You use this parameter to specify whether the Web item is to have a symbol that enables the Web item to be expanded and collapsed in the Web application. For more information about this parameter, see Parameter Tray [Page 174].

Internal Display Parameter Headers Visible (HEADERS_VISIBLE) Description You use this parameter to determine whether headers are displayed in the Web application. You use this parameter to specify whether static filter values for the data provider are to be displayed in the Web application by using the Web item. Static filter values are set in the Query Designer. You use this parameter to specify whether general text elements such as InfoCube, current user, and so on are to be displayed in the Web application. You use this parameter to specify whether the dynamic filter values are to be displayed in the Web application. You use this parameter to specify whether variables are to be displayed in the Web application.

Display Static Filter Values (STATIC_FILTERS_VISIBLE)

Display General Text Elements (GENERAL_INFORMATION_VISIBLE)

Display Dynamic Filter Values (DYNAMIC_FILTERS_VISIBLE) Display Variables (VARIABLES_VISIBLE)

Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description You use this parameter to specify whether navigation or other interaction is to be possible in the Web application.

Enterprise Reporting, Query, and Analysis

147

Core Development Tasks Developing User Interfaces Data Binding Parameter Data Provider (DATA_PROVIDER_REF) Description

March 2006

You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: Names can be a maximum of 30 characters and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions simplifies the upgrade to subsequent SAP releases.

List of Text Elements to Display (INFORMATION_ELEMENT_LIST)

You use this parameter to create a list of all text elements that are to be displayed in the Web application. Different parameters are to be set for each element in the list depending on the text element type. The following text element types are possible: General Text Elements (GENERIC_TEXT_ELEMENT) Dynamic Filter (CHARACTERISTIC_LIST) Static Filter (STATIC_CHARACTERISTIC_LIST) Variable Value (VARIABLE) If you do not specify this list, all text elements are displayed.

If you selected the text element type General Text Elements (GENERIC_TEXT_ELEMENT), you need to set the following parameter(s): Parameter Description

Enterprise Reporting, Query, and Analysis

148

Core Development Tasks Developing User Interfaces

March 2006

General Text Elements for a Data Provider (GENERIC_TEXT_ELEMENT).

You use this parameter to choose the generic text element that is to be displayed: Query Name (QUERY) Query Description (QUERY_DESCRIPTION) InfoProvider Name (INFOPROVIDER) InfoProvider Description (INFOPROVIDER_DESCRIPTION) Key Date (QUERY_KEYDATE) Last Data Update (ROLLUPTIME) Author (AUTHOR) Changed At (CHANGED_AT) Changed By (LAST_CHANGED_BY) Current User (CURRENT_USER) Last Refresh (LAST_REFRESHED) Web Template (TEMPLATE) System (SYSTEM)

If you selected the text element type Dynamic Filter (CHARACTERISTIC_LIST), you need to set the following parameter(s): Parameter List of Characteristics (CHARACTERISTIC_LIST) Description You use this parameter to specify for each row the characteristic that is displayed as a dynamic filter.

If you selected the text element type Static Filter (STATIC_CHARACTERISTIC_LIST), you need to set the following parameter(s): Parameter List of Characteristics for Static Filter (STATIC_CHARACTERISTIC_LIST) Description You use this parameter to specify for each row the characteristic that is displayed as a static filter.

4.1.1.4.1.3

Web Item Grouping: Miscellaneous

Use
The Web item grouping is used to structure the pool of Web items in the Web Application Designer.

Structure
The following Web items are part of the Miscellaneous grouping:

Enterprise Reporting, Query, and Analysis

149

Core Development Tasks Developing User Interfaces


March 2006

Data Provider Information Text Link List of Exceptions List of Conditions Menu Bar Properties Pane Ticker Context Menu Script

4.1.1.4.1.3.1

Data Provider Information

Definition
Web item that you can use for XML generation of query results data or of the navigation state of a query. The Web item is not visualized in the Web application. You can see the generated XML in the source text for the Web application.

Structure
The following is a parameter list for the Web item Data Provider Information arranged according to the various parameter groupings. Data Connection Parameter Data providers (DATA_PROVIDER_REF) Description You assign a data provider to the Web item with this parameter. The Web item gets the data and metadata from this data provider that it needs to generate the output and commands. SAP recommends that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _. It cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases. Output navigational state (NAVIGATIONAL_STATE) You use this parameter to determine whether the navigational state of the data provider is output as XML in the source text of the Web application. You use this parameter to determine whether the query results of are output as XML in the source text of the Web application.

Output result data (RESULT_SET)

Enterprise Reporting, Query, and Analysis

150

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.3.2

Text

Definition
Web item that allows simple texts, characteristic names and generic text elements (for example, last changed by, key date of the query, query name, and so on) to be displayed in Web applications. Since the texts are language-dependent, the text is automatically displayed in the logon language.

Structure
The following is a parameter list for the Web item Text, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Height in pixels (HEIGHT) Visibility (VISIBILITY) Tray (WITH_TRAY) Description You use this parameter to determine the width of the Web item. You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Web item has a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Internal Display Parameter Quick info (TOOLTIP) Description You use this parameter to define a quick-info text using the text input dialog. See Text Input Dialog [Page 40].

Enterprise Reporting, Query, and Analysis

151

Core Development Tasks Developing User Interfaces

March 2006

Color (TEXT_COLOR)

You use this parameter to determine the color of the text. The text can be displayed as follows: Default value (DEFAULT) The text is displayed in black by default. Diminished (DIMINISHED) The text is displayed in gray by default. Positive (POSITIVE) The text is displayed in green by default. Critical (CRITICAL) The text is displayed in orange by default. Negative (NEGATIVE) The text is displayed in red by default. Highlighted1 (MARKED1) The text is highlighted by default. Highlighted2 (MARKED2) The text is highlighted by default. Note that the display of colors depends on the respective BEx theme.

Design (TEXT_DESIGN)

You use this parameter to determine the design of the text in the Web application. The text can be displayed as follows: Standard (STANDARD) Emphasized (EMPHASIZED) Small label (LABEL_SMALL) Label (LABEL) Header1 (HEADER1) Header2 (HEADER2) Header3 (HEADER3) Header4 (HEADER4) Legend (LEGEND) Reference (REFERENCE) Non-proportional (MONOSPACE)

Line break (TEXT_WRAPPING)

You use this parameter to determine whether a line break is to be applied to a text length that is longer than the width of the Web item (see WIDTH parameter).

Behavior Parameter Behavior

Enterprise Reporting, Query, and Analysis

152

Core Development Tasks Developing User Interfaces

March 2006

Activate navigation (INTERACTION_ALLOWED)

You use this parameter to determine whether navigation or other interactions are possible in the Web application.

Data Binding Parameter Text binding (TEXT_BINDING) Description You use this parameter to determine the content of the Web item text. Simple text (TEXT_CONTENT) You use a text input dialog to define a simple text as the content of the Web item. See Text Input Dialog [Page 40]. Characteristic (CHARACTERISTIC_TEXT_BINDING) You define a characteristic whose text is to be displayed as the content of the Web item. Choose a data provider (DATA_PROVIDER_REF) and a characteristic (CHARACTERISTIC) by technical name. Generic text elements (GENERIC_TEXT_BINDING) You define which generic text elements of a data provider are to be displayed. To do this, first select a data provider and then the required text elements: Query name (QUERY) Query description (QUERY_DESCRIPTION) Name of an InfoProvider (INFOPROVIDER) InfoProvider description (INFOPROVIDER_DESCRIPTION) Last data update (ROLLUPTIME) Key date (QUERY_KEYDATE) Changed on (CHANGED_AT) Changed by (LAST_CHANGED_BY) Last refreshed (LAST_REFRESHED) Template (TEMPLATE) System (SYSTEM)

Enterprise Reporting, Query, and Analysis

153

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.3.3

Link

Definition
Web item that allows you to display and execute a command in the form of a link.

Use
With the Link Web item, you can easily add commands from the Web Design API to your Web application. To do this, you define a command for a link. You can design the link with any text (language dependent and language independent) and assign a quick link to it.

Structure
The following list is a parameter list for the Link Web item, arranged according to the various parameter groupings. Display: Parameter Width in Pixels (WIDTH) Description You use this parameter to specify the width of the Web item. You use this parameter to specify the height of the Web item. You use this parameter to specify whether the Web item is to be visible in the Web application.

Height in Pixels (HEIGHT)

Visibility (VISIBILITY)

With Tray (WITH_TRAY)

You use this parameter to specify whether the Web item is to have a symbol that allows it to be expanded and collapsed. For more information about this parameter, see Parameter Tray [Page 174].

Internal Display: Parameter Text (TEXT_CONTENT) Description You use this parameter to specify a link text using the text input dialog. See also Text Input Dialog [Page 40]. You use this parameter to specify a quick info text for the link in the Web application using the text dialog. You use this parameter to specify whether a line break is to be inserted when a text exceeds the width of the Web item (see WIDTH parameter).

Quick Info (TOOLTIP)

Wrapping (TEXT_WRAPPING)

Behavior: Parameter Description

Enterprise Reporting, Query, and Analysis

154

Core Development Tasks Developing User Interfaces

March 2006

Target Window (TARGET_WINDOW)

You use this parameter to specify how or where the link is to be executed when it is clicked. You can choose from the following target windows: Standard for this page (without) () Same frame (_SELF) Whole page (_TOP) New page (_BLANK) Superordinate frame (_PARENT)

Allow Navigation (INTERACTION_ALLOWED)

You use this parameter to specify whether navigation or other interaction is to be possible in the Web application. You use this parameter to connect the link to an action. You first specify the type of action. You can insert the following actions: Command via Command Wizard (INSTRUCTION) Using the pushbutton to the right of Command (INSTRUCTION), you can call the command wizard [Page 222] to insert an additional command. Script Function (SCRIPT_FUNCTION) In the Script Function field, specify a script function to be executed. You generate the script function using the script [Page 173] Web item that you previously added and set in the Web template.

Action (Command Triggered) (ACTION)

4.1.1.4.1.3.4

List of Exceptions

Definition
A Web item that lists the existing exceptions and their status (active/not active) for a data provider of type query view in the Web application.

Use
The Exceptions Web item displays the status of exceptions of a data provider of type query view in the form of a table in the Web application. For each exception, the status of the exception (active/not active) is also displayed. You can activate or deactivate the exceptions using the Switch Status button.

Enterprise Reporting, Query, and Analysis

155

Core Development Tasks Developing User Interfaces

March 2006

Structure
The following is a parameter list for the Web item List of Exceptions, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Full width (FULL_WIDTH) Description You use this parameter to determine the width of the Web item. You use this parameter to determine that the specification in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (such as the width of a tab page on a portal page or iView). You use this parameter to determine the height of the Web item. You use this parameter to determine that the specification in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (such as the height of a tab page on a portal page or iView). You use this parameter to determine whether the Web item is to be visible in the Web application. You use this parameter to determine whether the Web item List of Exceptions has a symbol that enables the Web item to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Height in pixels (HEIGHT) Full height (FULL_HEIGHT)

Visibility (VISIBILITY)

With tray (WITH_TRAY)

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Data Connection Parameter Description Description You use this parameter to determine whether navigation and other interaction is possible in the Web application.

Enterprise Reporting, Query, and Analysis

156

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You assign a data provider to the Web item with this parameter. The Web item gets the data and metadata from this data provider that it needs to generate the output and commands. SAP recommends that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _. It cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

See also:

You can find more information on using exceptions under Exception Reporting [External]. For more information on using the List of Exceptions Web item and its functions, see Context Menu Functions [External] and List of Exceptions [External].

4.1.1.4.1.3.5

List of Conditions

Definition
A Web item for a data provider of type query view that displays all the available conditions including their corresponding statuses (active/not active/not applicable/not used) in the Web application.

Use
The List of Conditions Web item displays the status of conditions of a data provider of type query view in the form of a table in the Web application. All the conditions that can be applied to the current navigational state and the data provider of type query view are listed. The status of the condition is displayed for every condition (active/not active/not applicable/not used). You can activate or deactivate the conditions using the Switch Status button.

Structure
The following is a parameter list for the Web item List of Conditions, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Description You use this parameter to determine the width of the Web item.

Enterprise Reporting, Query, and Analysis

157

Core Development Tasks Developing User Interfaces

March 2006

Full width (FULL_WIDTH)

You use this parameter to determine that the specification in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (such as the width of a tab page on a portal page or iView). You use this parameter to determine the height of the Web item. You use this parameter to determine that the specification in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (such as the height of a tab page on a portal page or iView). You use this parameter to determine whether the Web item is to be visible in the Web application. You use this parameter to determine whether the Web item List of Conditions has a symbol that enables the Web item to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Height in pixels (HEIGHT) Full height (FULL_HEIGHT)

Visibility (VISIBILITY)

With tray (WITH_TRAY)

Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Data Connection Parameter Data Provider (DATA_PROVIDER_REF) Description You assign a data provider to the Web item with this parameter. The Web item gets the data and metadata from this data provider that it needs to generate the output and commands. SAP recommends that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _. It cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases. See also: Description You use this parameter to determine whether navigation and other interaction is possible in the Web application.

For more information on the features of conditions, see Conditions [External].

Enterprise Reporting, Query, and Analysis

158

Core Development Tasks Developing User Interfaces

March 2006

For more information about the usability and status descriptions of conditions, see Using Conditions [External]. For more information on using the List of Conditions Web item and its functions, see List of Conditions [External].

4.1.1.4.1.3.6

Menu Bar

Definition
Web item that allows the display of a menu. It generates a menu similar to the one used in desktop applications on the Web, into which you can add commands from the Web Design API.

Use
You can specify whether the menus or menu entries are to trigger an action that is based on a command from the Web Design API, or whether the menus are to group menu entries and thus display a nested menu. Nesting is restricted to a maximum of three levels. You can also specify whether a menu or menu entry is to be displayed in the menu bar or menu only, in the toolbar only, or in the menu bar and toolbar. You can also design the menu bar and toolbar by specifying, for example, that a menu is to be displayed with apostrophes, or is to contain a separator.

Structure
The following tables list the parameters for the Menu Bar Web item, arranged according to the various parameter groupings. Display Parameter Width in Pixels (WIDTH) Description You use this parameter to specify the width of the Web item. You use this parameter to specify that the value in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to specify the height of the Web item. You use this parameter to specify that the value in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView).

Full Width (FULL_WIDTH)

Height in Pixels (HEIGHT)

Full Height (FULL_HEIGHT)

Enterprise Reporting, Query, and Analysis

159

Core Development Tasks Developing User Interfaces

March 2006

Visibility (VISIBILITY)

You use this parameter to specify whether the Web item is to be visible in the Web application. You use this parameter to specify whether the Web item is to have a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter Tray.

With Tray (WITH_TRAY)

Internal Display Parameter Menu Bar (MENU_CONTAINER_L1) Description You use this parameter to design the menu bar. To do this, you create the individual menus and menu entries.

Enterprise Reporting, Query, and Analysis

160

Core Development Tasks Developing User Interfaces

March 2006

Menu (MENU_ELEMENT_L1)

You use this parameter to specify the individual menus of the menu bar; you also specify the type of menu. Grouping of Menu Entries (MENU_ELEMENT_FOLDER_L1) If the menu is to group menu entries, you need to set the following additional parameters: Caption (CAPTION) Using the text input dialog, you enter the name you want to give the menu. You can select whether the texts are to be languagedependent or language-independent. See Text Input Dialog [Page 40]. Quick Info (TOOLTIP) Using the text input dialog, you can enter a quick info text for the menu. Display Separator Above (MENU_HAS_SEPARATOR_ABOVE) You use this parameter to specify whether the top part of the menu is to have a separator. You need to set additional parameters for the following list of menu entries. See the table below. Trigger an Action (MENU_ELEMENT_ACTION) If the menu is to trigger an action, you need to set the following additional parameters: Caption (CAPTION) Quick Info (TOOLTIP) Action (Command Triggered) (ACTION) You can select which action is to be executed and how this is to be done. Command via Command Wizard (INSTRUCTION) Using the pushbutton to the right of Command (INSTRUCTION), you can call the command wizard [Page 222] to insert an additional command. Script Function (SCRIPT_FUNCTION) In the Script Function field, you specify a script function to be executed. You generate the script function using the script [Page 173] Web item that you previously added and set in the Web template. Display Ellipsis (MENU_HAS_ELLIPSIS) You use the Menu Entry Display (MENU_ELEMENT_DISPLAY) parameter to specify the type of display you want for the menu entry in the Web application. 161 Only Menu (VISIBLE_ONLY_IN_MENU) You use this parameter to specify that the menu entry is to be displayed in the menu only.

Enterprise Reporting, Query, and Analysis

Core Development Tasks Developing User Interfaces

March 2006

If you chose the Grouping of Menu Entries (MENU_ELEMENT_FOLDER_L1) type of menu under menu (MENU_ELEMENT_L1), you create a list of menu entries and set the following parameters for each menu entry. Parameter Description

Enterprise Reporting, Query, and Analysis

162

Core Development Tasks Developing User Interfaces

March 2006

Menu Entry (MENU_ELEMENT_L2)

You use this parameter to specify a menu entry and the type this menu entry is to be: Grouping of Menu Entries (MENU_ELEMENT_FOLDER_L1) If the menu entry is to group additional menu entries, you need to set the following additional parameters: Caption (CAPTION) Quick Info (TOOLTIP) Display Separator Above (MENU_HAS_SEPARATOR_ABOVE) If the menu entry itself displays a menu and groups additional menu entries, specify the command that is to be stored for each of these submenu entries: Trigger an Action (MENU_ELEMENT_ACTION) You also need to set the following parameters: Caption (CAPTION) Quick Info (TOOLTIP) Display Ellipsis (MENU_HAS_ELLIPSIS) Action (Command Triggered) (ACTION) You can select which action is to be executed and how this is to be done. Command via Command Wizard (INSTRUCTION) Using the pushbutton to the right of Command (INSTRUCTION), you can call the command wizard [Page 222] to insert an additional command. Script Function (SCRIPT_FUNCTION) In the Script Function field, specify a script function to be executed. You generate the script function using the script [Page 173] Web item that you previously added and set in the Web template. You also specify how the menu entry is to be displayed: Only Menu (VISIBLE_ONLY_IN_MENU) If you select this parameter, you need to make the following additional setting: Display Separator Above (MENU_HAS_SEPARATOR_ABOVE) --------------------------------------------------------------Only Toolbar (VISIBLE_ONLY_IN_TOOLBAR) If you select this parameter, you need to make the following additional settings: 163 Position in Toolbar (TOOLBAR_ITEM_POSITION) Display Separator in Toolbar

Enterprise Reporting, Query, and Analysis

Core Development Tasks Developing User Interfaces Behavior Parameter Allow Navigation (INTERACTION_ALLOWED) Description

March 2006

You use this parameter to specify whether navigation or other interaction is to be possible in the Web application.

4.1.1.4.1.3.7

Ticker

Definition
Web item that allows you to display table content as a ticker.

Structure
The following is a parameter list for the Web item Ticker, arranged according to the various parameter groupings. Display Parameter Width in pixels (WIDTH) Description You use this parameter to determine the width of the Web item.

Height in pixels (HEIGHT)

You use this parameter to determine the height of the Web item. You use this parameter to determine whether the Web item is visible in the Web application. You use this parameter to determine whether the Web item has a symbol that allows it to be expanded and collapsed. For more information on this parameter, see Parameter Tray [Page 174].

Visibility (VISIBILITY)

With tray (WITH_TRAY)

Internal Display Parameter Width of the ticker text in characters (TICKER_SIZE) Label visible (CAPTION_VISIBLE) Description You use this parameter to set the width of the ticker text in characters. You use this parameter to determine whether the label (name of the query) is displayed for the ticker. You use this parameter to set the separator between two ticker rows. Separators are added when the data for a new data row is displayed.

Separator (SEPARATOR)

Enterprise Reporting, Query, and Analysis

164

Core Development Tasks Developing User Interfaces Behavior Parameter Activate navigation (INTERACTION_ALLOWED) Description

March 2006

You use this parameter to determine whether navigation or other interactions are possible in the Web application. You use this parameter to determine the delay in milliseconds until the ticker starts.

Delay in milliseconds (DELAY) Default value: 3000 Speed in milliseconds. (SPEED) Default value: 200 Data Binding Parameter Data provider (DATA_PROVIDER_REF)

You use this parameter to determine the time after which the ticker moves one character. You can only specify the time in milliseconds.

Description You use this parameter to assign a data provider to the Web item. The Web item gets the data and metadata that it needs to generate the output and commands from this data provider. We recommend that you keep to the conventions supported by the Web Application Designer when specifying names: The name should be a maximum of 30 characters long and consist of characters A-Z, 0-9 and _, but cannot start or end with _. Adhering to these conventions facilitates the upgrade to future SAP releases.

4.1.1.4.1.3.8

Properties Pane

Definition
Web item that allows you to display and change the properties of a Web item.

Structure
The following tables list the parameters for the Properties Pane Web item, arranged according to the various parameter groupings. Display Parameter Description

Enterprise Reporting, Query, and Analysis

165

Core Development Tasks Developing User Interfaces

March 2006

Width in Pixels (WIDTH)

You use this parameter to specify the width of the Web item. You use this parameter to specify that the value in the Width in Pixels (WIDTH) parameter be ignored and that the width be set to 100% instead. The full width depends on the width of the environment in which the Web item is embedded (for example, the width of a tab page on a portal page or iView). You use this parameter to specify the height of the Web item. You use this parameter to specify that the value in the Height in Pixels (HEIGHT) parameter be ignored and that the height be set to 100% instead. The full height depends on the height of the environment in which the Web item is embedded (for example, the height of a tab page on a portal page or iView). You use this parameter to specify whether the Web item is to be visible in the Web application. You use this parameter to specify whether the Web item is to have a symbol that enables the Web item to be expanded and collapsed in the Web application. For more information about this parameter, see Parameter Tray [Page 174].

Full Width (FULL_WIDTH)

Height in Pixels (HEIGHT)

Full Height (FULL_HEIGHT)

Visibility (VISIBILITY)

With Tray (WITH_TRAY)

Internal Display Parameter Has Button Row (HAS_BUTTON_ROW) Description You use this parameter to specify whether the Web item with the pushbutton row is to be displayed. You use this parameter to specify whether the drag and drop function is to be enabled for the Web item. You use this parameter to specify whether debug mode is to be activated. You can use debug mode to display the technical name of the property.

Allow Drag and Drop (DRAGDROP_ENABLED) Debug Mode (DEBUG_MODE) Showing the technical name

Enterprise Reporting, Query, and Analysis

166

Core Development Tasks Developing User Interfaces

March 2006

Properties Set Definition (PROPERTIES_SET)

You use this parameter to specify the properties that can be displayed and changed using the Web item in the Web application. The various options are listed below.

Predefined (PROP_SET_PREDEFINED) When you select this value, the properties that are predefined by SAP are displayed.

All (PROP_SET_ALL) When you select this value, all properties for the object are displayed.

Single Value (PROP_SET_SINGLE_VALUE) When you select this value, you can specify a property to be displayed. To do this, specify the technical name of the property (PROPERTY_NAME) and assign a useful description to it (PROPERTY_CAPTION).

Matrix Layout (PROP_SET_MATRIX) When you select this value, you can display the properties you specified in table form. To do this, you create groups of properties: You assign a description for each group (GROUP_DESC). You specify the number of columns (COLUMN_INDEX). For each group, you specify the list of properties. For each property in the list, you make the following settings:

You specify a property by entering the technical name of this property (PROPERTY_NAME). You give the property a meaningful description (PROPERTY_CAPTION). You specify the property parent (PROPERTY_PARENT).

Behavior Parameter Description

Enterprise Reporting, Query, and Analysis

167

Core Development Tasks Developing User Interfaces

March 2006

Allow Navigation (INTERACTION_ALLOWED)

You use this parameter to specify whether navigation or other interaction is to be possible in the Web application.

Data Binding Parameter Properties Source (PROPERTIES_SOURCE) Description You use this parameter to specify for which element of the Web application the properties can be displayed and changed. You can choose from the following properties:

Web Item Parameters (ITEM_PROPERTIES) Data Provider Properties (QUERYVIEW_PROPERTIES) Conditions (CONDITIONS_PROPERTIES) See also List of Conditions [External].

Exceptions (EXCEPTIONS_PROPERTIES) See also List of Exceptions [External].

Characteristic Properties (CHARACTERISTIC_PROPERTIES) Data Cell Properties (DATA_CELL_PROPERTIES) Structure Element Properties (STRUCTURE_MEMBER_PROPERTIE S) Depending on the properties selected, other parameters can be set.

Depending on the properties selected for the Properties Source parameter (PROPERTIES_SOURCE), there are additional parameters that you need to set: Web Item Parameters Parameter Web Item (ITEM_REF) Description You use this parameter to select the Web item for which the properties can be displayed and changed in the Web application. Ensure that you insert the Web item, for which the properties are to be displayed, into the Web template beforehand. Properties of the Data Provider, Conditions, Exceptions Parameter Description

Enterprise Reporting, Query, and Analysis

168

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF)

You use this parameter to select the data provider for which the properties can be displayed and changed in the Web application. Ensure that you define the data provider, for which the properties are to be displayed, for the Web template beforehand.

Characteristic Properties Parameter Data Provider (DATA_PROVIDER_REF) Description You use this parameter to select the data provider for which the properties can be displayed and changed in the Web application. Ensure that you define the data provider, for which the properties are to be displayed, for the Web template beforehand. Characteristic (CHARACTERISTIC) You use this parameter to select a characteristic of the data providers selected under Data Provider (DATA_PROVIDER_REF).

Data Cell Properties Parameter Data Provider (DATA_PROVIDER_REF) Description You use this parameter to select the data provider for which the properties can be displayed and changed in the Web application. Ensure that you define the data provider, for which the properties are to be displayed, for the Web template beforehand. First Structure Element (FIRST_STRUC_MEMBER) Second Structure Element (SECOND_STRUC_MEMBER) Structure Element Properties Parameter Data Provider (DATA_PROVIDER_REF) Description You use this parameter to select the data provider for which the properties can be displayed and changed in the Web application. Ensure that you define the data provider, for which the properties are to be displayed, for the Web template beforehand. Structure Element Properties (STRUCTURE_MEMBER) You use this parameter to specify the properties of the key figure. See also Properties of the Structure Element or Data Cell [External]. You use this parameter to specify a structure element of the first structure. You use this parameter to specify a structure element of the second structure.

Enterprise Reporting, Query, and Analysis

169

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.3.9

Context Menu

Definition
Web item that enables the display of a context menu in a Web application.

Use
With this Web item, you can determine entries for the context menu of a Web application. If you do not drag the Web item on to the Web template and make your settings, the delivered standard context menu is displayed in the Web application.

Structure
The following is a parameter list for the Web item Context Menu, arranged according to the various parameter groupings. Behavior Parameter Navigate back (MENU_BACK) Description You use this parameter to determine whether the Navigate Back entry is displayed in the context menu of the Web template. You can use this entry to go back one navigation step on a data provider. You use this parameter to determine whether the Sort entry is displayed in the context menu of the Web template. You use this entry to sort the underlying data providers. You use this parameter to determine whether the Broadcast entry is displayed in the context menu of the Web template. You use this entry to call broadcaster applications to distribute the result. You use this parameter to determine whether the Keep Filter Value entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Fix Filter Value to Axis entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Select Filter Value entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Filters and Drilldown According to entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Remove Filter Value entry is displayed in the context menu of the Web template.

Sort (MENU_SORT)

Broadcast (MENU_BROADCASTER)

Keep filter value (MENU_FILTER)

Fix filter value to axis (MENU_FILTER_ON_AXIS) Select filter value (MENU_SELECT_FILTER)

Filters and drilldown according to (MENU_FILTER_DRILL_DOWN)

Remove filter value (MENU_REMOVE_FILTER)

Enterprise Reporting, Query, and Analysis

170

Core Development Tasks Developing User Interfaces

March 2006

Drilldown according to (MENU_DRILL_DOWN)

You use this parameter to determine whether the Drilldown According to entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Exchangewith entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Drilldown entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Switch Axes entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Report-Report Jump Targets entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Create Document entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Display Document entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Export to Excel entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Export to CSV entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Export to XML entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Bookmark entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Personalize Web Page entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Characteristic Properties entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Value Cell Properties entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Data Provider Properties entry is displayed in the context menu of the Web template.

Exchange...with (MENU_EXCHANGE_OBJECTS) Remove drilldown (MENU_REMOVE_DRILL_DOWN) Switch Axes (MENU_SWITCH_AXIS) Report/Report Jump Targets (MENU_RRI)

Create document (MENU_DOCUMENT_CREATE) Display documents (MENU_DISPLAY_DOCUMENTS) Export to Excel (MENU_EXPORT_TO_XLS)

Export to CSV (MENU_ EXPORT_TO_CSV) Export to XML (MENU_ EXPORT_TO_XML) Bookmark (MENU_BOOKMARK)

Personalize Web page (MENU_PERSONALIZE) Display characteristic properties (MENU_CHARACTERISTIC_PROPERTIES) Value Cell Properties

Data provider properties (MENU_DATAPROVIDER_PROPERTIES)

Enterprise Reporting, Query, and Analysis

171

Core Development Tasks Developing User Interfaces

March 2006

Conversion (MENU_CONVERSION)

You use this parameter to determine whether the Conversion entry is displayed in the context menu of the Web template. You use this parameter to determine whether the (De)activate Hierarchy entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Expand Hierarchy entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Expand and Collapse Hierarchy Nodes entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Calculate Result As entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Calculate Single Value As entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Display Variable Screen entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Print entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Web-Item Properties entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Exceptions entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Conditions entry is displayed in the context menu of the Web template. You use this parameter to determine whether the Save View entry is displayed in the context menu of the Web template.

(De)activate hierarchy (MENU_HIERARCHY_STATE) Expand hierarchy (MENU_HIERARCHY_DRILL) Expand and collapse hierarchy nodes (MENU_HIERARCHY_NODE_DRILL)

Calculate result as (MENU_CALCULATE_RESULT) Calculate single values as (MENU_CALCULATE_VALUE)

Display variable screen (MENU_VARIABLE_SCREEN) Print (MENU_PRINT)

Web item properties (MENU_ITEM_PROPERTIES) Exceptions (MENU_EXCEPTIONS)

Conditions (MENU_CONDITIONS)

Save view (SAVE_VIEW_SAVE)

Enterprise Reporting, Query, and Analysis

172

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.1.3.10

Script

Definition
Web item that makes it possible to integrate JavaScript in Web templates.

Structure
The following is a parameter list for the Script Web item, arranged according to the various parameter groupings. Internal Display Parameter Script language (SCRIPT_CONTENT_TYPE_LIST) Description You use this parameter to specify the script language. JavaScript (JAVASCRIPT) Script (SCRIPT) You use this parameter to create a script function to integrate it into the Web template.

4.1.1.4.1.4

Web Template Parameter

Definition
Web Item that you can use to determine the parameters of a Web template.

Structure
The following is a parameter list for the Web item Web Template Parameter, arranged according to the various parameter groupings. Internal Display Parameter Errors visible (ERRORS_VISIBLE) Warnings visible (WARNINGS_VISIBLE) Information visible (INFORMATION_VISIBLE) System messages visible (SYSTEM_MESSAGES_VISIBLE) Dialog Connection Parameter Description Description You use this parameter to determine whether parameters are to be displayed in the Web application. You use this parameter to determine whether warnings are to be displayed in the Web application. You use this parameter to determine whether information is to be displayed in the Web application. You use this parameter to determine whether system messages are to be displayed in the Web application.

Enterprise Reporting, Query, and Analysis

173

Core Development Tasks Developing User Interfaces

March 2006

Window mode (WINDOW_MODE)

You use this parameter to determine how dialogs are to be displayed in the Web application. Modal: The dialog appears in a new browser window. You cannot return to the main application from this window. Non-modal: The dialog appears in a new browser window. You can return to the main application from this window. Inplace: The dialog is displayed in the same browser window.

Integration
From a technical perspective, Web template parameters constitute a Web item. The Web item is not, however, offered in the Web Application Designer via the list of Web items but rather visualized in the Properties screen area of the Web Application Designer. See also: Web Template Properties [Page 30] Overriding Parameters [Page 255]

4.1.1.4.1.5

Parameter Tray

Use
With the parameter tray (WITH_TRAY) you can design each Web item in such a way that it is displayed in the Web application with a label and an expand/collapse symbol.

Structure
If you set the parameter tray to active, you need to make the following additional parameter settings: Parameter Label (CAPTION) Description Using the text input dialog, you use this parameter to determine a text that appears on the tray in the Web application. See Text Input Dialog [Page 40]. You use this parameter to determine whether the label on the tray is visible in the Web application.

Label visible (CAPTION_VISIBLE)

Enterprise Reporting, Query, and Analysis

174

Core Development Tasks Developing User Interfaces

March 2006

Style (STYLE)

You use this parameter to select the style of the tray. Plain (PLAIN) Transparent (TRANSPARENT) Filled (FILL)

Expanded (Expanded)

You use this parameter to set whether the Web application initially displays the tray in an expanded state.

4.1.1.4.2

Editing Charts

Use
Charts display number series visually and make it easier for users to interpret business data.
Chart Title Unit
Sales Development for Branches Mill USD

Drawing Area

Background

Value Axis (Y) Gridlines

Revenues

Axis Title Data Point

Washington Moscow London Berlin Paris

Legend Text Legend Symbol

Data Series

Jan 2003

Feb 2003

March 2003 April 2003

May 2003

June 2003

Category Axis (X)

Prerequisites
If you want to convert charts that you have used in SAP BW 2.x or SAP BW 3.0/3.1/3.2 to the current format, you need the standalone Internet Graphics Server (IGS) 6.40. Then you need to change to the Internet Graphics Server 7.0. For more information, see the Internet address service.sap.com/upgradeNW2004s Upgrade.

Enterprise Reporting, Query, and Analysis

175

Core Development Tasks Developing User Interfaces

March 2006

You can edit a chart in the Web Application Designer or in the Web Application Wizard of the Business Explorer.

Editing in the Web Application Designer


You created a new Web item of type Chart or selected an existing Web item of type Chart. You then clicked on the pushbutton with the three dots next to the Special Edit Chart field on the Web Items tab page in the Properties window. This called the Chart Designer (see also Creating Web Applications with the BEx Web Application Designer [Page 47]).

You can also open the Chart Designer by


Double-clicking on the Web item Choosing Edit Chart in the context menu for the Web item

Editing in the Web Application Wizard


You created a new Web item of type Chart and then called the Special Edit Chart option.

Process Flow
...

1. Before you begin publishing a chart you should define which chart type [Page 178] you want to display. You can find out how the data provider should be built based on the class of the chart type. 2. Select an existing query or formulate a new query with which the suitable view on the data can be created. This is the suitable data provider. 3. Start the publishing process and create a new Web item of type Chart. 4. It is normally advisable to configure the properties of the Web item Chart [Page 61] as follows: Expanded hierarchy nodes should be hidden. Totals should be suppressed. If you want to swap the data providers in the chart, you should assign the Swap Axes for Display property to the chart. The columns and rows are then swapped automatically when the chart is generated. You need not change the view on which the chart is based.

5. When you edit the chart, the Web Application Designer or Web Application Wizard first shows the default setting, that is, a column chart. Firstly, format the chart using the wizard so that the most important settings and the number of displayed data series and data points correspond to your data provider (see also Formatting a Chart Using the Wizard [Page 201]). Assign the chart the required chart type and format the chart as you like. You see all chart elements that can be formatted in the list of properties in the right-hand part of the screen. You can modify the properties in line with your wishes here.

Enterprise Reporting, Query, and Analysis

176

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.2.1

Working with the Chart Designer

Use
When you edit a chart you can look at and edit the preview of the chart in question using the Chart Designer.

Structure of the Chart Designer


The window of the Chart Designer is structured as follows:

List of Elements Chart Preview Property Area

The chart preview shows an example chart that displays the values and properties that you set. New charts have five data series and six categories by default, regardless of how the data provider is structured.

The preview does not correspond to the results after publishing. The data series and data categories are only sample data used to show you what the effects of formatting are. You see the actual data only after it has been published.

The list of elements contains all elements of a chart. These elements are partially ordered in logical groups. You can expand these groups by clicking on the plus sign in front of the group name. If you then click on the minus sign the group is collapsed again. Beneath the list of elements is a short description of the element currently selected.

You define the properties for an element in the property area. This area displays the properties of the element currently selected in the overview of elements. Depending on the element you can select a value from prescribed values or enter your own value (for example, a color). Beneath the property area is a short description of the property currently selected.

Enterprise Reporting, Query, and Analysis

177

Core Development Tasks Developing User Interfaces

March 2006

The lower area of the Chart Designer contains pushbuttons that you can use to do the following: Save changes and finish editing the chart. Terminate editing the chart without saving. Call up and navigate in the wizard. Call up help.

Changing the Size of Areas


You can modify the size of areas in the Chart Designer according to your requirements. For example, you may want to increase the size of the property area so that you can display all properties at once.
... ...

1. To do so, position the cursor at the intersection of two areas until the cursor changes into two parallel lines. 2. Click and pull the area to the required size.

Closing the Chart Designer


When you have finished editing a chart, or want to terminate editing, close the Chart Designer and return to the Web Application Designer. You can close the Chart Designer in the following ways:

Choose Complete. Your changes to the chart are saved and the chart designer is closed.

Choose Terminate. Your changes since you last saved are not retained. The Chart Designer is closed.

You can also close the Chart Designer window using the window title bar. The message dialog box that appears allows you to save or discard your changes.

4.1.1.4.2.2

Chart Types

Definition
The chart type defines how your data will be graphically staged. The chart types can be divided into four classes as far as processing is concerned. With chart types of the same class, the rows and columns of the underlying table (that is of the data provider) are processed immediately.

Use
The class to which each chart type belongs is given below. Before you begin publishing a chart, you should define which chart type you want to display. You can find out how the data provider should be built based on the class of the chart type. You can then select an existing query or formulate a new query with which the suitable view of the data can be created. This is the suitable data provider.

Enterprise Reporting, Query, and Analysis

178

Core Development Tasks Developing User Interfaces List of chart types and corresponding classes Chart type class 1 [Page 179] Line chart Profile chart Column chart Bar chart Doughnut chart Radar chart Area chart Profile area chart Pie chart Polar chart Speedometer Split pie chart Chart type class 2 [Page 189] XY scatter chart Time scatter chart Histogram Heatmap Chart type class 3 [Page 196] Portfolio

March 2006

Chart type class 4 [Page 198] Gantt chart Milestone trend analysis (MTA)

Chart Variants
Dimensions
Most of the charts listed here can be depicted with varying dimensionality:

2 dimensions 2.5 dimensions (limited three-dimensionality) 3D (regular three-dimensionality)

Bar and column charts can be converted into pyramid, cone, or cylinder diagrams in 2.5D and 3D mode (see Formatting 3D Effects [Page 222]).

Stacked
There is also a stacked variant for line, column, bar, profile, and radar charts. This adds the values of the data series and displays them on top of one another in a category. Stacked charts display the relationship of individual elements to the total of all values.

100%
You can also set 100% variants for line, profile, column, bar, area, and profile charts. The sum of all data series in a category corresponds to 100%. The values of individual data series are converted into percentage values and depicted accordingly.

4.1.1.4.2.2.1

Class 1 Chart Types

Class 1 includes the following chart types: Line and profile charts

Enterprise Reporting, Query, and Analysis

179

Core Development Tasks Developing User Interfaces


March 2006

Column and bar charts Doughnut charts Radar charts Area and profile area charts Pie charts Polar charts Speedometers Split pie charts

Structure of the Data Provider


You build the underlying table of the chart types of class 1 (with the exception of pie charts and speedometers) as follows:

The data columns correspond to the categories. The rows contain the values for each category. Each row is converted into a data series in the chart.

Structure of the Data Provider for a Pie Chart


In a pie chart, the underlying table has only one row. The values in the columns form the pie segments. If the table contains more than one row, the additional rows are ignored when the table is converted into a chart. However, you can define which row is to be used (see below).

Structure of the Data Provider for a Speedometer


In a speedometer, the underlying table has only one data column. Each value in the data column is displayed in the chart as a pointer. The speedometer will be readable if the data column does not contain too many values. If the table contains more than one data column, the additional columns are ignored when the table is converted into a chart. You can define which data column is to be used for the speedometer.

The following data table is the basis for the charts below.

Line and profile charts Column and bar charts Doughnut charts Radar charts

Enterprise Reporting, Query, and Analysis

180

Core Development Tasks Developing User Interfaces

March 2006

Product Group Accessories Bags & Outdoor Clothing


Data Row

Data Column

Net Sales 2002 1,081,271.23 838,037.56 1,023,172.92

Net Sales 2003 1,076,779.96 1.093,672.49 820,22.07

You could also generate a split pie chart from this data source. However, we chose another example in order to clarify the possibilities for this chart type. Most of the examples mentioned here were created using the chart attribute Switch Axes to Display (SWITCHMATRIX=X). (Exceptions are mentioned in the relevant sections.)

Line Chart
Data trends are shown in a line chart. The data is entered at regular intervals. Categories such as items groups are normally entered on the X axis and values such as revenue on the Y axis.

Chart
1,100.000 1.050.000 1.000.000 950.000 900.000 850.000 800.000 Accessories Bags & Outdoor Clothing

Net Sales 2002

Net SAles 2003

Special features
For line charts you can set the manner in which the lines pass between data points - direct as in the example above, as curved lines, or in varying increments. To do so, choose Data Series Format <name of series> Line Type.

Profile Chart
In a profile chart the lines are arranged vertically and not horizontally as in a line chart. Otherwise the profile chart corresponds to the line chart.

Enterprise Reporting, Query, and Analysis

181

Core Development Tasks Developing User Interfaces

March 2006

Chart

Clothing

Bags & Outdoor

Accessories

800.000

850.000

900.000

950.000 1.000.000 1.050.000 1.100.000

Net Sales 2002

Net Sales 2003

Special features
For profile charts you can set the manner in which the lines pass between data points - direct as in the example above, as curved lines, or in varying increments. To do so, choose Data Series Format <name of series> Line Type.

Column chart
Comparisons between individual elements are shown in a column. Categories are arranged horizontally and values are arranged vertically. To show changes within a certain time interval, you can use either column charts or XY scatter charts.

Chart

1.000.000

800.000

600.000

400.000

200.000

0 Accessories Bags & Outdoor Clothing

Net Sales 2002

Net Sales 2003

Special features
In a three-dimensional column chart you can also depict the columns as cylinders, cones, or pyramids (see Formatting 3D Effects [Page 222]).

Enterprise Reporting, Query, and Analysis

182

Core Development Tasks Developing User Interfaces

March 2006

In a two-dimensional column chart you can depict the columns as triangles (two-dimensional pyramids). To do this, choose Columns BlockStyle. If you are using a two-dimensional column chart, there is no difference between the setting Pyramid and the setting Cone.

Bar Chart
Comparisons between individual elements are shown in a bar chart. Categories are arranged vertically and values are arranged horizontally. The emphasis is on the comparison of values and not on displaying a change during a period of time.

Chart

Clothing

Bags & Outdoor

Accessories

200.000

400.000

600.000

800.000 1.000.000

Net Sales 2002

Net Sales 2003

Special features
In a three-dimensional bar chart you can also depict the bars as cylinders, cones, or pyramids (see Formatting 3D Effects [Page 222]). In a two-dimensional bar chart you can depict the bars as triangles (two-dimensional pyramids). To do this, choose Bars BlockStyle. If you are using a two-dimensional bar chart, there is no difference between the setting Pyramid and the setting Cone.

Doughnut Chart
As in a pie chart, the relationship between parts of a whole are displayed in a doughnut. In contrast to the pie chart, the doughnut can represent more than one data series, where each ring corresponds to a data series.

Enterprise Reporting, Query, and Analysis

183

Core Development Tasks Developing User Interfaces

March 2006

Chart

Accessories
Net Sales 2003

Bags & Outdoor Clothing

Net Sales 2002

Special features
You can change the width of the rings by setting the hole size. To do so, choose Doughnut Hole Size <value as percentage of ring size>.

Radar Chart
In a radar chart, each category has its own value axis emanating from the middle. The values of a data series are linked with lines. Radar charts can be used to compare data series: The data series with the highest values occupies the most space.

Chart
Accessories

Clothing Net Sales 2002 Net Sales 2003

Bags & Outdoor

Special features
You can also depict the chart areas filled in. Choose Radar Filled to do so. Depending on the size of the individual data series, the areas may overlap.

The following data table is the basis for the charts below.

Area charts

Enterprise Reporting, Query, and Analysis

184

Core Development Tasks Developing User Interfaces


March 2006

Profile area charts Pie charts Polar charts Speedometers


Net Sales 2002 1,081,271.23 838,037.56 1,023,172.92 Nettoumsatz 2003 1.076.779,96 1.093.672,49 820.322,07

Product Group Accessories Bags & Outdoor Clothing

Area Chart
The area between the axes and the data series are filled in an area chart. Otherwise the area chart corresponds to the line chart. A stacked area chart depicts the sum of the applied values, thereby illustrating the relationships of parts to each other.

Chart

1.000.000 800.000

600.000

400.000 200.000

0 Accessories

Bags & Outdoor Net Sales 2002

Clothing

Special features
You can determine the line type in an area chart in the same way as for a line chart.

The line type Curve is not supported for an area chart.

Profile Area Chart


In a profile chart the areas are arranged vertically and not horizontally as in an area chart. Otherwise the profile chart corresponds to the area chart.

Enterprise Reporting, Query, and Analysis

185

Core Development Tasks Developing User Interfaces

March 2006

Chart
Clothing

Bags & Outdoor

Accessories

200.000

400.000

600.000

800.000 1.000.000

Net Sales 2002

Special features
You can determine the line type in a profile area chart in the same way as for a profile chart.

The line type Curve is not supported for a profile area chart.

Pie Chart
In a pie chart, the proportional part of elements of a data series are displayed in a whole. This chart type has only a single data series and is used primarily to highlight a particularly important element.

Chart

36.00 % 27.43 %

Accessories Bags & Outdoor Clothing

36.57 %

Special features
A pie chart only reads a single data series from a data source and ignores all others. You can determine which series is to be used by choosing Pie Series Index <number of table series>. You can also determine how much of the drawing area a pie chart should take up. To do so, choose Pie UsedSpace <value as percentage of drawing area>.

Enterprise Reporting, Query, and Analysis

186

Core Development Tasks Developing User Interfaces

March 2006

You can also pull out the individual pie segments by choosing Pie ExplosionOffset <value in pixels>.

See also:
Formatting 3D Effects [Page 222] Rotating Charts [Page 221]

Polar Chart
As for a radar chart, each category has its own value axis. The values of a data series are depicted as areas.

Chart
Accessories

Accessories Bags & Outdoor Clothing

Clothing

Bags & Outdoor

Special features
A polar chart only reads a single data series from a data source and ignores all others. You can determine which series is to be used by choosing Polar Series Index <number of series>.

Speedometer
A speedometer displays one or more key figures in the form of a pointer. The speedometer is divided into several value ranges and the user immediately sees the value range in which the pointer is currently positioned. A speedometer only displays one data column of the data provider.

Enterprise Reporting, Query, and Analysis

187

Core Development Tasks Developing User Interfaces

March 2006

Chart (axes not switched for display)

Accessories

Bags & Outdoor

Clothing

Special features
You can determine which data column is to be displayed by choosing Speedometer Data Index <number of data column>. You can determine whether to display the categories as pointers rather than the data column by choosing Speedometer UseCategories. You can define whether the pointers are to have arrows by choosing Speedometer Show Arrows. You cannot display speedometers in 2.5D or 3D.

Split Pie Chart


In a split pie chart several data series are displayed per category as a pie segment, and are depicted in proportion to each other.

Data Provider
Distribution Channel Internet Fax Telephone EDI Other Net Sales 2002 506,656.10 951,105.94 663,176.76 592,666.62 228,876.27 Net Sales 2003 576,486.84 920,399.22 667,901.35 590,281.34 235,705.78

Enterprise Reporting, Query, and Analysis

188

Core Development Tasks Developing User Interfaces

March 2006

Chart (axes not switched for display)


Internet

Other

Fax Net Sales 2002 Net Sales 2003

EDI

Telephone

Special features
See Rotating Charts [Page 221].

4.1.1.4.2.2.2

Class 2 Chart Types

Chart Types
Scatter charts, time scatter charts, histogram charts, and heatmaps all belong to class 2.

Structure of the Data Provider


You build the table on which a chart type of class 2 is based as follows:

The first data column contains the values to be entered on the X axis. The remaining data columns contain the Y values. These data columns are converted into data series. The number of data series in the chart is the total number of data columns minus 1.

The X value of a data point is always from the first data column. The Y value of a data point is from one of the remaining data columns, depending on the data series to which the data point belongs.

Data providers for histograms and heatmaps need a special structure, which is described in the corresponding sections.

Scatter Chart
In a scatter chart, either the relationship between numeric values is displayed in several data series or two groups of numbers are entered as a row of XY coordinates. This chart type displays irregular intervals (clusters) and is normally used for scientific data. Both axes of a scatter chart are value axes. In other chart types, the X axis is used to display categories.

Enterprise Reporting, Query, and Analysis

189

Core Development Tasks Developing User Interfaces

March 2006

Data Provider
Quarter.Calendar Year 1.2003 2.2003 3.2003 4.2003 Billed Quantity 170,250,132 171,406,182 172,765,649 171,685,760 Net Sales 742.344.30 747,329.80 753,021.96 748,078.47 Planned Sales 756,136 762,019 754,590 744,276

X Values

Y Values

Chart

780000

Net/Planned Sales in EUR

760000

740000

720000

700000 170000000 170500000 171000000 171500000 172000000 172500000 173000000

Billed Quantity in Pieces Net Sales Planned Sales

Special Features
You can fill the areas between two points of a data series, almost as if the chart were an area chart. To do so, choose Scatter Filled.

Time Scatter Chart


The time scatter chart is similar to a scatter chart. The x value can be a date or time.

Enterprise Reporting, Query, and Analysis

190

Core Development Tasks Developing User Interfaces

March 2006

Data Provider
Time 1 Time 2 Time 3 Time 4 Time 5 Time 06:40:00 11:06:40 15:33:20 20:33:20 23:53:20 No. of Batch Processes 250,00 10,00 19,00 150,00 300,00

Chart

300 250

200 150 100

50 0

07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Number of Batch Processes

Special Features
You can create a time scatter chart with date or time values. You can set up to three different time axes; for example, one for years, one for quarters, and one for months. To do this, choose Time Axis Line Line Type1 to Line Type3. You can use Line Format1 to Line Format3 to specify the format in which the time specifications are to be displayed. You can use the properties Line Step1 to Line Step3 to set the intervals between time units. The following abbreviations are used for the time specifications: D = day, M = month, Y = year, W = week, Q = quarter, h = hour, m = minute, s = second. Examples of Time Axis Formats Time August 23, 2004 August 23, 2004 August 23, 2004 Syntax DD. MMM YYYY MM-DD-YYYY DDD MMM YY Result 23. Aug 2004 08-23-2004 Mon Aug 04

Enterprise Reporting, Query, and Analysis

191

Core Development Tasks Developing User Interfaces

March 2006

August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 August 23, 2004 12:34:00 12:34:00

MMM W W YY Q.YY D DD DDD DDDD M MM MMM MMMM Q hh:mm:ss hh:mm

Aug 35 35 04 3.04 23 23 Mon Monday 8 08 Aug August 3 12:34:00 12:34

You can fill the area beneath a data series by choosing Time Scatter Filled.

Histogram
The frequency of a characteristic is displayed in a histogram (for example, the sales revenue for a product group). The frequencies are divided into classes, where each class corresponds to a column in the histogram. In a histogram, categories (classes) are entered on the X axis and the number of corresponding values are entered on the Y axis.

Enterprise Reporting, Query, and Analysis

192

Core Development Tasks Developing User Interfaces

March 2006

Data Provider
Product Paper Clip Multi-Function Pen Post-It Set Biro Mouse Pad Business Card Holder Coffee Mug Candy Tin Bottle Opener Writing Pad Fountain Pen Automatic Umbrella Sequence 1 2 3 4 5 6 7 8 9 10 11 12 Unique ID Net Sales 362,643.23 576,034.09 198,493.43 547,116.83 521,850.64 611,238.54 577,020.82 535,852.04 433,939.79 514,179.24 490,866.26 564,021.33 Value

Chart
8 8

2 1 0 200000 300000 400000 1

500000

600000

700000

Net Sales

Special Feature

To be displayed correctly, a histogram needs one data source with exactly the structure shown above. The first data column contains unique numeric values only; these do not need to be sorted. The second data column contains the values that are sorted into the classes of the histogram.

Enterprise Reporting, Query, and Analysis

193

Core Development Tasks Developing User Interfaces

March 2006

You can control the number of classes by choosing Histogram Classes <required number of classes>.

See also:
Adding, Changing, and Removing Trend Lines [Page 220]

Heatmap
Heatmaps allow you to display large volumes of data compactly in a diagram. You can display the values of two key figures compactly and independently of each other for a number of data series. The display is two dimensional:
...

1. Area (rectangle size) This records the values of the first key figure (such as Billed Quantity). 2. Color (position in color ramp) This records the values of the second key figure (such as Net Sales). You can thus identify unusual values and trends easily and answer business questions such as "How do the sales figures in various distribution channels and product groups compare to each other?".

Data Provider
You build the table on which a heatmap is based as follows:

The table must contain exactly two characteristics (such as Distribution Channel and Product Group). The first characteristic (Distribution Channel) can have up to 100 characteristic values (such as EDI, Fax), and thus determines the number of data series. The second characteristic (Product Group) can have various characteristic values (such as Bad & Outdoor, Accessories), and thus determines the number of categories for each data series. The table must contain exactly two key figures (data columns) for each category.

Enterprise Reporting, Query, and Analysis

194

Core Development Tasks Developing User Interfaces

March 2006

Product Group Distribution Channel EDI Fax Internet Others Phone Overall Result Product Group Distribution Channel EDI Fax Internet Other Phone Overall Result

Bag & Outdoor


Billed Quantity

Accessories Net Sales


Billed Quantity

Net Sales ST $

ST

16,551,490 215,536,876 79,298,050 214,482,973 24,955,409 336,593,498 125,809,073 328,978,177 15,690,502 211,184,935 80,488,755 208,231,891 6,506,994 87,931,877 31,377,975 83,535,015 17,859,461 242,425,306 92,644,635 241,551,902 81,563,856 1,093,672,492 409,618,488 1,076,779,958 Office Overall Result Billed Quantity Billed Quantity Net Sales Net Sales ST $ ST $ 39,353,472 59,691,316 37,181,491 15,195,978 43,503,122 194,925,379 160,261,488 254,827,544 157,070,018 64,238,884 183,924,137 820,322,071 135,203,012 590,281,337 210,455,798 920,399,219 133,360,748 576,486,844 53,080,947 235,705,776 154,007,218 667,901,345 686,107,723 2,990,774,521

Chart (with Explanation)

A E

Product groups (Net sales for each distribution channel):

C EDI (135,203,012) A Fax (210,455,798) D Internet (133,360,748) Distribution Channels (Total E Other (53,080,947) Billed Quantity) B Phone (154,007,218)

Dimension Area: The characteristic value Fax (Distribution Channel characteristic) results in the large square to the upper left of the heatmap, since its categories (Product Groups) have the largest Billed Quantity. The three categories are within this rectangle; each is represented as a rectangle proportional to their Billed Quantity. Dimension Color: The three product groups Bag & Outdoor, Accessories and Office are differentiated by color based on the Net Sales for each Distribution Channel. For the

Enterprise Reporting, Query, and Analysis

195

Core Development Tasks Developing User Interfaces

March 2006

Distribution Channel, the colors for the Bag & Outdoor and Accessories rectangles are similar, whereas the Office category, on the other hand, is easy to distinguish (compare to data provider). Using the following figure, you can see how the two display dimensions, area and color, behave in the heatmap. To illustrate the example more clearly, two data series, (the distribution channels Phone and Others), have been highlighted visually. The text fields are structured as follows: Category / Billed Quantity for Distribution Channel/Net Sales for Distribution Channel.
"Accessories" / 92,644,635 / 241,551,902

C "Accessories" / 31,377,975 / 83,535,015

A "Office" / 43,503,122 / 183,924,137

Office" / 15,195,978 / 64,238,884

B "Bag & Outdoor" / 17,859,461 / 242,425,306

D "Bag & Outdoor" / 6,506,994 / 87,931,877

4.1.1.4.2.2.3

Class 3 Chart Types

Chart Types
The chart type portfolio belongs to class 3.

Portfolio
A portfolio displays the position of an object (enterprise, product, and so on) in a four-field matrix. The position of the object is defined using two dimensions. Portfolios are used mainly in enterprise and product comparisons. For example, a portfolio can be sorted like the products of an enterprise by their dimensions economics and strategic significance.

Data provider
You build the underlying table for a portfolio as follows:

The first data column contains the values to be entered on the X axis.

Enterprise Reporting, Query, and Analysis

196

Core Development Tasks Developing User Interfaces


March 2006

The second data column contains the values to be entered on the Y axis. The third data column is relevant for the bubble size. You can add further pairs of data columns to the table. The first data column of a pair always contains the Y values and the second data column the bubble size.

The X value of a data point is always defined from the first data column. The Y value of a data point is defined from the second, fourth, ... data column, depending on the data column to which the data point belongs. The X and Y values together give you the center of the bubble.
Product Group Accessories Bag & Outdo or Off ice Net Sales 2,158,051.18 1,931,710.05 1,843,494.99 Invoiced Quantity 820,857,00 4 153,849,43 1 534,755,36 6 Sales/Quantity 2.63 12.56 3.45

X values
Chart
800000000 Invoiced Quantity in Pieces

Y values

Bubble size

600000000 400000000

200000000

0 1600000 1800000 2000000 2200000 2400000 Net Sales in EUR


Accessories Bags & Outdoor Off ice

Special features
You can change the form of the markers for a bubble or hexagon by choosing Data Series Format Default Data Series Area Properties MarkerShape. The field MarkerSize has no function for this chart type. You can change the marker size as follows:

If Portfolio Size in Percent is not checked, the pixel size is calculated from the minimum and maximum values in pixels. If Portfolio Size in Percent is checked, the pixel value is calculated as a percentage of the hypotenuse of the x and y axes in the drawing area. Entries in the properties Portfolio Minimum Value and Maximum Value. Checking the property Portfolio Minimum Automatic or Maximum Automatic.

Enterprise Reporting, Query, and Analysis

197

Core Development Tasks Developing User Interfaces

March 2006

If you are formatting a single portfolio with a fixed size, use automatic calculation of the value range and deactivate the property Portfolio Size in Percent. If you are formatting a portfolio whose size can change, use automatic calculation of the value range as well as the property Portfolio Size in Percent. If you want to display multiple portfolios on a Web site with comparable scaling, enter a minimum and maximum value (for all portfolios). The graphic below clarifies the link between the value range and the marker size.
Maxi mum value e.g. 50,000

Marker size in pixels

Automatic upper value e.g.. 37,600

Maxi mum size, e.g. 100 pixels (abs olute) or 10 % (relati ve)

Value range

Values are conv erted to pixels

Automatic calculation of value range User-defined value range of 0 to 50,000 Minimum size, e.g. 10 pi xels (absolute) or 1% (relati ve)

Automatic lower val ue e.g. - 16,800

Minimum value, e.g. 0

Size of hypotenus e of X and Y axes

You can also use the property Portfolio Minimum Value to ensure that small markers remain visible.

4.1.1.4.2.2.4

Class 4 Chart Types

The Gantt chart and milestone trend analysis (MTA) chart types belong to class 4.

Gantt Chart
In a Gantt chart, the time progression of projects and their substeps can be illustrated. The substeps (categories) are displayed on the Y axis and the X axis is the time axis. In addition to displaying the start and end times, you can also display milestones. The Gantt chart enables the display of sequential and parallel advancement of a project.

Data Provider
You build the underlying table for a Gantt chart as follows:

Enterprise Reporting, Query, and Analysis

198

Core Development Tasks Developing User Interfaces


March 2006

The table must contain at least two data columns. The first column determines the start time; the second column determines the end time. You can add further pairs of data columns to the table. The table can consist of 2, 4, 6, and so on, data columns.
Start Date 03.01.2005 03.10.2005 03.15.2005 03.20.2005 03.28.2005 03.28.2005 End Date 03.10.2005 03.15.2005 03.20.2005 03.30.2005 04.05.2005 04.05.2005

Work Packages Evaluation Definition Specification Development Testing Overall Result

Chart

Project Flow

Start / Startdatum / End Date Enddatum

Evaluation

Definition

Specification

Development

Testing

Milestone Trend Analysis (MTA)


The milestone trend analysis enables you to monitor the contents of the project progression. You define the milestones and can schedule appointments and display any deviations. The Y axis is defined as the target time axis with the scheduled milestones; the X axis represents the actual time axis. The appointments for project meetings (reporting times) are recorded on this X axis. In these project meetings, for each milestone, each of the owners is asked about the upcoming fulfillment date. The fulfillment dates named are entered into the diagram using the meeting time. A forecast curve is produced for each milestone:

If target and actual times coincide, the milestone for the scheduled time has been reached and the forecast curve runs horizontally.

Enterprise Reporting, Query, and Analysis

199

Core Development Tasks Developing User Interfaces


March 2006

If the milestone is moved during the project meetings to a later time, the forecast curve rises. If the milestone is moved during the project meetings to an earlier time, the forecast curve drops.

Data Provider
You build the underlying table for a milestone trend analysis as follows:

The table must contain at least two data columns. The first column determines the reporting time; the second column determines the milestone. You can add further pairs of data columns to the table. The table can consist of 2, 4, 6, and so on, data columns.

Reporting Trend Milestone Milestone 1 Milestone 2 Milestone 3

Reporting 1
Reporting Milestone

Reporting 2
Reporting Milestone

Reporting 3
Reporting Milestone

Reporting 4
Reporting Milestone

03.02.2005 15.02.2005 05.02.2005 28.02.2005 10.02.2005 20.03.2005

08.02.2005 17.02.2005 15.02.2005 02.03.2005 20.02.2005 25.02.2005

11.02.2005 15.02.2005 20.02.2005 02.03.2005 28.02.2005 20.03.2005

15.02.2005 15.02.2005 25.02.2005 04.03.2005 05.03.2005 18.03.2005

Enterprise Reporting, Query, and Analysis

200

Core Development Tasks Developing User Interfaces

March 2006

Chart

Milestone 1

Milestone 2

Milestone 3

Special Features
The milestone trend analysis can also be created without categories, which means it only contains data series.

4.1.1.4.2.3

Formatting a Chart with the Wizard

Use
The wizard helps you to format a chart in only a few steps. You choose a chart type, specify a title, determine the number of data series and categories, and define the properties of individual series and of the axes. You can usually format the chart completely in the wizard. If you want to make further detailed changes to the chart, you can make them in the Chart Designer (see Determining Chart Properties [Page 204]).

Enterprise Reporting, Query, and Analysis

201

Core Development Tasks Developing User Interfaces

March 2006

Prerequisites
You have added a Web item of the type chart in the Web Application Designer and opened the Chart Designer by double-clicking on the Web item. If you used the wizard last time you used the Chart Designer, it is opened with the wizard now.

Procedure

Choose Wizard.

The viewing window changes in structure: To the left are the individual wizard steps with short descriptions and properties that you can change for each step. The chart preview is displayed to the right. The chart preview changes as you make your selections or entries for the properties. This gives you an impression of how your chart will eventually appear. You can use the Continue and Back pushbuttons in the wizard to navigate to the next step or to return to the previous step.

Step 1: Select chart type

Choose the required chart type.

You display variations (for example, a 3D chart) on a chart type by clicking on the plus sign in front of the chart type in question and expanding the structure tree. When choosing a chart type, make sure that it is suitable for your data source (see also Chart Types [Page 178]).

Step 2: Define texts and random data


You can set the following in the upper left window:

Define a title and subtitle for the chart Determine labels for the axes Assign a unit to the axes

Enter the following into the lower left window:


the number of series and categories that occur in your data source The Minimum Value and Maximum Value that correspond to your query

The chart preview will then correspond to the number of data series and categories of the final chart, and you will be able to judge its appearance more easily. The values are determined using random data.
...

Specify the maximum Number of Data Series and Number of Categories to be displayed in your chart, even if the data source contains more series or categories. The same is true for Minimum Value and Maximum Value.

Enterprise Reporting, Query, and Analysis

202

Core Development Tasks Developing User Interfaces

March 2006

Step 3: Value of properties


In this step of the wizard you can determine the specific properties of all rows in your chart or you define each row individually (for all pie charts and polar charts: categories). For example, you can change the chart type for just one series or label only one series. 1. In the upper left window, select All Series or choose an individual series. 2. Change the property for the selected series in the lower area of the window. You can usually change the color and border color here, as well as the labels of a series. The properties available depend on the chart type.

Step 4: Element properties


In this step of the wizard you can set specific properties that affect the background, the drawing area or the legend. Sie knnen darber hinaus die Schrift des Chart-Titels und ChartUntertitels anpassen.
...

...

For example, you can set a color ramp in the background: a. Select Background in the upper left window. b. Enter a Color and a Secondary Color. Determine a color ramp in the Gradient field.

You can set the same properties for the drawing area and you can also set a transparency by entering a value between 0 and 100 into the Transparency field. If you select Title or Subtitle you can determine the font, its orientation, size, color and style. In order to change the properties of the legend, select the legend. Now, in the lower left window, you can set whether the legend should be visible (Visibility), whether you only want to see the legend (Only Legend) and where the legend should be positioned (for example Orientation Left).

Step 5: Axis properties


You can format the axes of your chart in this step. The wizard omits this step for chart types without a vertical axis, such as a pie chart.
...

1. Select the required axis in the upper left window. 2. Choose the corresponding properties in the lower left-hand area.

If more axes are offered for formatting than are visible in the chart preview, the additional axes do not have the property Visibility. Check the Visibility field beneath the axis in question to make it visible and then format it as required.

Step 6: Completion
You close the wizard in the last step. You have the following options:

Choose Chart Designer to continue working on the chart. Choose Complete to save the formatting settings for the chart and return to the Web Application Designer.

Enterprise Reporting, Query, and Analysis

203

Core Development Tasks Developing User Interfaces

March 2006

Result
Your settings are now saved with the Web item in the Web Application Designer. You can edit the chart and change your settings whenever you want. If you last edited the chart using the wizard, the wizard will also be opened when you next edit it.

4.1.1.4.2.4

Defining Chart Properties

Use
You can fine tune the formatting of a chart. It does not matter whether you have already modified the chart using the wizard, or whether it still has the default settings. A chart consists of individual elements whose properties you can change independently of one another. The element properties are layout settings such as color, font, and line settings, as well as logical changes in the chart such as setting the chart type (also for individual data series). All elements that you can change for the current chart appear in the list of elements in the right-hand window of the Chart Designer. Elements that are not supported for the current chart type are not displayed.

Elements that are in the list of elements but not in the chart preview do not have a Visibility property. For example, this is the default case for the second value axis of bar and column charts. The most important elements and their properties appear in the table below. Chart Elements and Their Properties Chart Element Global settings Layout Background Plot area Properties Chart type and dimensions, color settings for transparency, screen and data series, font, data gaps. Position of chart in the plot area, position of title, subtitle and legend. Color and pattern of background and border (that is, all the chart apart from the plot area). Color and pattern of the plot area, the area on which the chart is drawn (without the axis label), and the frame around the plot area. Position and layout of the chart type-specific properties. Scaling, labeling, and layout of the category axis (only for charts with a category axis). Scaling, labeling, and layout of the value axis (only for charts with relevant axes). Text, position, and appearance of the title and subtitle of a chart. Position and appearance of the legend.

Bars, columns, and so on (depends on chart type) Category axis Value axes 1 and 2 Title and subtitle Legend

Enterprise Reporting, Query, and Analysis

204

Core Development Tasks Developing User Interfaces

March 2006

Series

Layout settings for a data series. For charts with multiple data series, different chart types can be assigned to the various data series here. Layout settings for individual data points. Selection of texture images for formatting areas. For changes to label texts and creating trend lines.

Points Textures Data series and categories

Procedure
You format an element of a chart by:

Selecting the element Defining the properties of the element

Selecting the Element


You have to select the element of a chart before you can format it. You can select the element in the following ways:

In the chart preview, click on the required element. This element is then also selected in the list of properties. Select the required element directly in the list of properties. The element is also selected in the chart preview, so that you can check it is the right one. We recommend this procedure for complex charts with many small parts, since it can then be difficult to click on the required element in the preview area.

Defining Element Properties


You can define one or more properties for each element. There are the following basic types of property:

Either/or properties that you select by clicking in the field, for example, Visibility. Properties with a predefined selection list that you select by selecting the required entry from the list, for example, Border Properties Style Solid. Numeric values of properties that you enter directly or increase/decrease using the arrow buttons next to the field, for example, Width 2. Color values that you can select from the palette or enter as an RGB value (for example, RGB(207,0,39)), in HTML format (for example, #CF0027), or using the standard name (see Assigning Colors [Page 208]).

For more information on formatting important elements, see: Changing the Size and Position of Chart Elements [Page 207] Assigning Colors [Page 208] Formatting Areas [Page 211] Using Textures [Page 212] Formatting Lines [Page 213]

Enterprise Reporting, Query, and Analysis

205

Core Development Tasks Developing User Interfaces Formatting Axes and Gridlines [Page 213] Formatting Text [Page 216] Formatting Data Series and Data Points [Page 217] Formatting 3D Effects [Page 222]

March 2006

Showing and Hiding Elements


You can show and hide single elements using the Visibility property.
... ...

1. Select the required element. 2. Check the Visibility property to show the element. 3. Remove the check mark from the Visibility property to hide the element.

4.1.1.4.2.4.1

Changing the Chart Type

Use
A chart is normally displayed as a bar chart. You can change the chart type [Page 178] for the entire chart. You can also combine multiple chart types in the same chart by changing the depiction of a single data series. For example you can display the planned turnover of several subsidiaries and show the average current turnover as a line.

Changing the Chart Type of an Entire Chart


...

1. Choose Global Settings from the list of elements. 2. Choose the required type from the field Chart Type. 3. The chart preview changes according to your entry. You can also change the chart type in the following way:
...

1. Use the secondary mouse button to click on the chart. 2. Choose Change Chart Type from the context menu. 3. Select the required chart type in the overview screen, and then choose Change.

When choosing a chart type, make sure that it is suitable for your data source. The chart preview displays an example diagram with no real data.

Changing the Chart Type of a Single Data Series


...

1. Choose Series from the list of elements and expand the node so that you can see the required data series. 2. In the property field Chart Type choose the required chart type for this single data series.

Enterprise Reporting, Query, and Analysis

206

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.2.4.2

Changing the Size and Position of Chart Elements

Use
The Chart Designer optimally places all elements of a chart in the chart area, taking all element properties that influence size and position into account. The position and size of elements are influenced by the following factors:

Font size, and size and quantity of text for elements such as axis labels, titles, and legends. Space between individual elements. Automatic positioning of elements. This affects titles, subtitles, and legends (for example, Alignment Top). Manual positioning of elements. This affects drawing areas, titles, subtitles, and legends.

Defining Offsets Between Elements


You can define the minimum offset around an element. This can be done for axis labels, legends, and for the entire drawing area. The Chart Designer takes the defined offset into account when automatically positioning all elements.
...

1. Select the required element. 2. Enter the required value in pixels into the property Offset.

Positioning Elements Manually


You define the absolute size of the entire chart (for example, 300x300 points) in your layout in the Web Application Designer. You define the position of certain elements in relation to the chart size in the Chart Designer. You therefore define the position not using absolute measurements such as pixels or centimeters, but with percentage values. You always enter four percentage values for positioning (for top, bottom, right, and left). These values form an area that is reserved for the element in question.

You always calculate the percentage values for the positioning of an element from the left and top edges. The reserved area for the element in the example below begins at 25% and ends at 50% distance from the left edge. It therefore covers 25% of the horizontal chart area. The top edge of the element begins at 25% and the bottom edge ends at 37.5%. This means that the element has a height of 12.5% of the entire chart area.

Enterprise Reporting, Query, and Analysis

207

Core Development Tasks Developing User Interfaces

March 2006

Top: 25% Left: 25%

Bottom: 37,5%

Element
Right: 50%

Chart area
...

1. Choose Layout from the list of elements and then choose the required element. 2. Deselect the field Automatic. 3. Enter the required percentage values into the fields Top, Left, Bottom, and Right. The element is moved to the required position as you make your entries. If the element is smaller than the area that you reserve for it, it is moved to the center of the reserved area.

If you are not happy with the manual positioning, you can always check the field Automatic again, and have the Chart Designer select the best positioning for you. The property Automatic is valid for all elements within the element group Layout.

If you position the elements so that they overlap, they may hide one another. The sequence of elements from background to foreground is as follows: Drawing area, title, subtitle, legend.

4.1.1.4.2.4.3

Assigning Colors

Use
You can assign colors to text, lines, and areas. The Chart Designer provides you with many opportunities to select colors or use custom colors. You can:

Select colors from a color spectrum. Select colors from a palette of predefined colors. Enter the color as an RGB value. The RGB color definition mixes a color from the colors red, green, and blue, and uses the color values 0 to 255. For example, white has the RGB value 255,255,255, black 0,0,0, and red 255,0,0. Gray values have identical color values for red, green, and blue.

Enterprise Reporting, Query, and Analysis

208

Core Development Tasks Developing User Interfaces

March 2006

Enter the color as a hexadecimal value with a leading number sign #. This type of color entry is mainly used in HTML. In principle it functions like the RGB notation, but it uses hexadecimal values instead of the numeric values zero to 255. Therefore black is #000000, white is #FFFFFF and red is #FF0000. You can use this color notation if you are already using color specifications in your intranet and want to use them in your chart (or the other way around). Enter standardized color names for the 16 colors of the VGA standard palette and another 216 colors of the Netscape palette. The names are in English and are, for example, black (#000000), white (#FFFFFF) and red (#FF0000) in the VGA palette or deeppink (#FF1493) or palegreen (#98FB98) in the Netscape palette. Assigning values from the current color palette using direct entry. You can directly assign the 64 colors of the color palette by entering the values between @1 - @64. The numbers follow the entries in the palette row by row, for example @1 - @8 correspond to the colors from row 1 of the color palette and @9 - @16 correspond to the colors from row 2. Upon a changeover of palettes, the respective RGB from the assigned palette entry is used.

Entering Color Values Directly


... ...

1. Select the element whose color you want to change and scroll to the property Color or Secondary Color. 2. If you know the exact color value you require, enter it directly in this field. Note the following conventions: For RGB values, for example, RGB(204,255,204) For hexadecimal values, for example, #CCFFCC

Errors in the entry (such as a missing comma or only 5 characters after the number sign (#)) can lead to unwanted colors. Standardized color names, for example peachpuff Assigning a value from the current color palette, for example, @34

Selecting Color Values from the Palette or Spectrum


... ...

1. Select the element whose color you want to change and scroll to the property Color or Secondary Color. 2. Click on the arrow to the right of the field to open the color menu. The upper area of the color menu contains a spectrum of all the colors of the rainbow, and the lower part contains a palette of 64 predefined colors. 3. To select a color from the color spectrum, position the cursor over the required color and click, or use the arrow button to move in the required direction. A small circle at the end of the cursor marks the selected area. The status bar at the bottom of the color menu shows you the corresponding RGB and hexadecimal values. 4. To select a color from the color palette, click on the required color field.

Enterprise Reporting, Query, and Analysis

209

Core Development Tasks Developing User Interfaces The color is then assigned to the selected element.

March 2006

Varying Color Values Using Transparency


You can change the color of an area using the property Transparency. The transparency value specifies how solid a color is, or how much the background shows through. This allows you to create additional effects for the color of an area.
...

1. Select the required area and scroll to the Transparency property. 2. Specify the percentage value for transparency. Zero percent means no transparency, and 100% means completely transparent (background shows through).

Removing Colors
You can remove a color if, for example, an element should have no border or if the background should be transparent.
... ...

1. Select the required element and scroll to a color property. 2. You can remove the color by: either deleting the color value from the property field or by selecting the option None from the first line of the color menu.

Automatic Color Assignment


If you have no color preference, you can have the Chart Designer assign colors automatically.
...

1. Select the required element and scroll to a color property. 2. Select the option Automatic from the first line of the color menu.

The Chart Designer only takes properties with the value Automatic into account when assigning colors automatically. Manual color assignments are retained.

Making Global Color Settings


The Chart Designer has functions for changing the colors of your chart quickly, without changing each individual color setting of an element.

... ...

Color Palette: Different color sets that complement each other Color Order: Order of colors in the color palette for all data series of a chart

1. Choose the Global Settings property. 2. Choose the required entry in the Color Palette property. 3. Choose the required entry in the Color Order property.

Setting and Assigning Transparent Color


In your chart, you can define areas that are to be transparent in the Web application (the background of the Web application will show through). You choose a color that otherwise does not appear in your chart.
...

1. Choose Global Settings Transparent Color.

Enterprise Reporting, Query, and Analysis

210

Core Development Tasks Developing User Interfaces 2. Choose a color to be the transparent color.

March 2006

Choose a strong color as the transparent color so that a transparent area of your chart is immediately obvious. 3. Assign the chosen color to all areas that are to be transparent.

Copying Color Values to the Clipboard


You can copy color values (RGB and hexadecimal) to the Windows clipboard so that you can insert them into another program.
...

1. In the color menu, position the cursor on the required color. 2. Click on the color using the secondary mouse button. 3. Choose one of the following options from the context menu: Copies RGB Code to Clipboard Copies HTML Code to Clipboard

The color values are now on the Windows clipboard and you can insert them into other programs. The RGB value is stored as three characters separated by commas and the hexadecimal or HTML code is stored with the number sign #.

4.1.1.4.2.4.4

Formatting Areas

Use
You can format the areas of elements either by changing the color or by assigning a pattern, a gradient or a texture. You can change the following areas:

Background of the chart and the drawing area Background of the title, subtitle or legend Background of the axis label and title

Procedure
... ...

1. Select the element in the chart or choose one from the list of elements. 2. In the property area, choose Area properties and define the required area there. You can find settings for the background of the entire chart in the list of elements directly under Background. See also: Assigning Colors [Page 208] Using Textures [Page 212] When formatting the areas, keep the following in mind:

The secondary color is the dominating color for patterns.

When you select a pattern or a gradient, you should define both the color and the secondary color. By default the secondary color is black (RGB 0,0,0).

Enterprise Reporting, Query, and Analysis

211

Core Development Tasks Developing User Interfaces


March 2006

Gradients begin with the primary color and change to the secondary color. You can choose either the pattern or the gradient or the texture. The order of the items in this list reflect the hierarchy: a texture has priority over a gradient, and a gradient over a pattern and a simple color. To remove area formatting, select the property none.

You can simplify the different colors in a row of data, for example in a pie chart with a color by changing the property Data series format Area properties Color from Automatic to a fixed color value.

4.1.1.4.2.4.5

Using Textures

Use
A texture is an image file that you can use to fill an area. The texture consists mainly of a pattern that can be placed next to and on top of itself repeatedly without the interface being visible. You can use any image file in the format BMP, JPEG, PNG, or GIF as a texture.

Procedure
Adding a New Texture
... ...

1. Use the secondary mouse button to click on Textures in the list of elements. 2. Choose Add Texture from the context menu. 3. Browse to the required file in the file directory and click Open. The image file is now stored as a new texture and can be assigned to an area.

Formatting Areas with a Texture


... ...

1. Select the required area. 2. Click on the arrow to the right of the Structure field in the Area Properties property. 3. Select the required texture from the preview.

If you know the name of the texture you require, you can enter it directly into the field. 4. Choose the required entry in the Texture Mode property: Tile: The texture is placed next to and on top of itself until the entire area is filled. Stretche The texture is stretched to fill the entire area. Current Size: The texture remains in its original size and is aligned to the top left-hand corner.

Enterprise Reporting, Query, and Analysis

212

Core Development Tasks Developing User Interfaces

March 2006

Center: The texture remains in its original size and is aligned to the center of the drawing area. Fit: The texture is increased in size proportionally so that it is aligned to the left and fills the entire height of the area. Center Fit: The texture is increased in size proportionally and placed in the center of the area.

4.1.1.4.2.4.6

Formatting Lines

Use
Lines outline colored areas (for instance, as edges of columns in a column chart) or stand alone as pointers in a speedometer chart. You can change the following things for lines:

Color Format (for example, solid or dotted) Width of the line in pixels

For lines that display data series in a chart, you can also define the line type (whether the line between data points is straight, curved, or incremented).

Changing Line Appearance


...

1. Select the element in which you want to format a line. 2. Choose the required property (for example, Minor Ticks in a bar chart). 3. Change the line as required. The chart preview changes according to your entries. See also: Assigning Colors [Page 208].

Changing the Line Type


You can change the line type of a chart that has at least one data series of the type profile or line.
...

1. Select the property Data Series Format <name of data series>. 2. Choose the required entry from the Line Type list. The chart preview changes according to your entries.

4.1.1.4.2.4.7

ormatting Axes and Gridlines

Use
Most of the chart types have two axes: A value axis and a category axis. With most chart types, the values of a data series are plotted along the value axis and the categories along

Enterprise Reporting, Query, and Analysis

213

Core Development Tasks Developing User Interfaces

March 2006

the category axis. Normally the value axis corresponds to the Y axis and the category axis to the X axis. Three-dimensional chart types also have a third (Z) axis. Gridlines (or orientation lines) are vertical and horizontal lines that divide up the drawing area. They improve the readability of the individual chart values.

The list of elements tells you which axes are available in the chart. It is possible that two value axes are displayed there although only one is visible in the chart preview. This occurs if the second axis lacks the property Visibility. Axes consist of the following elements:

Lines: Axis labels Gridlines: Axis scale Title: Title of axis (normally left blank) Unit: Additional text field such as an explanation of the units in the chart (usually left blank)

You can also make scaling, boundary level, and data sequence specifications in the properties of axes. The properties that you can define depend on the chart type you selected.

See also:
Assigning Colors [Page 208] Formatting Lines [Page 213]

Adding a Secondary Axis


You can add an additional value axis to a chart with value and category axes. You can place individual data series of the chart on the second value axis. This can be useful if the value ranges of two data series are very different. If this is the case, you can set a different scaling factor for the secondary axis in order to balance the chart. If the list of elements contains the entry ValueAxis2, the selected chart type allows you to add a secondary axis.
... ...

1. Select the required value axis from the list of elements, for example, ValueAxis2. 2. Select the Visibility field in order to display the axis in the chart. 3. Choose the entry Secondary from the Position field. 4. Then continue with formatting the axis as required. See also Plotting a Data Series to a Secondary Axis [Page 218]

Changing the Scaling of an Axis


The scaling factor of an axis influences the distribution of the data series within a value scale. You can choose between the following scaling types:

Linear Logarithmic

Enterprise Reporting, Query, and Analysis

214

Core Development Tasks Developing User Interfaces


March 2006

Root Square

You can change the scaling factor for value axes, but not for category axes. It does not matter whether the X axis or the Y axis is the value axis. In the case of category axes in bar and column diagrams, you can select the property Variable Category Width in order to display the categories in different widths.
... ...

1. Click on the required axis in the chart preview or select the corresponding entry in the list of elements. 2. Enter the minimum and maximum value in the appropriate fields.

When entering value ranges, make sure that the values you enter tally with the values in your data sources. Values from data sources that are not in the range entered are not displayed in the chart later on. We recommend that you select the fields Automatic Minimum and Automatic Maximum. 3. Choose the required entry in the Scaling Type property.

Changing the Position and Number of Tick Marks


For value axes, you can define how many major and minor tick marks are displayed on the scale.

The procedure for major tick marks and minor tick marks is identical, and is explained in the example using major tick marks.
...

1. Click on the required axis in the chart preview or select the corresponding entry in the list of elements. 2. In the property Gridline Major Tick Major Tick Gap, enter an integer greater than zero, for example, 2. This specifies the interval at which major lines are displayed. You can also change the appearance of the tick marks in this element. This is also the case for category axes (see also Formatting Lines [Page 213]).

Changing the Number and Position of Category Labels


You can define on the category axes whether all category labels are to be displayed, or if not, which labels you want to exclude. This can save space, and is possible if the sequence of categories is obvious, for example, the names of months. You can also change the position of category labels.
...

1. Click on the category axis in the chart preview or select the corresponding entry in the list of elements. 2. In the property Category Axis Axis Category Gap, enter a value larger than zero to define how many categories should be skipped between each displayed category. 3. Select the property Category Axis Centered if you want the category labels to be centered along the major tick marks.

Enterprise Reporting, Query, and Analysis

215

Core Development Tasks Developing User Interfaces

March 2006

4. Choose the option Secondary in the property Category Axis Position to place the category labels on the opposite side of the chart. If the category axis is normally beneath the drawing area, it is now displayed above it. If it is normally to the left, it is now displayed to the right.

Changing the Point of Intersection of Axes


You can change the point where the axes cross in a chart. You can also define whether the point of intersection should always lie between categories or on a category.
...

1. Click on the category axis in the chart preview or select the corresponding entry in the list of elements. 2. Select the property Category Axis Axis Axis at Zero Line.

Adding and Removing Axis Titles and Units


You can add a title to an axis. You can also enter the units to be displayed on the axes (for example, mill. US $). If you do not need an axis title or unit, you can remove these elements.
... ...

1. In the list of elements, select the required axis and expand the display by clicking on the plus sign in front of the name of the axis. 2. Check the Visibility field to achieve the following: in the Title property to display the title of the axis In the Unit property to display a text field for the unit.

3. Enter the text for the property of the axis or for the unit in the property Title. 4. Then continue with formatting the elements as required.

4.1.1.4.2.4.8

Formatting Texts

Use
The chart title and subtitle, the axis title, axis label and the legend belong to the texts that can occur in a chart. You can format the texts by changing the following properties:

Font and font size Font color Font style, e.g. italic Position of the text field in the chart Alignment of the text

Procedure
Defining Global Text Settings
You can set the font for all the texts of a chart at one time.
... ...

Enterprise Reporting, Query, and Analysis

216

Core Development Tasks Developing User Interfaces 1. Choose the Global settings Font property. 2. Select the required font from the list of available fonts.

March 2006

The font that is set is valid for all the text elements that do not have their own text formatting, i.e. for which the property Font is set to Automatic.

Defining Local Text Settings


You can manually format text elements whose appearance should differ from that defined by the automatic and global settings.
... ...

1. Select the required text element. 2. Select the required font, font size and color. 3. Select a format, for example Bold. 4. Define the horizontal position of the text field. 5. Define the vertical position, that is, the alignment of the text within the text field. This is of interest especially when the text field is larger than the space required and it has a visible background. 6. Define the direction of the text, for example diagonal or from top to bottom.

4.1.1.4.2.4.9

ormatting Data Series and Data Points

Definition
A data series consists of related data points. Each data series is uniquely identified by its own color or pattern. In a pie chart, only one data series is displayed. In other chart types you can display more than one data series. A data point is a single element of a data series. For example, a data point is displayed by a slice of a pie, a point or a bar.

Use
You have a number of formatting options for data series and data points. Note that the preview window only shows sample data. You only see the actual data once it has been published. Change the preview window settings so that the number of data series and data points corresponds to the data provider. You can then meaningfully link a data series format to a data series. For chart types of class 1, the uppermost data series in the legend corresponds to the first table row, the next data series corresponds to the second table row, and so on. You can edit data series as follows: Reversing the Order of Data [Page 218] Plotting a Data Series on a Secondary Axis [Page 218] Adding Data Labels [Page 218] Adding, Changing and Removing trend lines [Page 220] Rotating Charts [Page 221]

Enterprise Reporting, Query, and Analysis

217

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.2.4.9.1

Reversing the Order of Data

Use
You can display the order of the data series or categories in reverse, thereby varying the impact of the chart. In a column chart that normally displays columns from bottom to top, columns are now displayed from top to bottom. The effect depends on the chosen chart type.

Procedure
... ...

1. Select one of the value axes or the category axis in the list of properties. 2. In the property Order, choose Ascending for ascending sorting or Descending for descending sorting. The chart preview changes according to your entries.

4.1.1.4.2.4.9.2

Plotting Data Series on a Secondary Axis

Use
If the value ranges of data series vary considerably or if mixed data types are used, you can plot one or more data series to a secondary axis (Y axis). For example, you can plot the number of houses sold on the left Y axis (primary axis) and the average price on the right Y axis (secondary axis).

Prerequisites
You have a chart with two value axes and you want to plot a data series to the second value axis, the secondary axis (see also Formatting Axes and Grid Lines [Page 213]). If a value axis is not visible, select the property Visibility.

Procedure
...

1. Select the property Data series format and open the data series you want to edit, for example Dataseries1. 2. Depending on whether the horizontal axis or the vertical axis in your diagram is the value axis, select the value Secondary in the Horizontal Axis or Vertical Axis field.

4.1.1.4.2.4.9.3

Adding Data Labels

Use
You can display data labels in a chart as required and use them, for example, to display the absolute value for all data points.

Enterprise Reporting, Query, and Analysis

218

Core Development Tasks Developing User Interfaces You can add data labels for the following:

March 2006

All data series A single data series A single data point

Procedure
Adding data labels to a single data series
...

1. Select the property Series Series 1 Show Labels, whereby Series 1 stands for the series for which you want to add the label. 2. Enter the content to be displayed on the label into the Format field. There are many possibilities that you can implement here using simple syntax. The formal syntax for the data label is {free text}{indicator} {0} [,|.] {0} {free text}, whereby the first position specifies which value is specified, absolute or numeric percentage value or name of the field, the second position defines the number format, and the last position allows free text input for specifying the unit.

Label type {indicator}

$Label: Uses the text from the property Data Series Data Series 1 Label. $Abs: Uses the absolute value of the data point. $Percent: Uses the percentage share of the data point.
Number format
You enter the number format using zero and thousand separators or decimal points as required. Note the following:

Country-specific settings can influence the number format that is displayed. You can override the country-specific settings by using the separator $Sep.

Decimal places

0.00: The value is displayed to 2 decimal places.


If a value is 200 and the country setting is Germany, the format that is displayed is

200,00.
If a value is 200 and the country setting is England, the format that is displayed is

200.00.
The country-specific settings are not valid for the following syntax: If a value is 200 and the syntax is $Sep10.00, the result is 200.00. If a value is 200 and the syntax is $Sep20.00, the result is 200,00.

0.

The value is displayed without decimal places.

Thousand separators

0,

The value is displayed with thousand separators.

Enterprise Reporting, Query, and Analysis

219

Core Development Tasks Developing User Interfaces

March 2006

If a value is 2000 and the country setting is Germany, the format that is displayed is

2.000,00.
If a value is 2000 and the country setting is England, the format that is displayed is

2,000.00.
The country-specific settings are not valid for the following syntax: If a value is 2000 and the syntax is $Sep10.00, the result is 2,000.00. If a value is 2000 and the syntax is $Sep20.00, the result is 2.000,00.

Free text
You can enter free text before or after the value. Place the free text in inverted commas. Also, place a space in the inverted commas in order to create space between the free text and other text.

$Abs$Sep20,00" EUR" gives the label 1234.5689 EUR for a value


of 1,234.56 EUR.

The percentage share is $Percent0. % gives the label The percentage share is 25 %.

4.1.1.4.2.4.9.4

Adding, Changing, and Removing Trend Lines

Use
You can visualize the trend of a data series using a trend line for a number of chart types. You can also extend the trend line past the data series in the chart in order to forecast future values and derive past values. There are the following types of trend lines:

Linear: A linear trend line is an optimized straight line that is suitable for linear datasets. A dataset is linear if the pattern of data points resembles a line. A linear trend line normally displays a constant increase or decrease in values. Logarithmic: A logarithmic trend line is an optimized curve that is ideal if the rate of changes to the data first increases or decreases sharply and then stays nearly the same. A logarithmic trend line can use negative and/or positive values. Potential: A potential trend line is a curve. It should be used for datasets that compare measurements that increase with a certain rate (for example, the acceleration of a racing car in 1 second intervals). You cannot add a potential trend line if your data contains null or negative values. Exponential: An exponential trend line is a curve that is suitable for data values that increase or decrease with an increasing tendency. You cannot add an exponential trend line if your data contains null or negative values. Average: The average value as calculated from multiple values. If there is only a small amount of data, large deviations in either direction can have a significant influence on the average. Moving average: Smoothes out data fluctuations and can therefore show a trend or pattern more clearly. The moving average consists of a series of averages that are calculated from elements of the data series. A moving average uses a certain number

Enterprise Reporting, Query, and Analysis

220

Core Development Tasks Developing User Interfaces

March 2006

of data points, computes their mean value and then uses this mean value as a point in the curve.

Gaussian or normal distribution: A method of statistics that records the frequency with which values are distributed within a value range. Normal distribution is particularly useful with histograms.

You can change all the properties of a trend line that you can define when you add the trend line. You can delete a trend line that you do not need.

Prerequisites
The chart is a bar, area, line, portfolio, profile, point, or column diagram or a histogram.

Adding Trend Lines


...

1. In the property Data Series, select the data series that you want to add to the trend line (for example, Data Series 1). 2. Use the secondary mouse button to click on the data series. 3. In the context menu choose Add Analysis Function. A new element trend line is added beneath the node of the data series. 4. Select this element to display the properties. 5. Choose the mathematical calculation you require in the Function Type field. 6. Format the line as required (see Formatting Lines [Page 213]). 7. You can also color the areas above and below the trend line. To do so, choose the settings you require in the properties Upper Area and Lower Area (see Formatting Areas [Page 211]).

Removing Trend Lines


...

1. Use the secondary mouse button to click on the trend line you want to remove. 2. Choose Delete Analysis Function.

4.1.1.4.2.4.9.5

Rotating Charts

Use
You can change the angle of the first segment of a pie chart, doughnut, polar chart, radar chart or split pie chart, thus rotating the chart clockwise.

Procedure
...

1. Select the property [Chart type] Starting angle. 2. Enter the number of degrees by which you want to rotate the circle or rings clockwise. The first category at the top of the diagram begins with zero degrees, and the one at the bottom begins with 180 degrees.

Enterprise Reporting, Query, and Analysis

221

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.2.4.10

Formatting 3D Effects

Use
You can display almost all charts in three dimensions. There are different options depending on the chart type.

For column and bar charts, you can display the value ranges as rectangles, pyramids, cones, or cylinders. For pie and doughnut charts, you can set the angle of inclination and the height of the pie segments or rings.

Settings for Pyramid, Cone, or Cylinder Charts


... ...

1. Format the chart as a column or bar chart by choosing Global Settings Chart Type Columns or Bars or a variant thereof (see Changing the Chart Type [Page 206]). 2. Choose Global Settings Dimension PseudoThree or Three. 3. Choose the required entry under <chart type> BlockStyle.

Pyramid and cone value ranges are displayed as rectangles in 2D charts.

Setting the Angle of Inclination for Pie and Doughnut Charts


...

1. Format the chart as a pie or doughnut chart by choosing Global Settings Chart Type Pie or Doughnut or Split Pie (see Changing the Chart Type [Page 206]). 2. Choose Global Settings Dimension PseudoThree or Three. 3. Enter the required angle of inclination into the property <chart type> 3D Ration. 0 gives the most angled view, 10 gives a side view.

Setting the Height of Pie and Doughnut Charts


...

You set the height of a pie or doughnut chart by entering the required value in pixels into the property <chart type> 3D Thickness.

4.1.1.4.3

Command Wizard

Use
The command wizard is the main tool for creating commands from the Web Design API. You can use it to create commands easily by following a step-by-step procedure and include them in your Web template, enabling you to create highly individual Web applications with BI content. This means that manual entry of commands into Web templates. In the command wizard, all of the parameters available for each command are listed so that can also be set directly there. You also see a description for each command and each parameter directly in the command wizard.

Enterprise Reporting, Query, and Analysis

222

Core Development Tasks Developing User Interfaces

March 2006

Integration
The command wizard is part of the Web Application Designer and does not require any additional installation. You usually call the command wizard in the Web Application Designer from the Web item parameter Action (Command Triggered) (ACTION). If you insert a hyperlink into the Web template, you can also call the command wizard in the dialog that follows with the button next to the text entry field.

Features
You can create the following commands with the command wizard:

Commands for Data Providers [Page 223] Commands for Planning Applications [Page 249] Commands for Web Items [Page 252] Commands for Web Templates [Page 252] The command wizard provides you with two views for working with and creating commands: Favorite Commands In this section you will find all commands that you have marked as favorites.

All Commands Under this section you will find all of the commands available to you, sorted according to the various command groups.

For more information on working with the command wizard and how to proceed when creating commands, see Creating Commands with the Command Wizard [Page 254].

4.1.1.4.4

Commands for Data Providers

Use
Under the commands for data providers, you can find a summary of all commands you can use to change the status of a data provider. You can use these to set filter values, for example, or to change the navigational state of a data provider.

Prerequisites
To generate commands for data providers, you must first create a data provider for the Web template.

Features
The following commands are available:

Enterprise Reporting, Query, and Analysis

223

Core Development Tasks Developing User Interfaces

March 2006

Basic Data Provider Commands Calling the Data Provider Properties Dialog (OPEN_QUERY_PROP_DIALOG) Set Data Provider Parameters (SET_DATA_PROVIDER_PARAMETERS) Set Zero Value Display (SET_ZERO_PRESENTATION) Set Sign Presentation (SET_SIGN_PRESENTATION)

Data Provider Commands for Axes Set Universal Display Hierarchy (SET_AXIS_HIERARCHY) Set Position of Result Row (SET_RESULT_ALIGNMENT) Swap Axes (SWITCH_AXES) Remove Drilldown (REMOVE_DRILLDOWN) Drill Down a Characteristic (DRILL_DOWN) Exchange (EXCHANGE)

Data Provider Commands for Characteristics Set Attributes (SET_ATTRIBUTES) Set Presentation (SET_PRESENTATION) Display of Result Row (SET_RESULT_VISIBILITY) Open Characteristic Properties Dialog (OPEN_CHAR_PROP_DIALOG) Set Sorting (SET_SORTING)

Data Provider Commands for Conditions/Exceptions Set Condition (SET_CONDITION) Set Status of a Condition (SET_CONDITION_STATE) Set Exception (SET_EXCEPTION) Set Status of an Exception (SET_EXCEPTION_STATE) Calling the Conditions Dialog (OPEN_CONDITIONS_DIALOG) Calling the Exceptions Dialog (OPEN_EXCEPTIONS_DIALOG)

Data Provider Commands for Data Cells Set Data Cell Properties (SET_DATA_CELL_PROPERTIES) Set Local Calculations (SET_LIST_CALCULATION)

Data Provider Commands for Filter Values Remove all Filter Values (CLEAR_ALL_SELECTION_STATES) Calling up Input Help (OPEN_SELECTOR_DIALOG) Set Filter Value for a Characteristic (SET_SELECTION_STATE_SIMPLE)

Enterprise Reporting, Query, and Analysis

224

Core Development Tasks Developing User Interfaces

March 2006

Set Filter Values (SET_SELECTION_STATE) Remove Filter Values for a Characteristic (CLEAR_SELECTION_STATE) Remove Filter Values for a List of Characteristics (CLEAR_SELECTION_STATES)

Data Provider Commands for Hierarchies Expand/Collapse Hierarchy Nodes (SET_DRILL_STATE) Set Hierarchy (SET_HIERARCHY) Set Node Alignment (SET_NODE_ALIGNMENT)

Data Provider Commands for Open/Save Functionality Calling the Open Dialog (LOAD) Save (SAVE) Calling the Save Dialog (SAVE_AS) Save View (SAVE_VIEW)

Data Provider Commands for Documents Open Document Browser (OPEN_DIALOG_DLG_DOC_BROWSER) New Document (OPEN_DIALOG_DLG_NEW_DOCUMENT)

4.1.1.4.4.1

Basic Data Provider Commands

The following basic data provider commands are available: Calling the Data Provider Properties Dialog [Page 225] Set Data Provider Parameters [Page 226] Set Zero Value Display [Page 227] Set Sign Presentation [Page 228]

4.1.1.4.4.1.1

Calling the Data Provider Properties Dialog

Use
Using the Calling the Data Provider Properties Dialog command (OPEN_QUERY_PROP_DIALOG), you can call the dialog box for the data provider properties [External] in a Web application. You can use this dialog box to display the data provider properties and change them, as required.

Command Parameters
The following table outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command:

Enterprise Reporting, Query, and Analysis

225

Core Development Tasks Developing User Interfaces

March 2006

Parameter Data Provider (DATA_PROVIDER_REF)

Description You use this parameter to select the data provider, the properties of which are to be displayed and changed in the called dialog box.

Application Context
This command is particularly useful, for example, if you want to use a pushbutton to call the dialog box to change multiple data provider properties simultaneously rather than changing each property with an individual command.

4.1.1.4.4.1.2

Set Data Provider Parameters

Use
Using the Set Data Provider Parameters command (SET_DATA_PROVIDER_PARAMETERS), you can initialize a data provider.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Data Provided Affected (TARGET_DATA_PROVIDER_REF) System (SYSTEM) Description You use this parameter to specify which data provider the command is to relate to. You use this parameter to specify the system from which the query, query view, or InfoProvider is to originate. To do this, you specify the corresponding system alias from the portal system landscape directory. If you do not specify a value, the object is taken from the current system. You use this parameter to specify the object with which the data provider is to be initialized.

Initial State (INITIAL_STATE)

Query (QUERY) InfoProvider (INFOPROVIDER) Query View (VIEW)

Depending on the value you select for the Initial State parameter, you need to set the following additional parameters: Parameter Value: Query (QUERY) Parameter Query (QUERY) Description You select the relevant query using the open dialog.

Parameter Value: InfoProvider (INFOPROVIDER) Parameter Description

Enterprise Reporting, Query, and Analysis

226

Core Development Tasks Developing User Interfaces

March 2006

InfoProvider Parameter Value: Query View (VIEW) Parameter Query View (VIEW)

You select the relevant InfoProvider using the open dialog.

Description You select the relevant query view using the open dialog.

Application Context
This command is particularly useful if you want to change the data provider at the runtime of a Web application. In this way, for example, you can display a new query or load a previously saved navigational state for a data provider (query view): This option is used in the context of the BEx Web Analyzer [External]. The command is used intrinsically (and not visibly) in the New Analysis pushbutton.

4.1.1.4.4.1.3

Set Zero Value Display

Use
Using the Set Zero Value Display command (SET_ZERO_PRESENTATION), you can specify how zeros are to be displayed.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF).

Enterprise Reporting, Query, and Analysis

227

Core Development Tasks Developing User Interfaces

March 2006

Zero Presentation Format (ZERO_PRESENTATION)

You use this parameter to specify the format for the display of zero values:

Zero with Currency/Unit (NORMAL) If you choose this option, the zeros are displayed with the currency or unit, for example, EUR 0.00.

Zero without Currency/Unit (NO_CURRENCIES_UNITS) If you choose this option, the zeros are displayed without the currency or unit, for example, 0.00.

Zero as Space (EMPTY_STRING) If you choose this option, cells containing zero values are empty.

Custom Text (CUSTOM_STRING) If you choose this option, in the String to Represent Zero Value parameter (ZERO_PRESENTATION_STRING), you can enter the relevant value (character, digit, or letter), such as an asterisk (*). Cells that contain a zero value are filled with this value.

String to Represent Zero Value (ZERO_PRESENTATION_STRING)

You can enter the appropriate text in this parameter.

4.1.1.4.4.1.4

Set Sign Presentation

Use
Using the Set Sign Presentation command (SET_SIGN_ALIGNMENT), you can specify how the minus sign (-) is to be displayed.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF).

Enterprise Reporting, Query, and Analysis

228

Core Development Tasks Developing User Interfaces

March 2006

Sign Presentation (SIGN_PRESENTATION)

You use this parameter to specify how the minus sign (-) is to be displayed:

Before the Number (BEFORE_NUMBER) If you choose this option, the minus sign is displayed before the value, for example, -123,45.

After the Number (AFTER_NUMBER) If you choose this option, the minus sign is displayed after the value, for example, 123.45-.

In Parentheses (BRACKETS) If you choose this option, negative values are displayed in parentheses, for example, (123.45).

4.1.1.4.4.2

Data Provider Commands for Axes

The following data provider commands for axes are available: Set Universal Display Hierarchy [Page 229] Set Position of Result Row [Page 230] Swap Axes [Page 231] Remove Drill Down [Page 231] Drill Down a Characteristic [Page 232] Exchange [Page 233]

4.1.1.4.4.2.1

Set Universal Display Hierarchy

Use
Using the Set Universal Display Hierarchy command (SET_AXIS_HIERARCHY), you can specify whether and how the axis is to be displayed hierarchically.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Description

Enterprise Reporting, Query, and Analysis

229

Core Development Tasks Developing User Interfaces

March 2006

Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST)

Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF).

Axis (DRILL_AXIS)

You use this parameter to specify whether the command is to apply to the rows or columns:

Rows (ROWS) Columns (COLUMNS)

Active (ACTIVE)

You use this parameter to specify whether the hierarchical display is to be active. Using the text input dialog [Page 40] for the axis to be displayed hierarchically, you can enter a description. You use this parameter to specify the initial drill level for the hierarchy.

Description (DESCRIPTION)

Initial Drill Level (INITIAL_DRILL_LEVEL)

4.1.1.4.4.2.2

Set Position of Result Row

Use
Using the Set Position of Result Row command (SET_RESULT_ALIGNMENT), you can specify how result rows are to be displayed for the data provider.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF). Axis (DRILL_AXIS) You use this parameter to specify to which axis (rows or columns) the command is to be applied:

Rows (ROWS) Columns (COLUMNS)

Enterprise Reporting, Query, and Analysis

230

Core Development Tasks Developing User Interfaces

March 2006

Result Alignment (RESULT_ALIGNMENT)

You use this parameter to specify whether the result is to be displayed at the top or bottom of the rows, or to the left or right in the columns:

Top (TOP) Bottom (BOTTOM)

4.1.1.4.4.2.3

Swap Axes

Use
Using the Swap Axes command (SWAP_AXES), you can swap axes. All characteristics and structures in the rows are moved to the columns, and all characteristics and structures in the columns are moved to the rows.

Command Parameters
The following table outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF).

4.1.1.4.4.2.4

Remove Drilldown

Use
Using the Remove Drill Down command (REMOVE_DRILL_DOWN), you can remove a characteristic or structure from the drilldown of one or more data providers.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Description

Enterprise Reporting, Query, and Analysis

231

Core Development Tasks Developing User Interfaces

March 2006

Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST)

Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF).

Characteristic (CHARACTERISTIC)

You use this parameter and the input help [External] to select the characteristic that is to be removed from the drilldown for the data provider.

Application Context
Note that you can only remove a structure from the drilldown when the structure is filtered using exactly one structure element.

4.1.1.4.4.2.5

Drill Down a Characteristic

Use
Using the Drill Down a Characteristic command (DRILL_DOWN), you can change the position of a characteristic or structure within a data provider.

Command Parameters
The following table outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF). Characteristic (CHARACTERISTIC) You use this parameter to select the characteristic for which the position is to be changed. You use this parameter to specify where the selected characteristic is to be positioned:

Axis (AXIS)

Rows (ROWS) Columns (COLUMNS) Free Characteristics (FREE)

Enterprise Reporting, Query, and Analysis

232

Core Development Tasks Developing User Interfaces

March 2006

Position on the Axis (AXIS_POSITION)

You use this parameter to specify the exact position of the characteristic or structure to be displayed:

Parent Characteristic (CHARACTERISTIC) If you choose this option, the characteristic to be displayed is displayed after the selected characteristic. You select this characteristic using the Characteristic (CHARACTERISTIC) parameter and the input help [External].

Index (INDEX) If you choose this option, you can specify the absolute position of the characteristic in the drilldown. Counting starts with "1", that is, with the entry "1", the characteristic to be displayed is always displayed first.

4.1.1.4.4.2.6

Exchange

Use
Using the Exchange command (EXCHANGE), you can exchange characteristics or structures for one or more data providers.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF). First Characteristic (FIRST_CHARACTERISTIC) Second Characteristic (SECOND_CHARACTERISTIC) You specify the first characteristic to be exchanged. You specify the counterpart for the characteristic to be exchanged.

Application Context
Note that you can only remove a structure from the drilldown when the structure is filtered using exactly one structure element.

Enterprise Reporting, Query, and Analysis

233

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.4.3

Data Provider Commands for Characteristics

The following data provider commands for characteristics are available: Set Attributes [Page 234] Set Presentation [Page 235] Display of Result Row [Page 237] Open Characteristic Properties Dialog [Page 237] Set Sorting [Page 238]

4.1.1.4.4.3.1

Set Attributes

Use
Using the Set Attributes command (SET_ATTRIBUTES), you can specify which display attributes are to be displayed in which display area.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF). Characteristic (CHARACTERISTIC) You use this parameter and the input help [External] to select the characteristic, the display attribute of which you want to specify. You use this parameter to specify the display attribute.

Display Attribute (INFO_OBJECT_ATTRIBUTE)

Enterprise Reporting, Query, and Analysis

234

Core Development Tasks Developing User Interfaces

March 2006

Presentation Area (PRESENTATION_AREA)

You use this parameter to specify the display area of the display attribute.

All Areas (ALL) If you choose this option, the display attributes are displayed in the input help and in the results area.

Result Set (RESULT_SET) If you choose this option, the display attributes are displayed in the results area only.

Member Access (MEMBER_ACCESS) If you choose this option, the display attributes are displayed in the input help dialog box only.

List of Display Attributes (ATTRIBUTE_LIST)

Enter a list of all the display attributes that are to be displayed in the display area. You specify the individual attributes in the Display Attribute parameter (INFO_OBJECT_ATTRIBUTE).

4.1.1.4.4.3.2

Set Presentation

Use
Using the Set Presentation command (SET_PRESENTATION), you can specify how characteristics and display attributes are to be displayed.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF). Characteristic (CHARACTERISTIC) You use this parameter and the input help [External] to select the characteristic, the display of which you want to specify.

Enterprise Reporting, Query, and Analysis

235

Core Development Tasks Developing User Interfaces

March 2006

Display Attribute (INFO_OBJECT_ATTRIBUTE)

You use this parameter to specify the display attribute, for which you want to set the display. If you want to specify how the display attribute of a characteristic is displayed, you must also enter the relevant characteristic in the Characteristic parameter (CHARACTERISTIC). You use this parameter to specify the display area of the selected characteristic or display attribute:

Presentation Area (PRESENTATION_AREA)

All Areas (ALL) If you choose this option, the display attributes or characteristics are displayed in the input help and in the results area.

Result Set (RESULT_SET) If you choose this option, the display attributes or characteristics are displayed in the results area only.

Member Access (MEMBER_ACCESS) If you choose this option, the display attributes or characteristics are displayed in the input help only.

List of Member Presentations (MEMBER_PRESENTATION_LIST)

Enter a list of how each characteristic value is to be displayed. You specify the display for the individual values in the Member Presentation parameter (MEMBER_PRESENTATION).

TEXT (shortest text available) SHORT_TEXT (short text) MIDDLE_TEXT (medium-length text) LONG_TEXT (long text) DISPLAY_KEY_NOT_COMPOUND (not compounded characteristic value in external display) DISPLAY_KEY (compounded characteristic value in external display) KEY_COMP (characteristic value in internal display) KEY_NOT_COMPOUND (not compounded characteristic value in internal display)

Enterprise Reporting, Query, and Analysis

236

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.4.3.3

Display of Result Row

Use
Using the Display of Result Row command (SET_RESULT_VISIBILITY), you can set the visibility of the result rows.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF). Characteristic (CHARACTERISTIC) You use this parameter and the input help [External] to select the characteristic for which you want to specify the visibility of the result row. You use this parameter to specify how the result rows are to be displayed:

Result Visibility (RESULT_VISIBILITY)

Conditional (CONDITIONAL) If you choose this value, the result row is displayed when there are two or more single values, and any result rows that contain just one value are suppressed. In such cases, the value and the result are identical and the result row repeats the same value.

Visible (VISIBLE) If you choose this option, the result rows are always displayed.

Hidden (HIDDEN) If you choose this option, the result rows are always suppressed.

4.1.1.4.4.3.4

Open Characteristic Properties Dialog

Use
You use the Open Characteristic Properties Dialog command (OPEN_CHAR_PROP_DIALOG) to call the characteristic properties dialog [External] in a Web application. You use this dialog to display and change the properties for a characteristic.

Enterprise Reporting, Query, and Analysis

237

Core Development Tasks Developing User Interfaces

March 2006

Command Parameters
The following table outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Data Provider (DATA_PROVIDER_REF) Description You use this parameter to specify the data provider that contains the characteristic to be selected. You use this parameter and the input help dialog [External] to select the characteristic whose property is to be displayed or changed.

Characteristic (CHARACTERISTIC)

4.1.1.4.4.3.5

Set Sorting

Use
Using the Set Sorting command (SET_SORTING), you can specify whether the data is to be sorted in ascending or descending order. This enables you to sort by characteristic texts, keys, or values.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Data Provider (TARGET_DATA_PROVIDER_REF_LIST) Description Enter a list of all data providers the command applies to. You specify the individual data providers in the Data Provided Affected parameter (TARGET_DATA_PROVIDER_REF). Characteristic (CHARACTERISTIC) You use this parameter and the input help dialog [External] to select the characteristic for which the characteristic value is to be sorted.

Enterprise Reporting, Query, and Analysis

238

Core Development Tasks Developing User Interfaces

March 2006

Sorting Type (SORTING_TYPE)

You use this parameter to specify the type of sorting:

Sort By Characteristic Member (SORT_BY_CHARCTERISTIC_MEMBE R) Sort By Attribute Member (SORT_BY_ATTRIBUTE_MEMBER) Sort By Value (SORT_BY_VALUE) Sort By Selection (SORT_BY_SELECTION) The characteristic values are sorted according to the sequence of the set filter values. If no filter values are set, the values are sorted according to keys.

Sort By Hierarchy (SORT_BY_HIERARCHY)

Depending on the value you select for the Sorting Type parameter (SORTING_TYPE), you need to set the following additional parameters: Sort By Characteristic Member (SORT_BY_CHARCTERISTIC_MEMBER) Parameter Member Presentation (MEMBER_PRESENTATION) Direction (DIRECTION) Description You use this parameter to specify what sorting it to be based upon: key or text. You use this parameter to specify the sorting order:

Ascending (ASCENDING) Descending (DESCENDING)

Presentation Area (PRESENTATION_AREA)

You use this parameter to specify the display area of the characteristic values:

All Areas (ALL) If you choose this option, the characteristic values are displayed in the input help and in the results area.

Result Set (RESULT_SET) If you choose this option, the characteristic values are displayed in the results area only.

Member Access (MEMBER_ACCESS) If you choose this option, the characteristic values are displayed in the input help dialog box only.

Sort By Attribute Member (SORT_BY_ATTRIBUTE_MEMBER) Parameter Description

Enterprise Reporting, Query, and Analysis

239

Core Development Tasks Developing User Interfaces

March 2006

Display Attribute (INFO_OBJECT_ATTRIBUT)

You use this parameter to specify the display attribute, the value of which is to be used in sorting. You use this parameter to specify what sorting it to be based upon:

Member Presentation (MEMBER_PRESENTATION)

TEXT (shortest text available) SHORT_TEXT (short text) MIDDLE_TEXT (medium-length text) LONG_TEXT (long text) DISPLAY_KEY_NOT_COMPOUND (not compounded characteristic value in external display) DISPLAY_KEY (compounded characteristic value in external display) KEY_COMP (characteristic value in internal display) KEY_NOT_COMPOUND (not compounded characteristic value in internal display)

Direction (DIRECTION)

You use this parameter to specify the sorting order:


Ascending (ASCENDING) Descending (DESCENDING)

Presentation Area (PRESENTATION_AREA)

You use this parameter to specify the display area of the attribute values:

All Areas (ALL) If you choose this option, the attribute values are displayed in the input help and in the results area.

Result Set (RESULT_SET) If you choose this option, the attribute values are displayed in the results area only.

Member Access (MEMBER_ACCESS) If you choose this option, the attribute values are displayed in the input help dialog box only.

Sort By Value (SORT_BY_VALUE) Parameter Description

Enterprise Reporting, Query, and Analysis

240

Core Development Tasks Developing User Interfaces

March 2006

Data Cell (DATA_CELL)

When you sort by value, you must specify the data cell. You do this by specifying the relevant structure element for each query in the existing structure. You select the structure in the Characteristic parameter (CHARACTERISTIC). You enter the structure element in the Member Name parameter (MEMBER_NAME). You use this parameter to specify the sorting order:

Direction (DIRECTION)

Ascending (ASCENDING) Descending (DESCENDING)

Sort By Selection (SORT_BY_SELECTION) Parameter Direction (DIRECTION) Description You use this parameter to specify the sorting order:

Ascending (ASCENDING) Descending (DESCENDING)

Presentation Area (PRESENTATION_AREA)

You use this parameter to specify the display area of the characteristic values:

All Areas (ALL) If you choose this option, the attribute values are displayed in the input help and in the results area.

Result Set (RESULT_SET) If you choose this option, the attribute values are displayed in the results area only.

Member Access (MEMBER_ACCESS) If you choose this option, the attribute values are displayed in the input help dialog box only.

Sort By Hierarchy (SORT_BY_HIERARCHY) Parameter Description

Enterprise Reporting, Query, and Analysis

241

Core Development Tasks Developing User Interfaces

March 2006

Presentation Area (PRESENTATION_AREA)

You use this parameter to specify the display area of the characteristic values within the hierarchy:

All Areas (ALL) If you choose this option, the characteristic values are displayed in the input help and in the results area.

Result Set (RESULT_SET) If you choose this option, the characteristic values are displayed in the results area only.

Member Access (MEMBER_ACCESS) If you choose this option, the characteristic values are displayed in the input help dialog box only.

4.1.1.4.4.4

Data Provider Commands for Documents

Prerequisites
To use the data provider commands for documents, you must first set up the BI Document Repository in the portal.

Features
The following commands are available: Open Document Browser [Page 242] New Document [Page 245]

4.1.1.4.4.4.1

Open Document Browser

Use
Using the Open Document Browser command (OPEN_DIALOG_DLG_DOC_BROWSER), you can open the document browser, which displays the list of documents for InfoProviders, master data or metadata.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Web Item (TARGET_ITEM_REF) Description Choose Next to navigate to the parameters for the command.

Enterprise Reporting, Query, and Analysis

242

Core Development Tasks Developing User Interfaces

March 2006

Data Provider (DATA_PROVIDER_REF) Document Class (DOCUMENT_CLASS_SPECIFIC)

You use this parameter to specify which data provider the command is to relate to. You use this parameter to specify for which BI object the document is to be displayed:

InfoProvider Data Metadata (BW_OBJECT) Master Data (CHARACTERSTIC_MEMBER_SPECIFIC)

Depending on the value you select for the Document Class parameter, you need to set the following additional parameters: Parameter Value: InfoProvider Data Parameter Data Row (DATA_ROW) Description You use this parameter to specify the data cell of the row for which the documents are to be displayed. The first data cell of the row has the value 0. The default value is -1. This command is particularly useful if you do not use the Document List Web item in your Web application. It enables you, even without this Web item, to display documents for a specific row. Due to this application context, you are recommended to specify a particular row.

Data Column (DATA_COLUMN)

You use this parameter to specify the data cell of the column for which columns the documents are to be displayed. The first data cell of the column has the value 0. The default value is -1. As recommended for the Data Row parameter, it is again recommended that you specify a particular column for this parameter due to the application context.

Document Type (WWW_DOC_TYPE)

You use this parameter to classify documents by assigning a freely selectable document type to them. If you set the parameter for the Web item, only the corresponding document types are displayed.

Parameter Value: Metadata (BW_OBJECT) Parameter Description

Enterprise Reporting, Query, and Analysis

243

Core Development Tasks Developing User Interfaces

March 2006

BI Object (BW_OBJECT)

You select the BI object for which the document is to be displayed:


Query (QUERY) InfoObject (INFOOBJECT) Web Template (TEMPLATE) Reusable Web Item (REUSABLE_WEB_ITEM) Query View (VIEW) Filter (SELECTOR) Workbook (EXCEL_WORKBOOK) InfoSource (INFOSOURCE) Crystal Report (CRYSTAL_REPORT) Web Library (3.x) (WEB_LIBRARY_3X)

Document Type (WWW_DOC_TYPE)

You use this parameter to classify documents by assigning a freely selectable document type to them. If you set the parameter for the Web item, only the corresponding document types are displayed.

Parameter Value: Master Data (CHARACTERSTIC_MEMBER_SPECIFIC) Parameter Characteristic (CHARACTERISTIC) Description You use this parameter to specify the characteristic for which a document is to be displayed. You use this parameter to specify the characteristic value to which the document is to relate. In your customer list, for characteristic customer 0D_Customer, you want to display a document for customer ABC. Specify the characteristic value ABC.

Member Name (MEMBER_NAME)

Name of the Hierarchy (HIERARCHY_NAME) Hierarchy Node Type (HIERARCHY_NODE_TYPE)

Not available in current version. Leave this parameter empty. Not available in current version. Leave this parameter empty.

Enterprise Reporting, Query, and Analysis

244

Core Development Tasks Developing User Interfaces

March 2006

Document Type (WWW_DOC_TYPE)

You use this parameter to classify documents by assigning a freely selectable document type to them. If you set the parameter for the Web item, only the corresponding document types are displayed.

4.1.1.4.4.4.2

New Document

Use
Using the New Document command (OPEN_DIALOG_DLG_NEW_DOC), you can open a dialog box to create a new document for InfoProvider, master data, or metadata selections.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Target Web Item (TARGET_ITEM_REF) Document Action (DOCUMENTACTION) Description Choose Next to navigate to the parameters for the command. You use this parameter to specify the type of document to be created. Alternatively, you can load an existing document:

Comment Formatted Text Upload

Data Provider (DATA_PROVIDER_REF) Document Class (DOCUMENT_CLASS_SPECIFIC)

You use this parameter to specify which data provider the command is to relate to. You use this parameter to specify for which BI object the documents are to be created:

InfoProvider Data Metadata (BW_OBJECT) Master Data (CHARACTERSTIC_MEMBER_SPECIFIC)

Depending on the value you select for the Document Class parameter, you need to set the following additional parameters: Parameter Value: InfoProvider Data Parameter Description

Enterprise Reporting, Query, and Analysis

245

Core Development Tasks Developing User Interfaces

March 2006

Data Row (DATA_ROW)

You use this parameter to specify the data cell of the row for which a document is to be created. The first data cell of the row has the value 0. The default value is -1. This command is particularly useful if you do not use the Single Document Web item in your Web application. It enables you, even without this Web item, to create a document for a specific row. Due to this application context, you are recommended to specify a particular row.

Data Column (DATA_COLUMN)

You use this parameter to specify the data cell of the column for which a document is to be created. The first data cell of the column has the value 0. The default value is -1. As recommended for the Data Row parameter, it is also recommended that you specify a particular column for this parameter due to the application context.

Document Type (WWW_DOC_TYPE)

You use this parameter to classify documents by assigning a freely selectable document type to them.

Parameter Value: Metadata (BW_OBJECT) Parameter BI Object (BW_OBJECT) Description You select the BI object for which the document is to be displayed:

InfoObject (INFOOBJECT) Web Template (TEMPLATE) Reusable Web Item (REUSABLE_WEB_ITEM) Query View (VIEW) Query (QUERY) Filter (SELECTOR) Workbook (EXCEL_WORKBOOK) InfoSource (INFOSOURCE) Crystal Report (CRYSTAL_REPORT) Web Library (3.x) (WEB_LIBRARY_3X)

Document Type (WWW_DOC_TYPE)

You use this parameter to classify documents by assigning a freely selectable document type to them.

Enterprise Reporting, Query, and Analysis

246

Core Development Tasks Developing User Interfaces Parameter Value: Master Data (CHARACTERSTIC_MEMBER_SPECIFIC) Parameter Characteristic (CHARACTERISTIC) Description

March 2006

You use this parameter to specify the characteristic for which the documents are to be created. You use this parameter to specify the characteristic value to which the document is to relate. For a specific customer in your customer list, for characteristic customer 0D_Customer, you want to create a document for customer ABC. As characteristic value, enter the name of the customer ABC.

Member Name (MEMBER_NAME)

Name of the Hierarchy (HIERARCHY_NAME)

You use this parameter to specify the hierarchy node for which you want to create a document.

Enterprise Reporting, Query, and Analysis

247

Core Development Tasks Developing User Interfaces

March 2006

Hierarchy Node Type (HIERARCHY_NODE_TYPE)

You use this parameter to specify the type of hierarchy node for which you want to create a document:

Text Node Characteristic Value Your customer list is structured hierarchically according to regions. You have defined a hierarchy named HIERARCHY_REGION for the characteristic customer 0D_Customer; this hierarchy does not contain its own characteristic for the region, but contains the text nodes North, South, East, and West. For the text node East, you want to create a document that contains the information for all customers in the region East, such as the delivery type, for example. Select 0HIERNODE as the value for the hierarchy node type. Your customer list is structured hierarchically according to countries. You have defined a hierarchy named HIERARCHY_COUNTRY for the characteristic customer 0D_CUSTOMER. This contains the nodes DE and US, which are characteristic values for the characteristic country 0D_COUNTRY. You want to create a document for the characteristic value DE. For the hierarchy node type, specify the name of the characteristic to which the node relates, in this case 0D_COUNTRY.

Document Type (WWW_DOC_TYPE)

You use this parameter to classify documents by assigning a freely selectable document type to them.

Enterprise Reporting, Query, and Analysis

248

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.5

Commands for Planning Applications

Use
Under the commands for planning applications, you can find a summary of all commands you can use to create planning applications.

Features
The following commands are available:

Refresh Data [Page 249] (REFRESH_DATA) Save Changed Data [Page 250] (SAVE_DATA) Reset Changed Data [Page 250] (RESET_DATA) Set Data Entry Mode [Page 250] (SET_DATA_ENTRY_MODE) Execute a Planning Function (Simple) [Page 251] (EXEC_PLANNING_FUNCTION_SIMPLE) Execute a Planning Sequence (Simple) [Page 251] (EXEC_PLANNING_SEQUENCE_SIMPLE)

4.1.1.4.5.1

Refresh Data

Use
Using the Refresh Data command (REFRESH_DATA), you can copy changed data from an input-ready query to the planning buffer. The entries are checked when this is done. If the check is successful, the data is copied across.

You can undo the changes using the Reset Changed Data [Page 250] command. You can save the changed data persistently using the Save Changed Data [Page 250] command.

Command Parameters
This command has no parameters.

Application Context
This command is particularly useful if you see the data entered manually into an input-ready query and want to know what impact these changes have on other parts of your Web application.

Enterprise Reporting, Query, and Analysis

249

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.4.5.2

Save Changed Data

Use
Using the Save Changed Data command (SAVE_DATA), you can save your data changes within a Web application persistently. If the check is successful, the changed data is written to the InfoProvider.

Command Parameters
This command has no parameters.

Application Context
This command is particularly useful, for example, if you have changed data manually using an input-ready query or automatically using a planning function, and you want to save these changes. Using this command, you save all data within the entire Web application.

4.1.1.4.5.3

Reset Changed Data

Use
Using the Reset Changed Data command (RESET_DATA), you can undo your data changes within a Web application. This reverses unsaved data changes made manually or by planning functions or planning sequences. You cannot undo changes that you have saved persistently by choosing Save Changed Data (SAVE_DATA).

Command Parameters
This command has no parameters.

Application Context
This command is particularly useful, for example, if you have changed data manually using an input-ready query or automatically using a planning function or planning sequence, and you want to undo these changes.

4.1.1.4.5.4

Set Data Entry Mode

Use
Using the Set Data Entry Mode command (SET_DATA_ENTRY_MODE), for an input-ready query, you can switch between display and change mode for a data provider. Display mode: If no data has been written to the underlying aggregation level, manually or by a planning function or sequence, the data is not locked for the current user. Change mode: As soon as change mode is chosen, the system attempts to lock the data for the aggregation level for the current user. This lock attempt is rejected if the data is already locked by another user, and the data provider remains in display mode.

Enterprise Reporting, Query, and Analysis

250

Core Development Tasks Developing User Interfaces

March 2006

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Data Provided Affected (TARGET_DATA_PROVIDER_REF) Active Description You use this parameter to specify which data provider the command is to relate to. You can choose from: On: input mode is activated Off: input mode is deactivated

4.1.1.4.5.5

Execute a Planning Function (Simple)

Use
Using the Execute a Planning Function (Simple) command (EXEC_PLANNING_FUNCTION_SIMPLE), you can trigger the execution of a planning function.

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Reference to Data Provider of Type Filter (SELECTOR_DATA_PROVIDER_REF) Variant (VARIABLE_VARIANT) Description You use this parameter to specify the data volume on which the planning function is to be executed. You use this parameter to specify the parameterization of the planning function using a variable variant. Technical name of the planning function. You use this parameter to specify which planning function is to be executed.

Planning Function (PLANNING_FUNCTION)

Application Context
This command is particularly useful if you want to change data automatically using a planning function.

4.1.1.4.5.6

Execute a Planning Sequence (Simple)

Use
Using the Execute a Planning Sequence (Simple) command (EXEC_PLANNING_SEQUENCE_SIMPLE), you can trigger the execution of a planning sequence.

Enterprise Reporting, Query, and Analysis

251

Core Development Tasks Developing User Interfaces

March 2006

Command Parameters
The following information outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Variant (VARIABLE_VARIANT) Description You use this parameter to specify the parameterization of the planning sequence using a variable variant. Technical name of the planning sequence. You use this parameter to specify which planning sequence is to be executed.

Planning Sequence (PLANNING_SEQUENCE)

Application Context
This command is particularly useful if you want to change data using various processing steps summarized in a planning sequence.

4.1.1.4.6

Commands for Web Items

Use
Under Commands for Web Items, all the commands you can use to change the status of a Web item are displayed.

Features
The following commands are available:

Calling the Chart Properties Dialog (OPEN_CHART_DIALOG) Open Properties Dialog (OPEN_DIALOG_PROPERTIES_PANE) Set Web Item Parameters (SET_ITEM_PARAMETERS)

4.1.1.4.7

Commands for Web Templates

Use
Under the commands for Web templates, you will find a summary of all commands that you use to call and change Web templates. Commands for generating bookmarks or changing variable values are also part of this command group.

Features
The following commands are available:

Close Browser Window (CLOSE_WINDOW) Load Bookmark (LOAD_BOOKMARK)

Enterprise Reporting, Query, and Analysis

252

Core Development Tasks Developing User Interfaces


March 2006

Save Bookmark (SAVE_BOOKMARK) Start Broadcaster [Page 253] (LAUNCH_BROADCASTER) Transfer Status (TRANSFER_STATE) Export Web Application (EXPORT) Change Web Template (CHANGE_TEMPLATE) Set Web Template (SET_TEMPLATE)

4.1.1.4.7.1

Start Broadcaster

Use
Using the Start Broadcaster command (LAUNCH_BROADCASTER), you can call the BEx Broadcaster. The current variable assignment and navigational state are passed to the Broadcaster. Depending on the parameterization, the Broadcaster is started with the object (such as the query or report) to be distributed. If nothing else is defined, the standard Web template for broadcasting (0BROADCASTING_TEMPLATE70) that is set in Customizing, is called.

You can specify your own standard Web template for broadcasting in Customizing with the following path: SAP Customizing Implementation Guide SAP NetWeaver Business Intelligence Reporting-Relevant Settings Settings for Information Broadcasting Set Standard Web Templates.

Command Parameters
The following table outlines the command parameters in the same sequence that they appear in the command wizard when you insert the command: Parameter Description

Enterprise Reporting, Query, and Analysis

253

Core Development Tasks Developing User Interfaces

March 2006

Type of BI Object (START_OBJECT_TYPE):

You use this parameter to specify which BI object the Broadcaster is to start with. You have the following options:

Current Web Template (EMPTY) If you choose this option, the Broadcaster starts with the current Web template.

Data Provider (QUERY_VIEW_DATA_PROVIDER_RE F) If you chose this option, you specify a reference to a data provider. The Broadcaster starts with the query view that is based on the data provider.

Report (ITEM_REF) If you chose this option, you specify a reference to a Report Web item. The Broadcaster starts with the report referenced in this Web item.

Start As Wizard (START_WIZARD)

Using this parameter, you specify whether the Broadcaster is to be started as a wizard. If you want to start the Broadcaster as a wizard, you must also set the Distribution Type (DISTRIBUTION_TYPE) parameter. You can choose from the following distribution types:

Broadcast E-mail (MAIL) See also Broadcasting by E-Mail [External].

Broadcast to Portal (KM_EXPORT) See also Broadcasting to the Portal [External].

Broadcast to Printer (PRINT) See also Broadcasting to the Printer [External].

Note that you cannot change the distribution type in the wizard.

4.1.1.4.8

Creating Commands with the Command Wizard

Use
With the command wizard in the Web Application Designer, you can create commands using a simple step-by-step procedure.

Enterprise Reporting, Query, and Analysis

254

Core Development Tasks Developing User Interfaces

March 2006

Prerequisites
You have created data providers in the Web Application Designer and inserted Web items into the Web template.

Process Flow
To create a command, proceed as follows:
...

1. Select the command you wish to generate from your favorites list or from the list of all commands. To add commands to your favorites list, select the checkbox next to the respective command in the All Commands view. To edit a command from the favorites list or from the pool of commands, select the command and choose Next Step or choose the command by double-clicking it. 2. You determine the command target. In this step, you determine whether the command refers to data providers or to a Web item. 3. You determine the parameter for the command. In this step, you assign the required values to the parameters for the command. To accept the default value, leave the entry as it is. As needed: 4. You create a command sequence. In this step, you insert more commands and determine the sequence of the commands using the arrow keys. To delete or change existing commands, select the command and choose Delete or Change.

4.1.1.4.9

Parameter Override

Use
You can override all parameters for Web items and all Web template parameters. At the time of execution, the relevant parameter value is specified for Web items, corresponding to the sequence: URL -> Web Item in Web Template -> Reusable Web Item -> System Default. This is also valid for the Web template parameters. Here the specification occurs, according to the following sequence: URL -> Web Template Parameter -> Reusable Web Item -> Web Template Parameter defined in SAP Customizing Implementation Guide under SAP NetWeaver Business Intelligence Reporting Relevant Settings BEx Web Set Settings for Web Templates. Example of the WIDTH (width in pixels) Web item parameter for the Analysis Web item

Enterprise Reporting, Query, and Analysis

255

Core Development Tasks Developing User Interfaces

March 2006

URL Parameterization

WIDTH = 600

Web Item in Web Template

WIDTH = 500

Reusable Web Item Default

WIDTH = 400 WIDTH = 300

Example of the WARNINGS_VISIBLE Web Template Parameter

URL Parameterization Web Template Reusable Web Item Web-TemplateParameter in Customizing Default

X X

WARNINGS_VISIBLE = X WARNINGS_VISIBLE = WARNINGS_VISIBLE = X

WARNINGS_VISIBLE =

General Rules for Overriding Settings The following figure shows the priority rules when overriding Web template parameter and Web item settings.

Enterprise Reporting, Query, and Analysis

WARNINGS_VISIBLE = X

256

Core Development Tasks Developing User Interfaces

March 2006

Web Template Parameters

Web Item Parameters

URL Parameterization

URL Parameterization

Template Settings for Web Template Parameters Reusable Web Template Parameters

Template Settings for Web Item Parameters

Reusable Web Item Parameters

Customizing Setting for Web Template Parameters SAP Standard SAP Standard

4.1.1.4.10

Using Parameters to Call Web Applications

Use
Using parameters, you want to call a Web application to change the initialization of a data provider or execute an additional command, for example.

Procedure
...

1. Insert a Web item into your Web application, with which you can execute commands (such as the Button Group [Page 72] Web item). 2. Use the command wizard [Page 222] to create the required command. This enables you to identify the required parameters and maximize the use of the input help. 3. Switch to the XHTML view of the Web Application Designer and search for the command you created. 4. You can use now this command as URL parameterization. Note that: Nested parameters must be converted to a flat notation: parent parameters are separated by a hyphen (), which is placed before the parameters. Entries in lists are marked with the corresponding index as "_N". The command itself it passed using the command parameter BI_COMMAND_TYPE=Name.

Enterprise Reporting, Query, and Analysis

257

Core Development Tasks Developing User Interfaces

March 2006

Command sequences are built by preceding the actual parameters with the text bi_command_N, where "N" is the index of the command in the command sequence.

5. Special cases: Special Case Set Web Item Parameters (SET_ITEM_PARAMETERS) Special Feature For this command, the parent parameter for the Web item parameters is INIT_PARAMETERS. Example: INIT_PARAMETERS-VISIBILITY=VISIBLE Set Data Provider Parameters (SET_DATA_PROVIDER_PARAMETERS) For this command, the parent parameter for the data provider parameters is INIT_PARAMETERS. Example: INIT_PARAMETERS-INITIAL_STATE=QUERY Note that due to the flat notation of the parameters, the character limit for sending the parameters using URL Get can be easily exceeded. To overcome this, use post to transfer the parameters to the Web application.

Example
Example 1: In the command wizard, you have set the command for setting attributes for a characteristic of the data provider. The XHTML view of the Web Application Designer displays the following result (only the INSTRUCTION node is show in this example):
<bi:INSTRUCTION > <bi:SET_ATTRIBUTES > <bi:TARGET_DATA_PROVIDER_REF_LIST type="ORDEREDLIST" > <bi:TARGET_DATA_PROVIDER_REF index="1" value="DP_1" /> </bi:TARGET_DATA_PROVIDER_REF_LIST> <bi:CHARACTERISTIC value="0D_CUSTOMER" text="" /> <bi:PRESENTATION_AREA value="RESULT_SET" /> <bi:ATTRIBUTE_LIST type="ORDEREDLIST" > <bi:INFO_OBJECT_ATTRIBUTE index="1" value="0D_COUNTRY" /> </bi:ATTRIBUTE_LIST> </bi:SET_ATTRIBUTES> </bi:INSTRUCTION>

This results in the following URL parameterization: &BI_COMMAND_1-BI_COMMAND_TYPE=SET_ATTRIBUTES &BI_COMMAND_1-TARGET_DATA_PROVIDER_REF_LISTTARGET_DATA_PROVIDER_REF_1=DP_1 &BI_COMMAND_1-CHARACTERISTIC=0D_CUSTOMER &BI_COMMAND_1-PRESENTATION_AREA=RESULT_SET &BI_COMMAND_1-ATTRIBUTE_LIST-INFO_OBJECT_ATTRIBUTE_1=0D_COUNTRY Example 2: In the command wizard, you have set the command for setting Web item parameters for the Web item ANALYSIS_ITEM_1. The XHTML view of the Web Application Designer displays the following result (only the INSTRUCTION node is show in this example):
<bi:INSTRUCTION > <bi:SET_ITEM_PARAMETERS >

Enterprise Reporting, Query, and Analysis

258

Core Development Tasks Developing User Interfaces


<bi:cmd_item_parameters type="ANALYSIS_ITEM" > <bi:ALTERNATE_STYLES value="" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="ANALYSIS_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> </bi:INSTRUCTION>

March 2006

This results in the following URL parameterization: &BI_COMMAND_1-BI_COMMAND_TYPE=SET_ITEM_PARAMETERS &BI_COMMAND_1-TARGET_ITEM_REF=ANALYSIS_ITEM_1 &BI_COMMAND_1-INIT_PARAMETERS-ALTERNATE_STYLES=

4.1.1.4.11

JavaScript

Use
To enhance Web applications, a JavaScript API is now available, with which you can also send commands within JavaScript functions to achieve a more flexible design of your Web Application. For more information about using JavaScript in Web applications, see: General Use of JavaScript in Web Applications [Page 259] Using JavaScript Within Web Items [Page 260] JavaScript API for Sending Commands [Page 260]

4.1.1.4.11.1

General Use of JavaScript in Web Applications

JavaScript can be incorporated in Web applications in two ways: Using a JavaScript include from the MIME Repository [External] By incorporating JavaScript in a Web template using the Script [Page 173] Web item

Due to the XHTML format, direct writing of JavaScript in the Web template is not supported.

Activities
Using a JavaScript Include from the MIME Repository Load the JavaScript include file to the MIME Repository of the BI system. To do this, on the SAP Easy Access screen, choose Business Explorer MIME Repository. You can store customer-specific scripts in the MIME Repository under SAP BW Customer JavaScripts. You can reference the JavaScript include file as follows in the XHTML view for the Web template: <script src="bwmimerep:///sap/bw/mime/Customer/Javascripts/myscript.js type="text/javascript"></script> Incorporating JavaScript Using the Script Web Item

Enterprise Reporting, Query, and Analysis

259

Core Development Tasks Developing User Interfaces

March 2006

In the Web Application Designer, drag the Script Web item from the Miscellaneous Web item grouping to your Web template and choose the Web Item Parameters tab page in the Properties area. Choose the editing dialog box for the parameter Script. You can insert your JavaScript in this dialog box. The command wizard helps you to generate the JavaScript code for executing the command.

4.1.1.4.11.2

Using JavaScript Within Web Items

In addition to the direct use of commands using the command wizard, some Web items also provide the option of using JavaScript functions. This can be useful, for example, if you want to assemble commands dynamically, or if you use portal eventing and want to link this action to a Web item. JavaScript functions linked to a Web item always have the same signature: function functionname(currentState, defaultCommandSequence) The parameters currentState and defaultCommandSequence are used for Web items that already execute standard commands themselves. This applies, for example, to the data binding type CHARACTERISTIC_SELECTION for the Web item Dropdown Box. The command for setting the filter values is generally run here. You can insert this standard command sequence before or after your command, or you can choose to ignore it and not execute the standard command. For an example of how to use JavaScript in a Web item, see Using JavaScript in the Dropdown Box Web Item [Page 267].

4.1.1.4.11.3

JavaScript API for Executing Commands

You can execute commands or command sequences using JavaScript. To execute a command, you must first generate the command and its parameters. The command object sapbi_Command and the parameter object sapbi_Parameter are available for this purpose. In the Script Web item, the command wizard provides help generating the JavaScript. Once you select the command and set the parameters, the JavaScript code is generated.

Command Structure and Parameters


sapbi_Parameter A parameter consists of a name and a value. To generate a new parameter in JavaScript, use the following syntax: var param = new sapbi_Parameter(Name, Value); Some parameters have child parameters (lists or nested parameters). For these parameters, you specify the child parameters in a parameter list (see parameter list below). To add parameter lists, you use the following method: setChildList(sapbi_ParameterList) sapbi_ParameterList To instantiate a parameter list, use the following syntax:

Enterprise Reporting, Query, and Analysis

260

Core Development Tasks Developing User Interfaces var paramList = new sapbi_Parameter(); You can add parameters to the list by using the following methods:

March 2006

paramList.addParameterNameValue(Name,Value); paramList.addParameter(parameter_object);

sapbi_Command An sapbi_Command object is instantiated as follows: var command = new sapbi_Command(Name of Command); To add a parameter object to the command, use the addParameter method. You can also the addParameterNameValue command:

command.addParameterNameValue(Name,Value); command.addParameter(parameter_object);

sapbi_CommandSequence An sapbi_CommandSequence is a list of sapbi_Commands. The object is instantiated as follows: var cmdSeq = new sapbi_CommandSequence(); The addCommand method is available to add commands to the command sequence. cmdSeq.addCommand( sapbi_Command ); The command or command sequence is executed using the following method: sapbi_page.sendCommand(CommandOrCommandSequenceObject)

Command for Swapping Axes (SWAP_AXES) for the Data Provider DP_1: /* Create TARGET_DATA_PROVIDER_REF */ var paramListDP_LIST = new sapbi_ParameterList(); var paramDP_LIST = new sapbi_Parameter( "TARGET_DATA_PROVIDER_REF_LIST", "" ); paramListDP_LIST.addParameterNameValue ("TARGET_DATA_PROVIDER_REF", "DP_1" ); paramDP_LIST.setChildList (paramListDP_LIST);

/* Create Command */ var commandWAP_AXES = new sapbi_Command("SWAP_AXES"); commandSWAP_AXES.addParameter( paramDP_LIST );

/* Send Command */ sapbi_page.sendCommand(commandSWAP_AXES);

Enterprise Reporting, Query, and Analysis

261

Core Development Tasks Developing User Interfaces

March 2006

4.1.1.5

Web Application Examples

The following sections provide examples of certain fundamental design aspects that frequently arise when creating Web applications:

Changing the Display: Table, Chart, Table and Chart [Page 262] Switching Between Chart and Table Using a Pushbutton [Page 264] Creating Planning Applications in the BEx Web Application Designer [Page 269]

4.1.1.5.1

Changing the Display: Table, Chart, Table and Chart

In your Web application, you want to be able to display data in a table or graphic, similar to in the Web Analyzer [External]. You can do this by using the Dropdown Box [Page 75] Web item and linking the commands for showing and hiding Web items to it:
...

1. Insert the Analysis [Page 56] and Chart [Page 61] Web items into your Web template. Set the required parameters and link both Web items to the same data provider. For the initial display type, set the Visibility parameter of the Chart Web item to Hidden. 2. To allow users to toggle the display type, choose the Dropdown Box Web item and drag it to your Web template using drag and drop. 3. Choose the data binding type Fixed List of Options from the parameter list for the Web item. This allows you to define your own commands for each entry in the dropdown box. 4. In the fixed list of options, enter a text (such as table) in the Description of Selection field. This text can be language-dependent. 5. For the corresponding command, call the command wizard [Page 222] by choosing the pushbutton. 6. On the All Commands tab page, choose Commands for Web Items. Select the command Set Web Item Parameters (SET_ITEM_PARAMETERS) and double-click it to choose it. 7. Since the table must be switched to visible to select the table display type in the Web application, choose the Analysis Web item for Target Web Item. All parameters for the Analysis Web item are now displayed. 8. Set the Visibility parameter (VISIBILITY) to Visible (VISIBLE). Do not accept the default value. 9. Since the graphic display must be switched to hidden to select the table display type in the Web application, choose Next Command in the command wizard. 10. Insert the Set Web Item Parameters (SET_ITEM_PARAMETERS) command again. 11. This time, choose the Chart Web item as the target Web item and set the Visibility parameter (VISIBILITY) to Hidden (HIDDEN). Do not accept the default value. 12. Repeat steps four to eleven for the dropdown box entries Chart (switch Analysis Web item to hidden, Chart Web item to visible) and Table and Chart" (switch Analysis Web item and Chart Web item to visible).

Enterprise Reporting, Query, and Analysis

262

Core Development Tasks Developing User Interfaces

March 2006

Sample Code
Below is the complete sample code from the XHTML view of the Web Application Designer:
<bi:bisp xmlns="http://www.w3.org/TR/REC-html40" xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp" xmlns:jsp="http://java.sun.com/JSP/Page" > <html > <head > <title >NetWeaver BI Web Application</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body > <bi:QUERY_VIEW_DATA_PROVIDER name="DP_1" > <bi:INITIAL_STATE type="CHOICE" value="QUERY" > <bi:QUERY value="YOURQUERY" text="Type" /> </bi:INITIAL_STATE> </bi:QUERY_VIEW_DATA_PROVIDER> <bi:TEMPLATE_PARAMETERS name="TEMPLATE_PARAMETERS" /> <p > <bi:DROPDOWN_ITEM name="DROPDOWN_ITEM_1" designheight="70" designwidth="200" > <bi:DATA_BINDING_TYPE type="CHOICE" value="STATIC_OPTION_LIST" > <bi:STATIC_OPTION_LIST type="ORDEREDLIST" > <bi:STATIC_OPTION type="COMPOSITE" index="1" > <bi:SELECTION_TEXT value="Table" /> <bi:ACTION type="CHOICE" value="INSTRUCTION" > <bi:INSTRUCTION > <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="ANALYSIS_ITEM" > <bi:VISIBILITY value="VISIBLE" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="ANALYSIS_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="CHART_ITEM" > <bi:VISIBILITY value="HIDDEN" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="CHART_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> </bi:INSTRUCTION> </bi:ACTION> </bi:STATIC_OPTION> <bi:STATIC_OPTION type="COMPOSITE" index="2" > <bi:SELECTION_TEXT value="Chart" /> <bi:ACTION type="CHOICE" value="INSTRUCTION" > <bi:INSTRUCTION > <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="CHART_ITEM" > <bi:VISIBILITY value="VISIBLE" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="CHART_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="ANALYSIS_ITEM" > <bi:VISIBILITY value="HIDDEN" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="ANALYSIS_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> </bi:INSTRUCTION> </bi:ACTION> </bi:STATIC_OPTION> <bi:STATIC_OPTION type="COMPOSITE" index="3" > <bi:SELECTION_TEXT value="Table and Chart" /> <bi:ACTION type="CHOICE" value="INSTRUCTION" > <bi:INSTRUCTION > <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="ANALYSIS_ITEM" > <bi:VISIBILITY value="VISIBLE" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="ANALYSIS_ITEM_1" />

Enterprise Reporting, Query, and Analysis

263

Core Development Tasks Developing User Interfaces

March 2006

</bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="CHART_ITEM" > <bi:VISIBILITY value="VISIBLE" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="CHART_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> </bi:INSTRUCTION> </bi:ACTION> </bi:STATIC_OPTION> </bi:STATIC_OPTION_LIST> </bi:DATA_BINDING_TYPE> </bi:DROPDOWN_ITEM> <br /> <br /> </p> <p > <bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_1" designwidth="400" designheight="200" > <bi:DATA_PROVIDER_REF value="DP_1" /> </bi:ANALYSIS_ITEM> <bi:CHART_ITEM name="CHART_ITEM_1" designheight="200" designwidth="400" > <bi:VISIBILITY value="HIDDEN" /> <bi:DATA_PROVIDER_REF value="DP_1" /> </bi:CHART_ITEM> <br /> <br /> </p> </body> </html> </bi:bisp>

Tips

If you want to make several Web items visible or invisible at the same time, use the Container Web item and arrange the required Web items in the Container Web item. Switch the Visibility parameter of the Container Web item to visible or hidden. The Set Parameters for Web Item (SET_ITEM_PARAMETERS) command is a command that is used often. We therefore recommend that you add this command to your favorite commands in the command wizard.

4.1.1.5.2

Switching Between Chart and Table Using a Pushbutton

You display a chart in your Web application. You want to allow the user to display the data as a chart or table by using "Display Table" and "Display Chart" pushbuttons. Since the same pushbutton has to change its action, you cannot depict the use case with a single pushbutton. You need a second pushbutton to implement the use case.
...

1. Insert the Analysis Web item into your Web template that includes the Chart Web item; assign the same data provider to the Analysis Web item and set the required parameters. Set this Web item to Hidden initially. 2. Insert the Button Group [Page 72] Web item into your Web template. In the first row of the pushbutton list, enter "Display Table" for Caption. 3. Insert a second Button Group Web item into your Web template. In the first row of the pushbutton list, enter "Display Chart" for Caption. Set the Button Group Web item to Hidden initially.

Enterprise Reporting, Query, and Analysis

264

Core Development Tasks Developing User Interfaces

March 2006

4. You can now specify the following command sequence for the Command of the first Web item, Button Group: Hide Chart Hide First Button Group Web Item Show Analysis Web Item Visible Show Second Button Group Web Item. Proceed as follows: a. Under Command, call the command wizard [Page 222] using the pushbutton. b. On the All Commands tab page, choose Commands for Web Items. Select the command Set Web Item Parameters (SET_ITEM_PARAMETERS) and doubleclick to choose it. c. Select the Chart Web item as the target Web item and set the Visibility parameter (VISIBILITY) to Hidden (HIDDEN). d. Choose Next Command and Insert to create a new command for the command sequence. e. Choose the Set Web Item Parameters (SET_ITEM_PARAMETERS) command again and specify the first Button Group Web item as the target Web item and set the Visibility (VISIBILITY) parameter to Hidden. f. Choose Next Command and Insert to create a new command for the command sequence. g. Choose the Set Web Item Parameters (SET_ITEM_PARAMETERS) command again and specify the first Analysis Web item as the target Web item and set the Visibility (VISIBILITY) parameter to Visible. h. Choose Next Command and Insert to create a new command for the command sequence. i. Choose the Set Web Item Parameters (SET_ITEM_PARAMETERS) command again and specify the second Button Group Web item as the target Web item and set the Visibility (VISIBILITY) parameter to Visible. 5. For the second Button Group Web item, proceed from step 4.a. Swap the value assignments Visible/Hidden for the Visibility (VISIBILITY) parameter.

Sample Code
Below is the complete sample code from the XHTML view of the Web Application Designer:
<bi:bisp xmlns="http://www.w3.org/TR/REC-html40" xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp" xmlns:jsp="http://java.sun.com/JSP/Page" > <html > <head > <title >NetWeaver BI Web Application</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body > <bi:QUERY_VIEW_DATA_PROVIDER name="DP_1" > <bi:INITIAL_STATE type="CHOICE" value="QUERY" > <bi:QUERY value="YOURQUERY" text="Type" /> </bi:INITIAL_STATE> </bi:QUERY_VIEW_DATA_PROVIDER> <bi:TEMPLATE_PARAMETERS name="TEMPLATE_PARAMETERS" /> <p > <br /> <bi:BUTTON_GROUP_ITEM name="BUTTON_GROUP_ITEM_1" designheight="70" designwidth="200" > <bi:BUTTON_LIST type="ORDEREDLIST" > <bi:BUTTON type="COMPOSITE" index="1" > <bi:CAPTION value="Show Table" /> <bi:ACTION type="CHOICE" value="INSTRUCTION" > <bi:INSTRUCTION > <bi:SET_ITEM_PARAMETERS >

Enterprise Reporting, Query, and Analysis

265

Core Development Tasks Developing User Interfaces

March 2006

<bi:cmd_item_parameters type="CHART_ITEM" > <bi:VISIBILITY value="HIDDEN" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="CHART_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="BUTTON_GROUP_ITEM" > <bi:VISIBILITY value="HIDDEN" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="BUTTON_GROUP_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="ANALYSIS_ITEM" > <bi:VISIBILITY value="VISIBLE" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="ANALYSIS_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="BUTTON_GROUP_ITEM" > <bi:VISIBILITY value="VISIBLE" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="BUTTON_GROUP_ITEM_2" /> </bi:SET_ITEM_PARAMETERS> </bi:INSTRUCTION> </bi:ACTION> </bi:BUTTON> </bi:BUTTON_LIST> </bi:BUTTON_GROUP_ITEM> <bi:BUTTON_GROUP_ITEM name="BUTTON_GROUP_ITEM_2" designheight="70" designwidth="200" > <bi:BUTTON_LIST type="ORDEREDLIST" > <bi:BUTTON type="COMPOSITE" index="1" > <bi:CAPTION value="Show Chart" /> <bi:ACTION type="CHOICE" value="INSTRUCTION" > <bi:INSTRUCTION > <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="CHART_ITEM" > <bi:VISIBILITY value="VISIBLE" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="CHART_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="BUTTON_GROUP_ITEM" > <bi:VISIBILITY value="VISIBLE" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="BUTTON_GROUP_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="ANALYSIS_ITEM" > <bi:VISIBILITY value="HIDDEN" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="ANALYSIS_ITEM_1" /> </bi:SET_ITEM_PARAMETERS> <bi:SET_ITEM_PARAMETERS > <bi:cmd_item_parameters type="BUTTON_GROUP_ITEM" > <bi:VISIBILITY value="HIDDEN" /> </bi:cmd_item_parameters> <bi:TARGET_ITEM_REF value="BUTTON_GROUP_ITEM_2" /> </bi:SET_ITEM_PARAMETERS> </bi:INSTRUCTION> </bi:ACTION> </bi:BUTTON> </bi:BUTTON_LIST> </bi:BUTTON_GROUP_ITEM> <p > <bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_1" designwidth="400" designheight="200" > <bi:DATA_PROVIDER_REF value="DP_1" /> <bi:VISIBILITY value="HIDDEN" />

Enterprise Reporting, Query, and Analysis

266

Core Development Tasks Developing User Interfaces


</bi:ANALYSIS_ITEM> <bi:CHART_ITEM name="CHART_ITEM_1" designheight="200" designwidth="400" > <bi:DATA_PROVIDER_REF value="DP_1" /> </bi:CHART_ITEM> <br /> <br /> </p> </p> </body> </html> </bi:bisp>

March 2006

4.1.1.5.3

Using JavaScript in the Dropdown Box Web Item

You want to create a Web application in which the end user can filter an interval for the calendar months. The interval end is to be specified by selection from a dropdown box; the interval start is to be fixed. The entries displayed in the dropdown box are to be determined from the posted values of the data provider. By default, for dropdown box [Page 75] Web items, an individual filter value is set using the data binding type Char/Structure Member (CHARACTERISTIC_SELECTION). To enhance this standard function, you can enhance the Dropdown Box Web item with a JavaScript function. To do this, proceed as follows:
...

1. Create a new Web template with two data providers. Both data providers are initialized by the same object. 2. Insert an Analysis [Page 56] Web item into the Web template and assign the first data provider to the Web item. 3. Insert a Dropdown Box Web item into the Web template. Set the following parameters for the Web item: a. Select Char/Structure Member (CHARACTERISTIC_SELECTION) as the data binding type. b. Enter the second data provider as the data provider. c. Deselect the Display ALL Entry (ALL_VALUES_ENTRIES_INCLUDED) parameter. This is important since specification of both interval limits is appropriate for interval selections. d. Select the characteristic 0CALMONTH. e. Set the Read Mode (DATA_READ_MODE) to Posted Values (Q). f. Under the Additional Action (ACTION_WITH_DEFAULT) parameter, select the Script Function (SCRIPT_FUNCTION) option. g. You enter the name of the script functions later (see step 10). 4. Insert the Script [Page 173] Web item (from the Miscellaneous Web item grouping) into the Web template. 5. To enter a value for the Script (SCRIPT) parameter of the Web item, use the help dialog box. 6. To generate the JavaScript, choose Create with Wizard. 7. Under All Commands Commands for Data Providers Commands for Filter Values, select Set Filter Value for a Characteristic (SET_SELECTION_STATE_SIMPLE). a. Select the first data provider as the data provider affected.

Enterprise Reporting, Query, and Analysis

267

Core Development Tasks Developing User Interfaces b. Select the characteristic 0CALMONTH. c. Select Interval Selection (INTERVAL_SELECTION) as the operator. d. Specify the fixed from-value. e. Enter any value as the to-value.

March 2006

8. Close the command wizard. A JavaScript function that executes the specified command is generated. 9. To determine the to-value dynamically, comment out the line with var key = at the start of the JavaScript function. Find the value for the to-value and replace this with the JavaScript variable key. 10. Using the input help, in the Dropdown Box Web item, you can now select the name of the JavaScript function in the Script Function parameter (SCRIPT_FUNCTION). 11. In the final step, you can design the Web template according to your needs.

You need two data providers for the dropdown box to always display the same values and not the current filter value as well. The following code is sample code for the Web template described:
<bi:bisp xmlns="http://www.w3.org/TR/REC-html40" xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp" xmlns:jsp="http://java.sun.com/JSP/Page" > <html > <head > <title >NetWeaver BI Web Application</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body > <bi:QUERY_VIEW_DATA_PROVIDER name="DP_2" > <bi:INITIAL_STATE type="CHOICE" value="QUERY" > <bi:QUERY value="0D_DX_M01_Q0006" text="Type" /> </bi:INITIAL_STATE> </bi:QUERY_VIEW_DATA_PROVIDER> <bi:QUERY_VIEW_DATA_PROVIDER name="DP_1" > <bi:INITIAL_STATE type="CHOICE" value="QUERY" > <bi:QUERY value="0D_DX_M01_Q0006" text="DalSegno Company Time Series" /> </bi:INITIAL_STATE> </bi:QUERY_VIEW_DATA_PROVIDER> <bi:TEMPLATE_PARAMETERS name="TEMPLATE_PARAMETERS" /> <p > <bi:SCRIPT_ITEM name="SCRIPT_ITEM_1" designwidth="100" designheight="100" > <bi:SCRIPT value="biLargeData:OF8J4L7FXQG0EQ1GODA5M2XKE" /> </bi:SCRIPT_ITEM> <br /> <br /> <table style="WIDTH: 389px; HEIGHT: 76px" width="389" > <tbody > <tr > <td > <bi:TEXT_ITEM name="TEXT_ITEM_1" designheight="70" designwidth="200" > <bi:TEXT_BINDING type="CHOICE" value="TEXT_CONTENT" > <bi:TEXT_CONTENT value="Show Data until End of" /> </bi:TEXT_BINDING> <bi:TEXT_DESIGN value="HEADER1" /> </bi:TEXT_ITEM> </td> <td > <bi:DROPDOWN_ITEM name="DROPDOWN_ITEM_1" designheight="70" designwidth="200" > <bi:DATA_BINDING_TYPE type="CHOICE" value="CHARACTERISTIC_SELECTION" > <bi:CHARACTERISTIC_SELECTION type="COMPOSITE" >

Enterprise Reporting, Query, and Analysis

268

Core Development Tasks Developing User Interfaces

March 2006

<bi:DATA_PROVIDER_REF value="DP_1" /> <bi:CHARACTERISTIC value="0CALMONTH" text="Calendar Year/Month" /> <bi:ACTION_WITH_DEFAULT type="CHOICE" value="SCRIPT_FUNCTION" > <bi:SCRIPT_FUNCTION value="executeJS_SET_SELECTION_STATE_SIMPLE_EAA" /> </bi:ACTION_WITH_DEFAULT> <bi:DATA_READ_MODE value="D" /> <bi:ALL_VALUES_ENTRY_INCLUDED value="" /> </bi:CHARACTERISTIC_SELECTION> </bi:DATA_BINDING_TYPE> </bi:DROPDOWN_ITEM> </td> </tr> </tbody> </table> <br /> <br /> </p> <p > <bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_1" designwidth="400" designheight="200" > <bi:DATA_PROVIDER_REF value="DP_2" /> </bi:ANALYSIS_ITEM> <br /> <br /> <!-- insert data providers, items and other template content here --> </p> <br /> <br /> </body> </html> </bi:bisp>

4.1.1.5.4

Creating Planning Applications in the BEx Web Application Designer

Use
The following simple example shows how you create a Web application with a selection list (button group), table and special pushbuttons for functions such as copy, revaluate (with a fixed percentage) and save.

Prerequisites
You have a planning model that contains aggregation level Plan_Actual_Aggr (defined on the basis of MultiProvider Plan_Actual_MP), query Plan_Query02 (which is not input-ready), a filter and planning functions for copying PF_Copy and revaluating PF_Revaluate02. You are familiar with the functions of the BEx Web Application Designer (see Creating a Web Application [Page 43] and Creating Web Applications with the BEx Web Application Designer [Page 47]).

Procedure
...

1. Open the BEx Web Application Designer. 2. Choose Create New Web Template. For more information about the Web template concept, see Web Template [Page 28].

Enterprise Reporting, Query, and Analysis

269

Core Development Tasks Developing User Interfaces

March 2006

3. Double-click on New Data Provider to create a new data provider of type Query View Data Provider. The Maintain Data Provider dialog box appears.

For more information about the data provider concept, see Data Providers in BI Applications [External]. 4. In the Name field, the system displays the name it generated for the data provider. This is currently assigned to the data provider. You can retain this name. 5. In the Define Data Provider Type area, choose the Query option. Choose Query. The Open dialog box appears. Select

6. Select the query you want and choose Open. In the Query field, the system inserts the name of the query. 7. When you have defined your data provider in this way, choose OK. 8. Drag and drop the required Web items onto the Layout tab page of your Web template.

In this example, we insert the following Web items:


Dropdown box Analysis Button group

For more information, see Web Items [Page 54]. 9. If you click on a Web item or choose Properties in the context menu of a Web item, the system display the Properties screen area. 10. On the Web Item Parameters tab page, enter the required data in the highlighted fields.

For the Web items in this example, the following data is required: For the dropdown box (see Dropdown Box [Page 75]) under parameter Data Binding Data Binding Type Selection of Characteristic:

Data provider: DP_01 Characteristic: Country

Set the indicator for the Label Visible parameter for the dropdown box so that the label is displayed for Country. The system uses the data provider you create first for all additional Web items. If you have performed the activities in the order described here, the system inserts data provider DP_01 under the Data Binding parameter for the Analysis Web item (see Analysis [Page 56]). For the button group (see Button Group [Page 72]), under parameter Internal Display List of Buttons Caption on the Text Editing dialog box (with option Language-Independent Text) we enter a text for the required pushbuttons. We choose the Command field to assign a suitable command to each button (see Command Wizard [Page 222]). The Edit Command dialog box appears. On the All Commands tab page, select Commands for Planning Applications and choose the required functions in accordance with the following examples: Special Function Buttons

Enterprise Reporting, Query, and Analysis

270

Core Development Tasks Developing User Interfaces

March 2006

Button Text Copy

Command Execute planning function (simple) (EXEC_PLANNING_FUNCTION_SIMPLE )

Parameter Data Binding Reference to Data Provider of Type Filter: DP_01 Command-Specific Parameters Planning Function: Select your copy planning function (PF_Copy in our example)

Revaluate

Execute planning function (simple) (EXEC_PLANNING_FUNCTION_SIMPLE )

Data Binding Reference to Data Provider of Type Filter: DP_01 Command-Specific Parameters Planning Function: Select your revaluate planning function (PF_Revaluate02 in our example)

Save

[SAVE_DATA]

Data Binding: No entry necessary

For more information, see Commands for Planning Applications [Page 249]. 11. Choose 12. Choose to save your Web template (menu path Web Template to execute your Web template. Save).

Result
You can use the planning functions you have created to copy and calculate plan data. The data set is determined by the navigational state of data provider DP_01. You can save the entire Web application by choosing the Save pushbutton.

4.1.2
Purpose

Enterprise Reporting

Enterprise Reporting is the reporting component of the Business Explorer. With the Report Designer, it provides a user-friendly design tool that you can use to create formatted reports that are optimized for presentation and print. You can also access a number of formatting and layout functions. Reports created in the BEx Report Designer can be converted to PDF documents using the connected Adobe server and then printed. You can also use the information broadcasting functions and broadcast reports.

Implementation Considerations
Enterprise Reporting for the Business Explorer enables the preparation of business data in the form of reports. You can create and print corporate balance sheets, HR master data sheets, and so on, in a format and layout specific to the customer.

Enterprise Reporting, Query, and Analysis

271

Core Development Tasks Developing User Interfaces

March 2006

Integration
As a reporting component of the Business Explorer, Enterprise Reporting fits seamlessly into the function and tool landscape of the BI suite. The BEx Report Designer and the Web item report enable simple integration of Enterprise Report Design and Web application design and thus into the BEx Web as well. The following image shows this integration:
SAP NetWeaver Portal Business Explorer Suite (BEx) Information Broadcasting BEx Web BI Pattern Web Analyzer Web Application Designer Report Designer Microsoft Excel Add-in BEx Analyzer

BI Consumer Services

3rd Party BI

BI InfoProvider

BEx Query Designer

Features
Enterprise Reporting comprises the following functions and tools:

BEx Report Designer as a central tool for the creation of reports. See Report Designer [Page 278].

Web Item Report, which is used to integrate reports into Web applications. See Web Item Report [Page 66].

PDF Generation as a print-optimized view of reports. The technical basis for reports is the row pattern concept. For more information, see Row Pattern [Page 273].

Constraints
The reports created with the BEx Report Designer are optimized for presentation and printing, and therefore only have limited navigation options for data analysis (such as setting filter values). You can use the BEx Analyzer [External], the Web Applications [External] and the Web Analyzer [External] for the Business Explorer for free multidimensional data analysis.

4.1.2.1

Static and Dynamic Sections in Reports

A report can include static and dynamic sections. The distinctive feature of static sections is that query fields can be positioned freely.

Enterprise Reporting, Query, and Analysis

272

Core Development Tasks Developing User Interfaces

March 2006

Static Section
A query (or a query view) that contains two structures [Page 395] is the basis of a static section. There is one structure in the rows and one in the columns. A static section is unique because you can freely position all the fields within the section. This is possible because each field is unique in a static section. Thus the initial view in the Report Designer corresponds to the executed query (query view). Each row in the executed query has one row pattern.

A static section can also be a report section without data connection, that is, without a data provider. Such sections include the Page Header and Page Footer, as well as the Report Section (for example, for inserting gaps or your own text and comments), which you can integrate into your report using the Insert menu on the menu bar of the Report Designer.

Dynamic Section
A query (or query view) forms the basis of a dynamic section that has one or more characteristics in the drilldown. This means that one or more group levels is designed for the initial view in the Report Designer. There is one group level for each characteristic. Within a dynamic section, query fields can only be taken from external group levels into internal ones. In dynamic sections, the number of rows varies at runtime, whereas the number of columns is fixed.

Group Level 0

Group Level 1 Group Level 2

4.1.2.2

Row Pattern

A central component of the Enterprise Report Design is the row patter concept. It enables creation of reports with dynamic sections. With reports of this type, the number of

Enterprise Reporting, Query, and Analysis

273

Core Development Tasks Developing User Interfaces

March 2006

characteristic values in the drilldown is not set at the time of report creation. It becomes visible during runtime.

Basics of Structuring Reports


In order to be able to understand the row pattern concept, you need to look at the structure of a report with dynamic sections:

Columns header row Detail row

Results row

In the graphic above, you can see that a number of row types can be identified in a report. This means there is a specifically formatted row that is applied to column headers or a specifically formatted row for results values. For each row type, there is a template, called a row pattern, that describes the color, font, height and width of the rows, and so on.

Enterprise Reporting, Query, and Analysis

274

Core Development Tasks Developing User Interfaces

March 2006

Group Levels

Group level 0

Group level 1

Detail area

The graphic above shows the structure of a query in a report with characteristics, structures and hierarchies. The layout of a query is defined in the drilldown of the structure elements in the columns and rows of the query. Every structure element in the rows of the query corresponds to a group level in the row pattern concept. Thus the number of possible group levels in a report depends on the drilldown status of the query.

Structure of the Group Levels


Each group level comprises:

Header area Detail area Footer area

The detail area itself can also represent a group level (with header and footer and a detail area). This is how group levels can be nested in each other. The innermost group level of a report has detail rows that contain key figures. The Report Designer generates a row pattern for each area of a group level.

In the graphic, the rows of the calendar years correspond to the header area of group level 1.

Row Pattern
Row patterns are the smallest units of a BEx Report that are not divided by page boundaries. Row patterns comprise cell grids whose cells can have specific properties. For more information, see Properties of Row Patterns [Page 276].

Enterprise Reporting, Query, and Analysis

275

Core Development Tasks Developing User Interfaces

March 2006

Report Web Item


The Report Web item uses the row pattern and data to generate the header, detail and footer areas of a report. When the report is executed in the Report Designer, the Report Web Item [Page 66] is called.

4.1.2.2.1

Properties of Row Patterns

Use
With the properties of the row pattern, you define the format of the cells and the entire cell grid. When reports are executed, these properties are visualized.

Integration
The whole row pattern and its properties make report design possible in the Business Explorer. The Report Web item uses these row patterns to display reports. SAP delivers a pool of standard row patterns. These can be changed according to your needs in the BEx Report Designer. However, you can also create new row patterns by setting the properties of the cells in a cell grid.

Features
Cell Properties The cell grid and thus every cell in a cell pattern has the following properties: Property BackgroundColor PaddingLead Description This property sets the background color of the cell. This property sets the gap between the cell boundary that is used as the start direction for each cell's contents and the cell content itself. This property sets the gap between the cell boundary that is used as the end direction for each cell's contents and the cell content itself. This property sets the gap between the upper cell boundary and the cell contents. This property sets the gap between the lower cell boundary and the cell contents. This property sets the frame type for the cell boundary that is used as the start direction for the cell contents. This property sets the frame type for the cell boundary that is used as the end direction for the cell contents.

PaddingTrail

PaddingTop PaddingBottom BorderStyleLead

BorderStyleTrail

Enterprise Reporting, Query, and Analysis

276

Core Development Tasks Developing User Interfaces

March 2006

BorderStyleTop BorderStyleBottom BorderColorLead

This property sets the frame type for the upper boundary of the cell. This property sets the frame type for the lower boundary of the cell. This property sets the frame color for the cell boundary that is used as the start direction for the cell contents. This property sets the frame color for the cell boundary that is used as the end direction for the cell contents. This property sets the frame color for the upper boundary of the cell. This property sets the frame color for the lower boundary of the cell. This property sets the frame width for the cell boundary that is used as the start direction for the cell contents. This property sets the frame width for the cell boundary that is used as the end direction for the cell contents. This property sets the frame width of the upper cell boundary. This property sets the frame width of the lower cell boundary. You use this property to insert text wrapping at the end of the cell. This property determines the width of the cell. This property determines the height of the cell. This property sets the vertical orientation of the contents of a cell (top, centered, bottom) This property sets the horizontal orientation of the contents of a cell (top, centered, bottom) You use this property to merge two cells that are next to each other. You use this property to merge two cells that are one below the other.

BorderWidthTrail

BorderColorTop BorderColorBottom BorderWidthLead

BorderWidthTrail

BorderWidthTop BorderWidthBottom Wrapping Width Height VerticalAlignment HorizontalAlignment Colspan Rowspan (merging rows)

In the Report Designer you can set or change this property for each individual cell in the Properties window. A cell can have the corresponding, associated format that has the properties described above. The format you set can be applied to multiple cells and does not have to be set for each individual cell separately. In the Report Designer, you make these settings in the Properties window. At runtime, the row pattern is applied to the respective rows of the report. Text Properties

Enterprise Reporting, Query, and Analysis

277

Core Development Tasks Developing User Interfaces

March 2006

There are also text properties that you can use to format the contents of the cell. You can also use them to set or change the cell properties in the Report Designer. Property TextColor BackgroundColor FontFamily FontWeight FontSize FontStyle Description This property sets the color of the text. This property sets the background color of the text. This property sets the font (for example, Arial, Times Roman and so on). This property sets the font weight. This property sets the size of the font. This property sets the font style (italics or normal).

4.1.2.3

BEx Report Designer

Use
The Report Designer is a tool you use to format and adapt the layout of your business data as a report (static or dynamic) and according to your needs. You can display this report on the Web. You can also convert the report into a PDF document to print or distribute it. For example, you can design the layout of a corporate balance sheet according to your needs and print it as a PDF document. The data connection for the report is provided by data providers (queries and query views). The Report Designer generates group levels according to the drilldown state of a query or query view. These group levels contain row patterns for the initial report view. The layout and formatting of the initial view can be adapted to suit customers' requirements.

Integration
The Report Designer is a standalone desktop application. You can open the Report Designer directly from the start menu or call it in the Web Application Designer using the context menu for the Report Web item. For more information about reports in Web applications, see Report [Page 66].

Prerequisites
To create a report, a structure must be used in the columns of the underlying query or query view.

Features
The Report Designer includes the following functions:

Enterprise Reporting, Query, and Analysis

278

Core Development Tasks Developing User Interfaces


March 2006

Standard formatting functions such as font, bold and italics, background colors, frames, and so on are available. You can include texts, images, and charts in your reports. You can change the layout of a report. The following options are available: Insert rows and columns Change height and width of rows and columns You can position individual fields (such as characteristic values, key figures, user-specific texts) using drag and drop. Merge cells

You can perform conditional formatting to overwrite the design for specific characteristic values, hierarchy nodes, and so on, determined by the row patterns. You can display BI hierarchies in your report. You can freely design the header and footer sections of your report, as well as the individual pages. You can create reports that comprise multiple independent sections that are based on different data providers. These sections are arranged vertically in the report. See also Static and Dynamic Sections in Reports [Page 272]. You can define page breaks between report sections or for group level changes.

You can call the Report Designer functions using the menu and toolbar, and you can implement them using the various screen areas. See also Functions of the BEx Report Designer [Page 279].

4.1.2.3.1

Functions of the Report Designer

Use
The BEx Report Designer is the reporting tool for the BI suite that is used to create reports that are optimized for presentation and printing.

Integration
The Report Designer can be called as follows:

As a standalone desktop application. From the context menu or the Report Design (REPORT) parameter of the Report Web item in the Web Application Designer.

Features
In addition to the menu bar and application toolbar, the BEx Report Designer consists of five screen areas:

Design area

Enterprise Reporting, Query, and Analysis

279

Core Development Tasks Developing User Interfaces

March 2006

The most important area of the Report Designer is the design area, where you design the layout of your report and format it whereby the report is schematically displayed. A report usually comprises the following elements: Page header Report body Page footer

Page header and footer (if there are any) are repeated on every page of the report. The report body is comprised of static and/or dynamic sections. See also Static and Dynamic Sections in Reports [Page 272]. In the context menu of the design area, you can use various functions to design your report.

Field catalog The field catalog lists all query fields and text elements for a query or query view that is being used, along with free texts created by the user. For more information, see Field Catalog [Page 281].

Report structure In the report structure, the report is displayed with the associated group levels and row patterns. For more information, see Report Structure [Page 282].

Format catalog The format catalog provides an overview of the formats used in the report. For more information, see Format Catalog [Page 283].

Properties In the properties area, you set the properties of the individual report elements (rows or cells). This allows you to determine the format and position of text fields, for example. For more information, see Properties [Page 283]

All the functions required for creating, formatting and designing your report are in the menu bar and toolbar of the Report Designer. See also, Functions of the Menu Bar in the Report Designer [Page 284].

4.1.2.3.2

Working with the Report Designer

Screen Areas of the Report Designer


In addition to the menu and toolbars [Page 284] that provide most of the functions that you need to create a report, you work in or with the following screen areas in the Report Designer:

Design area [Page 281] Field catalog [Page 281] Report structure [Page 282]

Enterprise Reporting, Query, and Analysis

280

Core Development Tasks Developing User Interfaces


March 2006

Format catalog [Page 283] Properties [Page 283]

Interaction Types
Drag&Drop You can use Drag&Drop to drag report elements from the field catalog, report structure, and format catalog screen areas to the design area of the report. You can also use Drag&Drop to move cells and fields within the design area. Context Menu There is a context-sensitive context-menu in the design area, report structure and the format catalog that you can use to access various functions for creating reports.

4.1.2.3.2.1

Design Area

Definition
Screen area of the Report Designer.

Use
The design area is a principal interface element of the Report Designer. You use it to create reports and to display them schematically. The design area displays report elements such as the page header and footer as well as report sections with and without data connection. You can use the context menu in the design area and the various functions provided by the menu bars and toolbars [Page 284] and by the other screen areas of the Report Designer to edit report elements and design your report.

4.1.2.3.2.2

Field Catalog

Definition
Screen area of the Report Designer.

Use
In the field catalog, all query fields and text elements of the data provider (query or query view) that provides the basis for the report is displayed. The field catalog also contains the list of free texts created by users, which were inserted into the header area of the report, for example. Using the field catalog, you can insert or reuse query fields or text elements from the data provider that were deleted from the report, for example, at any time with Drag&Drop. You can also work with free texts the same way.

Structure
The following elements are listed in the field catalog:

Enterprise Reporting, Query, and Analysis

281

Core Development Tasks Developing User Interfaces


March 2006

Free texts Query fields Text elements for the data providers, such as last changed by, due date, query description, and so on.

4.1.2.3.2.3

Report Structure

Definition
Screen area of the Report Designer.

Use
The report structure hierarchically illustrates the report and all its visible and hidden components. As in the design area, the report structure also has a context menu with which you can work. In contrast to the design area, in which you cannot select objects such as group levels, you can select and edit these types of objects in the report structure.

Structure
Depending on the structure of a report, the following elements can be displayed hierarchically.

Page header and/or page footer Static section with the associated row patterns and their cells, which can contain various fields such as free text or query fields.

Report section without data connection Static section with the associated row patterns and their cells, which can contain various fields such as free text or query fields.

Report section with data connection The static and dynamic report sections are displayed with a hierarchical structure. The name of the data provider with the associated row patterns is displayed for every group level (only for dynamic reports), along with the individual elements: every group level is listed in its structure with the associated header, detail and footer areas. Each area of a group level is displayed with the associated rows and their cells, which can also contain query fields and free text. The following graphic illustrates a section of the report structure of a report with a dynamic report section that is connected with data.

Enterprise Reporting, Query, and Analysis

282

Core Development Tasks Developing User Interfaces

March 2006

4.1.2.3.2.4

Format Catalog

Definition
Screen area of the Report Designer.

Use
The format catalog provides an overview of the formats used in the report. Both standard formats and user-defined formats are displayed. You can transfer the formats to report elements (rows or cells) using Drag & Drop.

4.1.2.3.2.5

Properties

Definition
Screen area of the Report Designer.

Use
You can use the properties area to define the properties of individual report elements (rows or cells). To do this, select the required row or cell and make the required settings in the properties area. This allows you to determine the format and position of text fields, for example.

Enterprise Reporting, Query, and Analysis

283

Core Development Tasks Developing User Interfaces

March 2006

4.1.2.3.3

Functions of the Menu Bar in the Report Designer

Use
From the menu bar and toolbars in the Report Designer, you can access all of the functions that you need to create or edit a report.

Features
Menu Bar
The functions are available from the following menus of the menu bar:

Report [Page 285] Edit [Page 286] View [Page 287] Insert [Page 287] Format [Page 288] Extras [Page 289] Help [Page 290]

Toolbars
The Report Designer has the Standard and Format toolbars.

Standard Toolbar
In the Report toolbar, the following functions are available from the menu bar on pushbuttons:

New Open Save Selecting a data provider Executing Print version

Format Toolbar

Font Font size Bold Italic Left justified

Enterprise Reporting, Query, and Analysis

284

Core Development Tasks Developing User Interfaces


March 2006

Center Right justified Align at top Centered vertically Align at bottom Align columns Borders Fill color Font color

4.1.2.3.3.1

Functions in the Report Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Report Designer in the Report menu.

Features
You can choose from the following functions in the Report menu: Menu Entry New Description You use this function to create a new report.

Open

This function takes you to the BEx open dialog [External]. From this dialog, you can open a report from your history, favorites, or roles, or by using the search function, and then edit it. You use this function to close a report. If you have edited a report and want to keep the changes, save the report before you close it. You use this function to save any changes you have made to an existing report. When you create a new report and choose Save, the BEx save dialog [External] appears. You can then save your report in your favorites or roles. This function takes you to the BEx save dialog, where you can save your report with a different name in your favorites or roles. When you choose this function, the report is deleted permanently.

Close

Save

Save As

Delete

Enterprise Reporting, Query, and Analysis

285

Core Development Tasks Developing User Interfaces

March 2006

Select Data Provider

You use this function and the open dialog to choose a data provider for a report section. The data providers for a report section can be queries or query views. Once you have made your selection, the data provider is automatically inserted into a report section and displayed in the design area. You use this function to set up the page for the report: you can specify the page size (such as DIN A4 or Letter), the page orientation (portrait or landscape), and the margins. You use this function to execute the report in the portal. The report is displayed in the standard Web template for reports. You set the standard Web template for reports in Customizing for the standard Web templates at SAP NetWeaver Business Intelligence Reporting-Relevant Settings BEx Web Setting Standard Web Templates Enterprise Report. You use this function to convert the report directly into a PDF document that you can later print. In Role... You use this function to publish reports in roles. The system saves a link to the current report in the selected role. To Portal... You use this function to publish reports as iViews in the Portal Content Directory. See also Publishing Queries, Web Applications and Reports [External]. BEx Broadcaster... You use this function to open the BEx Broadcaster, which you can use to precalculate and broadcast the report. See also Precalculating and Broadcasting Queries, Query Views, Web Templates and Reports [External].

Set Up Page

Execute

Print Version

Publish

Exit

You use this function to close the Report Designer.

4.1.2.3.3.2

Functions in the Edit Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Report Designer in the Edit menu.

Enterprise Reporting, Query, and Analysis

286

Core Development Tasks Developing User Interfaces

March 2006

Features
You can choose from the following functions in the Edit menu: Menu Entry Delete Description You use this function to delete rows or fields in the report, for example.

4.1.2.3.3.3

Functions in the View Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Report Designer in the View menu.

Features
You can choose from the following functions in the View menu: Menu Entry Report Structure Field Catalog Properties Format Catalog Description You use this function to show and hide the Report Structure screen area. You use this function to show and hide the Field Catalog screen area. You use this function to show and hide the Properties screen area. You use this function to show and hide the Format Catalog screen area. You use this function to show and hide the display of group levels in the design area. You use this function to show and hide the ruler in the design area.

Group Levels Ruler

4.1.2.3.3.4

Functions in the Insert Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Report Designer in the Insert menu.

Features
You can choose from the following functions in the Insert menu: Menu Entry Description

Enterprise Reporting, Query, and Analysis

287

Core Development Tasks Developing User Interfaces

March 2006

Page Header

You use this function to insert a page header into the report, which you can then change according to your needs. You use this function to insert a page footer into the report, which you can then change according to your needs. You use this function to insert a report section into the report. The inserted report section has no data connection. You use this function to insert free text into a cell of the report.

Page Footer

Report Section

Free Text

4.1.2.3.3.5

Functions in the Format Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Report Designer in the Format menu.

Features
You can choose from the following functions in the Format menu: Menu Entry Font Font Size Bold Description You use this function to specify the font. You use this function to set the font size for texts. You use this function to format texts as bold.

Italic Orientation

You use this function to set texts as italic. You use this function to make the following settings for texts or elements located in a cell of the report:

Left Align Centered Right Align Align Top Vertically Centered Align Bottom

Enterprise Reporting, Query, and Analysis

288

Core Development Tasks Developing User Interfaces

March 2006

Align Columns

You use this function to align the columns for multiple report sections with one another. Alignment is based on the report section that you are currently working on in the design area. You use this function to define the border type for each cell.

Borders

Outside Border Lines No Borders Top Border Bottom Border Left Border Right Border The border type is additive, which means it is added to the existing border. If you choose No Borders, all borders are deleted.

Background Color Font Color Conditional Formatting

You use this function to color a cell. You use this function to color text. You use this function to set a design that deviates from the design for selected characteristic values, hierarchy nodes, and so on, that is set by the default row patterns.

4.1.2.3.3.6

Functions in the Extras Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Report Designer in the Extras menu.

Features
You can choose from the following functions in the Extras menu: Menu Entry BEx Query Designer Description You use this function to call the BEx Query Designer, to create new data providers of the type query.

Enterprise Reporting, Query, and Analysis

289

Core Development Tasks Developing User Interfaces

March 2006

BEx Web Analyzer

You use this function to call the BEx Web Analyzer, to create new data providers of the type query. You use this function to make settings for the Report Designer. In this way, you can change the theme for displaying the reporting the portal, for example, or activate a trace recording of the report and set the trace level which determines the granularity of the trace recording.

Settings

4.1.2.3.3.7

Functions in the Help Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Report Designer in the Help menu.

Features
You can choose from the following functions in the Help menu: Menu Entry Application Help... Description You can use this function to view the SAP NetWeaver online documentation. The Enterprise Reporting section is displayed automatically in the documentation for the Business Explorer. You use this function to see the release of the Report Designer along with patch and revision numbers. You can quote this information to SAP if you need to send problem messages.

About

4.1.2.4

From the Query to the Report

Purpose
The objective of this design process is to create a report that is optimized for presentation and printing.

Prerequisites

To create a report, you need a query (or a query view) that must contain a structure [Page 395] in the columns.

Enterprise Reporting, Query, and Analysis

290

Core Development Tasks Developing User Interfaces

March 2006

Before you start creating a report, you determine how the report is to be designed: The query fields can be positioned freely in a static section, because the static section is based on a query with two structures. A typical use for reports with static sections is in financial statements. In contrast to this, the number of rows in a dynamic section is data-dependent. Thus, the layout options in dynamic sections are restricted in comparison to static sections.

Note that static report sections also represent sections of a report with no data connection. These are typically the page header or page footer for the report, for example. For more information, see Static and Dynamic Sections in Reports [Page 272].

Process Flow
...

1. Selecting a data provider You use the Data Provider function to select a suitable query or query view as the data provider. The selected data provider is automatically embedded in a report section and is displayed together with the associated row patterns in the design area of the Report Designer.

If you want to create a new query or change an existing one, call the BEx Query Designer from the Tools menu in the menu bar for the Report Designer. If you want to create a new query view or change an existing one, call the BEx Web Analyzer from the Tools menu in the menu bar for the Report Designer. 2. Designing the report You create the design of the report. The following options are available for this purpose: You can use standard formatting functions such as color, font and frame selection for individual report elements (cells or fields). You can make layout changes, for example, adapt the height and width of rows and columns as required, insert free text, and rearrange query fields and text elements. You can design the header and footer areas of the page and the report. You can insert images and free text into these areas or integrate totals fields for the query into the header area using drag and drop, for example.

3. Saving the report You save the report using the save dialog. Once you have saved the report, you can also use it in Web applications into which you have inserted the Report Web item. 4. Executing the report You execute the report in the portal (Web). The report is displayed in the standard Web template for reports [Page 295]. You can set the standard Web template for reports in Customizing for the standard Web templates at SAP NetWeaver Business Intelligence Reporting-Relevant Settings BEx Web Setting Standard Web Templates Enterprise Report.

Enterprise Reporting, Query, and Analysis

291

Core Development Tasks Developing User Interfaces

March 2006

You can also create a print version of the report directly in the Report Designer. The report is converted into a PDF document, which you can then print. 5. Publishing reports You can publish reports in BI roles or as iViews in the portal. You can also call the BEx Broadcaster from the Report Designer and broadcast reports. For more information, see Functions of the BEx Broadcaster [External].

Result
You have created a report that meets your requirements, and that you can convert directly to a print version or display as a Web application in the portal (Web). For more information about creating reports, see Creating Reports with the Report Designer [Page 292].

4.1.2.5

Creating Reports with the Report Designer

Use
You can use the BEx Report Designer to easily create reports that are optimized for presentation and printing.

Prerequisites
To create a report, you need a query or a query view as a data provider. The query or query view must contain a structure [Page 395] in the columns.

Procedure
Selecting a Data Provider
...

1. Choose Report Select Data Provider in the menu bar of the Report Designer. The BEx open dialog appears. 2. In the lower area of the open dialog, specify whether you want to use a Query or a Query View as the data provider, and choose a data provider from your favorites or history view, or by using the search function. The selected data provider is automatically embedded in a report section and is displayed in the design area of the Report Designer.

To define a new data provider, in the menu bar of the Report Designer, choose Tools BEx Query Designer (to define a new query) or BEx Web Analyzer (to define a new query view).

Designing the Report


There are various options that you can use to design your reports. Since the design process varies from case to case, only the basics of the procedure and options are described here.

Enterprise Reporting, Query, and Analysis

292

Core Development Tasks Developing User Interfaces

March 2006

Using Standard Formatting Functions


Standard formatting functions include color, font and border selection for individual report elements (cells or fields), for example. If you want to add color to a cell, select the cell and in the menu bar, choose Format Fill Color. The color selection dialog appears; you can now choose the required color.

Making Layout Changes


The options available for changing the layout of a report include:

Changing the Height and Width of Rows and Columns To increase the width of a column, select the outer right border of the column header and drag it along the length of the ruler displayed in the design area until you reach the required width. The column width is adjusted accordingly.

Inserting Free Texts into the Report To insert a free text, proceed as follows: a. Select the cell or field into which you want to insert the text, and choose Insert Free Text in the context menu for the cell, or Insert Free Text in the menu bar of the Report Designer. b. Double-click the selected cell. The cell is now input ready. c. Insert the text and use the design functions as required, for example, if you want to apply a special font type or size to the text.

Arranging Fields (Query Fields, Text Elements, or Free Texts) Differently or Deleting Them To move a field displayed in the design area within the report, select it and drag it to the required cell using drag and drop. To delete a field displayed in the design area, select the field and choose Delete Field in the context menu. If you have deleted a field from the design area and want to insert it again later, or if you want to reuse a field in the page header or page footer for the report, choose the field from the field catalog and drag it to the required cell in the design area using drag and drop.

Inserting Additional Report Sections You can insert additional report sections (to insert comments or footnotes, for example), as well as a page header or footer into your report. To do this, in the menu bar for the Report Designer, choose Insert Page Header or Page Footer or Report Section. To insert a report section that is directly connected with data, in the menu bar of the Report Designer, choose Report Select Data Provider. The selected data provider is inserted directly into a report section and is displayed in the design area.

Changing Formats for Rows To change the format for a row, you can use the standard formatting functions available in the menu bar and toolbars, or the format catalog. In the format catalog, choose the format from the standard formats or the specific formats (that you created) and drag it using drag and drop to the row whose format you wish to change.

Enterprise Reporting, Query, and Analysis

293

Core Development Tasks Developing User Interfaces

March 2006

Creating Conditional Formatting To format certain characteristic values (such as customer XY) differently, you can use conditional formatting. For more information, see Creating Conditional Formatting [Page 294].

...

Saving the Report


In the menu bar for the Report Designer, choose Report Save. The BEx save dialog appears. Enter a suitable description and a technical name for the report and save it in your favorites or roles.

You can open the saved report in the Report Designer at any time, to change it, for example. You can also insert the report into a Web application using the Report [Page 66] web item.

Executing the Report


Executing in the Portal
In the menu bar for the Report Designer, choose Report Execute. The report is displayed in the standard Web template for reports in the portal (Web). See also Standard Web Template for Reports [Page 295].

Printing the Report


In the menu bar for the Report Designer, choose Report Print Version. The report is automatically converted to a PDF document, which is then displayed. You can print this document as required.

Result
You have created and saved a report to suit your requirements. You can display and print this report as a PDF document or execute it in the portal.

4.1.2.6

Creating Conditional Formatting

Use
Conditional formatting makes it possible to format selected characteristics (such as customer XY) differently. In the executed report, these characteristic values have the formatting you specify and are set apart from the other characteristic values in your group level.

Prerequisites
Conditional formatting can only be applied to characteristic values in dynamic sections of a data provider. A query (or query view) with one or more characteristics in the drilldown forms the basis of a data provider with a dynamic section.

Enterprise Reporting, Query, and Analysis

294

Core Development Tasks Developing User Interfaces

March 2006

Procedure
...

1. Choose Report Select Data Provider to select a data provider with a dynamic section. The selected data provider is automatically embedded in a report section and is displayed together with the associated row patterns in the design area of the Report Designer. 2. In the design area, select a row in the group level of the characteristic for which you want to apply conditional formatting to its characteristic value(s). 3. In the menu bar for the Report Designer, choose Format Conditional Formatting. The BEx input help dialog [External] appears. 4. In the BEx input help dialog, select a characteristic value for which you want to create the conditional formatting. In the design area, an additional row is displayed for the selected characteristic value beneath the selected characteristic row. This new row has its own row pattern. 5. Select the new row for the characteristic value and use the formatting functions provided in the menu and toolbars of the Report Designer to apply the required formatting. You can, for example, color the row, left or right align the row, or add borders to the row. 6. Save the report and execute it. This allows you to check the display of your conditional formatting. 7. To apply conditional formatting for further characteristic values of a data provider, repeat steps 2 to 6.

Result
You have applied conditional formatting for a characteristic value.

4.1.2.7

Standard Web Template for Reports

Use
When you display a report in the portal (Web), it is automatically embedded in the standard Web template for reports. The report is displayed in at table on the Web. In addition, a date in the upper area of the Web template indicates how current the data is. Using the standard pushbuttons provided, Information, Send, and Print Version, and the link Filter, you can access the most common functions for navigating in and further editing your report.

Integration
When you have created and saved a report in the Report Designer, choose (Execute): the report is displayed automatically in the portal using the standard Web template for reports. From a technical perspective, the standard Web template for reports is based on the 0REPORT_DEFAULT_TEMPLATE Web template. This Web template is set as the default for displaying reports from the Report Designer in the SAP Customizing Implementation Guide under SAP NetWeaver Business Intelligence Reporting-Relevant Settings BEx Web Set Standard Web Templates Enterprise Report. The standard Web template contains three pushbuttons, Information, Send and Print Version, and the link Filter to call the filter pane. You can copy this Web template to make changes and set it as your new standard Web template for reports in the IMG.

Enterprise Reporting, Query, and Analysis

295

Core Development Tasks Developing User Interfaces

March 2006

Features
The functions of the individual pushbuttons and the Filter link are as follows:

Information pushbutton You use this pushbutton to display information about the data provider, such as the technical name and description, the name of the person who last changed it, and the key data for the data provider. You can also document the data provider.

Send pushbutton You use this pushbutton to navigate to the broadcasting wizard, from which you can precalculate and distribute your report. For more information, see Functions of the BEx Broadcaster [External].

Print Version pushbutton You use this pushbutton to directly create a PDF version of the report, which you can then print, as required.

Filter link You use this link to display a filter pane above the table displayed in the report. In this filter pane, characteristic values for the characteristics used in the data provider are displayed and available for filtering. This allows you to change the view of the report and use certain analysis options. For more information, see Filter Pane [Page 70].

4.1.2.8

Example Scenarios: Creating Different Report Types

4.1.2.8.1

Balance Sheet: Arranging Assets and Liabilities Beside Each Other

Use
Using the Report Designer, you want to create a balance sheet to allow management to compare assets and liabilities/equities to one another. Assets [External] and liabilities and equities [External] are to be displayed next to one another in the report.

Prerequisites
You require a data provider that is based on a static section. A query or query view with two structures is such a data provider. For more information about this type of data provider, see Static and Dynamic Sections in Reports [Page 272].

Procedure
...

1. Open the BEx Report Designer. 2. If required, insert a page header into the design area of the Report Designer by choosing Insert Page Header.

Enterprise Reporting, Query, and Analysis

296

Core Development Tasks Developing User Interfaces

March 2006

3. Design the page header by using the context menu of the page header row to insert free text, for example. 4. Insert an appropriate data provider based on a static section into the design area of the Report Designer by choosing Report Add Data Provider. The assets and liabilities/equities items are arranged one after another in the structure. The are generally displayed in the executed report accordingly. However, since you want to directly compare the assets and liabilities/equities in the report, proceed as follows: 5. Insert the text Assets into the left column header. 6. Select the last column in the design area, and in the context menu, choose Insert Column (Right). An additional column, which you can use as a separator between the assets and liabilities/equities, is displayed. 7. To reduce the width of the column, drag the outer border of the new column along the length of the ruler until you reach the required width. 8. Insert two additional columns in the right design area, as described in step 6. 9. Insert the text Liabilities/Equities into one of these columns. 10. Using drag and drop, drag those cells with liabilities/equities items from the structure into the cells in the new column. 11. Format the rows of the column headers by increasing the width, creating borders, or adding colors, for example. 12. Format additional rows or cells in your report as required. The following figure provides an example of changes to be made during the design process:
Free texts Inserted columns

Drag and drop of cells

Formatted rows and columns

Inserted rows

13. If required, insert a page footer into the design area of the Report Designer by choosing Insert Page Footer and adjust the design to meet your needs. 14. When you have applied all the formatting required, save the report. The following figure provides an example of the report or balance sheet in the Report Designer after all the necessary and required changes have been made:

Enterprise Reporting, Query, and Analysis

297

Core Development Tasks Developing User Interfaces

March 2006

15. Execute the report by choosing Report Execute.

Result
You have created a balance sheet that displays assets and liabilities/equities next to one another. The following figure provides an example of the executed report (the report is displayed using the standard Web template for reports [Page 295]):

4.1.3
Use

Design Mode

In BEx Analyzers design mode, you design the interface for your query applications. A query itself, essentially a complex select statement, is an abstract object without visualization. Once you embed it into an Excel workbook and enter design mode, you add its visualization by designing its interface. In design mode, your workbook appears as a collection of design items [Page 306] represented by their respective icons. Once you switch to analysis mode, the results of your

Enterprise Reporting, Query, and Analysis

298

Core Development Tasks Developing User Interfaces

March 2006

query appear according to how you have configured these design items. Thus, with design items you create an interface that dictates how you will analyze and navigate the results in analysis mode. Results of the query are displayed in the analysis grid [Page 307] design item, in which you also navigate and analyze the querys results, with the assistance of the navigation pane [Page 314] design item. Further customize the interface of your query by adding and arranging design items such as dropdown boxes [Page 323], radio button groups [Page 328], and checkboxes [Page 326] with which you filter your results. In addition, you can use the editing functions in Microsoft Excel in order to format your workbook, print results areas, insert additional worksheets, and create graphics and charts. The workbooks you create in design mode are thus complete query or BI applications. In analysis mode, you can then save them in your favorites or in your role on the BW server for someone else to then open and work with in analysis mode. You can also save the workbook locally on your computer.

Worksheets are protected by default in design mode to prevent you from unintentionally deleting design items.

Activities

Access design mode functionality with its dedicated design toolbar or via the BEx Analyzer menu. See also: Design Functions [Page 299] Use design items as the building blocks of your query interface. See also: Design Items [Page 306] Configure data providers to deliver data to your design items. See also: Configuring Data Providers [Page 337] Configure the analysis grid to fetch data via Microsoft Excel formulas, so that you can format the grid any way you wish. See also: Working in Formula Mode [Page 340] Arrange items in your workbook, resize, and delete them. See also: Moving and Resizing Design Items [Page 341], Deleting Design Items [Page 343]

4.1.3.1

Design Functions

Use
When you start BEx Analyzer, the BEx Analyzer menu and two toolbars appear in Microsoft Excel. You access design functions with the design toolbar (BEx Analyzer Design) and the BEx Analyzer Design Toolbar menu. All the functions available on the toolbar are also available on the menu.

You can toggle the display of the design toolbar in Microsoft Excel via the menu path View Toolbars BEx Analyzer Design.

Enterprise Reporting, Query, and Analysis

299

Core Development Tasks Developing User Interfaces

March 2006

Features
Design Mode / Exit Design Mode
You can manually switch between BEx Analyzer modes with this function, which is a toggle function:

If you are in analysis mode and want to switch to design mode, choose Design Mode from the design toolbar, or BEx Analyzer Design Toolbar Design Mode from the menu. If you are in design mode and want to exit it and switch to analysis mode, choose Exit Design Mode from the design toolbar, or BEx Analyzer Design Toolbar Exit Design Mode from the menu.

See Design Mode / Exit Design Mode [Page 301]

Insert [Design Item]


There are eleven design items, each of which you can insert via a dedicated tool on the analysis toolbar or menu item on the BEx Analyzer Design Toolbar menu:

Insert Analysis Grid [Page 307] Insert Navigation Pane [Page 314] Insert List of Filters [Page 319] Insert Button [Page 321] Insert Dropdown Box [Page 323] Insert Checkbox Group [Page 326] Insert Radio Button Group [Page 328] Insert List of Conditions [Page 331] Insert List of Exceptions [Page 332] Insert Text [Page 333] Insert Messages [Page 336]

To learn about the steps involved in inserting and configuring design items, see Inserting Design Items [Page 301]. To learn about design items, see Design Items [Page 306]

Workbook Settings
Use the workbook settings function to configure general functionality or apply themes to individual workbooks:

Choose Workbook Settings from the design toolbar, or BEx Analyzer Design Toolbar Workbook Settings from the menu.

See Workbook Settings [Page 303]

[Item Name] (menu only)


The names of each design item you have inserted into the workbook are listed at the end of the BEx Analyzer Design Toolbar menu in order to provide access to item properties via the menu. These menu items are only active in design mode.

Enterprise Reporting, Query, and Analysis

300

Core Development Tasks Developing User Interfaces

March 2006

In design mode, choose BEx Analyzer Design Toolbar [Item Name] from the menu. The properties dialog box for the selected design item is evoked.

To access item properties with a mouse, in design mode, click the icon that represents the item.

4.1.3.1.1

Design Mode / Exit Design Mode

Use
With this function, which is a toggle function, you can manually switch in and out of design mode.

Features
The functions of analysis mode and design mode are typically both active, and BEx Analyzer switches automatically to the right mode when you choose a function. For example if you are in analysis mode, and you select a tool on the design toolbar in order to insert a design item, Analyzer switches automatically to design mode, turning design items into their icon representations and allowing you to work with them and their properties. There can be times, however, when you want to manually switch in and out of design mode. For example, after you have inserted a design item and you want to view the query results, you want to switch into analysis mode. In this case, you use Exit Design Mode.

Activities
To switch manually between BEx Analyzer modes:

If you are in analysis mode and want to switch to design mode, choose Design Mode from the design toolbar, or BEx Analyzer Design Toolbar Design Mode from the menu. If you are in design mode and want to exit it and switch to analysis mode, choose Exit Design Mode from the design toolbar, or BEx Analyzer Design Toolbar Exit Design Mode from the menu.

4.1.3.1.2

Inserting Design Items

Use
Use design items in BEx Analyzer to provide controls, interface, and functionality to your worksheet, turning it into a query application. There are eleven design items available (see Design Items [Page 306]). All design items are based on data providers. After you insert the design item into your workbook, you configure the data provider and other properties relevant for the particular item (see Configuring Data Providers [Page 337]).

Enterprise Reporting, Query, and Analysis

301

Core Development Tasks Developing User Interfaces

March 2006

Design items are represented by icons while in design mode. When in analysis mode, properly configured design items return data as configured from the data providers upon which they are based.

To add a dropdown box, radio button group, checkbox group, or button to your workbook, you must enable Microsoft Excel's Trust access to Visual Basic Project setting (in Tools Macro Security Trusted Sources). If you omit this step, you will see an Access to Visual Basic project failed error when you attempt to insert or access these design items in analysis mode.

Procedure
To insert and configure design items:
...

1. If you are not already in design mode, use the Design Mode / Exit Design Mode [Page 301] function to enter design mode.

This is an optional step. If you are not already in design mode, BEx Analyzer automatically switches to design mode when you choose a design function from the toolbar or menu. 2. Select a cell or cells in the worksheet in which you want your design item to appear.

You only need to select one cell to insert a design item, and this will correspond to the items upper-left coordinate. You dont need to worry about selecting a range of cells large enough to accommodate query results. Once you switch to analysis mode and the design items populate with results, they expand to fill the space required by the results. The upper-left coordinate remains fixed, and the lower-right coordinate expands to accommodate the data returned. See Moving and Resizing Design Items [Page 341] 3. Insert a design item: Choose Insert [Design Item] from the design toolbar, or BEx Analyzer Design Toolbar Insert [Design Item] from the menu.

An icon representing the design item appears in the workspace. 4. Evoke the properties dialog box for your design item to configure its properties: To access item properties with a mouse, click the icon that represents the item (with your left, or primary mouse button). You may also click with your right (or secondary) mouse button, and choose Properties. To access item properties with the menu, while in design mode choose BEx Analyzer Design Toolbar [Item Name] from the menu.

The names of each design item you have inserted into your workbook appear on the BEx Analyzer Design Toolbar menu. These menu items are only active in design mode. The properties dialog box for the selected design item is evoked.

Enterprise Reporting, Query, and Analysis

302

Core Development Tasks Developing User Interfaces

March 2006

5. Configure the data provider for your design item (see Configuring Data Providers [Page 337]). 6. Configure additional properties relevant for your design item (see specific design items in Design Items [Page 306]). 7. When you have completed configuring your design item, click OK.

Result
In the worksheet, the design item icon designates the location and approximate size of your item (see Moving and Resizing Design Items [Page 341]). When you switch to analysis mode, properly configured design items return data as configured from the data providers upon which they are based. See also:

Design Items [Page 306] Configuring Data Providers [Page 337] Moving and Resizing Design Items [Page 341] Deleting Design Items [Page 343]

4.1.3.1.3

Workbook Settings

Use
Use the workbook settings function to configure general functionality or apply themes to individual workbooks. (To apply default settings valid for the entire application, including default workbook, see Global Settings [External].)

Features
Configure general properties for the workbook on the General tab, and configure themes on the Themes tab. In this dialog box, you can also attach the macro necessary to use BEx Analyzers API.

General
The following settings are available on the General tab:

Refresh Workbook on Open


If selected, when you open a workbook from the server, the query is automatically refreshed with values from the server. If not selected, of if you are opening a workbook from your local file system, you must manually refresh the query after you open it to retrieve the latest results from the server. See also Refresh / Pause Automatic Refresh [External]

Process Variables on Refresh


If any query in your workbook contains variables, current values set for the variables are part of the query view definition and are therefore stored in the workbook. If you refresh the workbook, these existing values will be used when fetching the data.

Enterprise Reporting, Query, and Analysis

303

Core Development Tasks Developing User Interfaces

March 2006

If you want to enter new variable values anytime the workbook is refreshed, select this checkbox. Then, whenever you refresh your query, the Change Variable Values dialog box is also evoked and you may set new values for the variables in the query at that time. See also Changing Variable Values [External].

Allow Drag and Drop


Selected by default, if deselected, you will not be able to use drag and drop functionality to navigate your query in the analysis grid and navigation pane. See also Drag and Drop Functions [External].

Protect Workbook
If selected, BEx Analyzer password-protects all the sheets in your workbook against any changes you make with Analyzer functions. When you attempt to change your workbook by inserting a design item, for example, Analyzer requests the password you configured here and allows the changes only if you provide the correct password. When BEx Analyzer protects your workbook, you can still navigate in analysis mode, but you can't enter data. Cells that are not locked via cell protection are not protected. Activate Enable Cell Protection in the Analysis Grid [Page 307] properties to protect the cells in the analysis grid as well. Analyzers workbook protection is similar to Microsoft Excels workbook protection (Tools Protection), however, you cannot navigate your query if you protect your workbook using Excels protection. When Protect Workbook is selected, the Password and Confirm Password fields activate. Enter a password in the Password field, and re-enter the same password in the Confirm Password field.

In design mode, worksheets themselves are protected by default to prevent you from unintentionally deleting design items. Temporarily disable sheet protection (Tools Protection Unprotect Sheet on Microsoft Excels menu) or switch to analysis mode before formatting your workbook.

Transfer Plan Values


In a planning workbook, when you change the value of an input enabled cell and perform navigation, the changed value is stored in the buffer on the BI Server. However, you can change this behavior by selecting the appropriate option described below:

Transfer Plan Value to the Server Before Navigation The changed value will be transferred automatically when you perform navigation. You need not perform the Transfer Plan Values function explicitly from the context menu when you change data in an input enabled cell. Confirm Transferring Plan Values to the Server Before Navigation A message pop up prompts you to confirm whether or not the changed value need to be transferred. You need not perform the Transfer Plan Values function explicitly from the context menu when you change data in an input enabled cell. Do not Transfer Plan Values to the Server Before Navigation The changed value will not be transferred automatically when you perform navigation. You must perform the Transfer Plan Values function explicitly from the context menu when you change data in an input enabled cell.

Enterprise Reporting, Query, and Analysis

304

Core Development Tasks Developing User Interfaces

March 2006

Themes
BEx themes, based on NetWeaver Portal styles, are shared services across the Business Explorer suite. In BEx Analyzer, they are delivered as a set of Microsoft Excel style definitions for your workbook. Themes provide formatting information such as background color, font, and font size. To see the set of style definitions associated with a particular workbook, choose Format Style from Microsoft Excels menu. Those that are provided by Business Explorer are prefixed by SAPBEX*. Themes are content objects that are stored on the server and that you can choose to activate. They are similar to stylesheets in that you can make a central change to a theme and all workbooks that use the theme will update accordingly. The following settings are available on the Themes tab:

Current Theme
Displays the list of available BEx themes. The BEx theme that is currently applied to your workbook, if any, is selected.

New/Delete/Apply/Save
If you have the following special authorization under your user name you can change and save themes on the server: AUTHORITY-CHECK OBJECT 'S_RS_TOOLS' ID 'COMMAND' FIELD 'THEMES'. If you have this authorization, these buttons appear:

Create a new theme with the New button. Select a theme from the Current Theme list, and choose Delete to delete it. This first deletes your theme locally. Select a theme from the Current Theme list, and choose Apply to apply currently configured styles to it. When you do this, BEx Analyzer reads the Microsoft Excel style definitions of all the styles in the workbook prefixed by SAPBEX* and stores them into the selected theme. This allows you to edit the styles in Microsoft Excel and then create a theme with these customized styles. To save all the themes to the server, choose Save.

Reapply Theme Before Rendering


Since BEx themes are saved on the server, they may be changed on the backend. Select this radio button if you wish to retrieve the most up-to-date definition of the style from the server and apply it again.

Apply New Styles


Select this radio button to update the current workbook with any style that has been added to the theme on the server since the theme was originally applied. If, for example, new styles have been added to a theme during a patch release, you can retrieve them from the server with this option.

Do Not Use a Theme


Select this radio button to stop using the selected theme in your workbook.

Enterprise Reporting, Query, and Analysis

305

Core Development Tasks Developing User Interfaces

March 2006

Items
All design items that are inserted in the selected workbook appear in the Items tab. You can view or modify the properties of a design item, if required.

Data Provider
All data providers that are configured for the design items of the selected workbook appear in the Data Provider tab. You can create a data provider or modify an existing data provider, if required.

Using the BEx Analyzer API


To use BEx Analyzers API, you need a particular macro as well as references to the type libraries. Instead of manually maintaining the macro and references, you can do this using the following toggle button, available on either tab in this dialog box:

Attach Macros / Delete Macros


Choose Attach Macros to attach the macro and references you need to use Analyzers API. Choose Delete Macros to remove the references.

If you attach macros to your workbook and then save it locally, when you open it again you will receive a security popup. For this reason, macros are not automatically attached to workbooks. Simply choose Delete Macros to discontinue their use and the appearance of these popups.

Activities
Choose Workbook Settings from the design toolbar, or BEx Analyzer Design Toolbar Workbook Settings from the menu. See also:

Global Settings [External]

4.1.3.2

Design Items

Definition
Design items are objects that retrieve data from data providers [Page 337] and present that data in BEx Analyzer worksheets. You can also navigate [External] with most of the design items. You use design items to design the interface to your query and thus create query applications. All the design items except for the Messages item are based on data providers.

Design items correspond to Web items in Web applications.

Structure
There are eleven design items you can use when building the interface to your queries:

Analysis Grid [Page 307] displays the results of a query. The analysis grid is the main design item in which you can navigate and perform OLAP functions.

Enterprise Reporting, Query, and Analysis

306

Core Development Tasks Developing User Interfaces


March 2006

Navigation Pane [Page 314] provides access to all characteristics and structures in the query for use in navigation and analysis. List of Filters [Page 319] lists all currently active filters. Button [Page 321] lets you execute a customized command on your results. Dropdown Box [Page 323] allows you to set a filter via selection from the dropdown box. Checkbox Group [Page 326] allows you to set a filter via checkbox selection. Radio Button Group [Page 328] allows you to set a filter via radio button selection. List of Conditions [Page 331] lists existing conditions and their status, and lets you activate and deactivate them. List of Exceptions [Page 332] lists existing exceptions and their status, and lets you activate and deactivate them. Text [Page 333] displays text elements for the query. Messages [Page 336] displays messages associated with the application (the workbook).

See also:

Design Mode [Page 298] Inserting Design Items [Page 301] Deleting Design Items [Page 343] Web items [Page 54]

4.1.3.2.1

Analysis Grid

Definition
The analysis grid is the design item that provides the main analysis functionality in BEx Analyzer. It displays the results of a query in a table in which you can navigate and perform OLAP functionality. See Inserting Design Items [Page 301] to learn about how to insert the analysis grid and access its properties, which are described below.

Use
Use the analysis grid as the central design item in your worksheets. The grid displays query results in data cells, and characteristics and structures in either rows or columns of a table. When designing a workbook, you can use the grid together with the navigation pane [Page 314] and other design items to create a query application with full access to the range of OLAP functionality. In analysis mode, you can navigate [External] in the grid in different ways:

Using the context menu [External]

Enterprise Reporting, Query, and Analysis

307

Core Development Tasks Developing User Interfaces


March 2006

Using drag and drop [External] Using icons (see below)

You can configure various settings that affect the way the grid behaves and displays using its properties.

Structure
The functionality and properties of the analysis grid are described in the following sections:

Cell types of the analysis grid Context menu functions by cell type Analysis grid icons Analysis grid properties

Cell Types of the Analysis Grid


When referring to the analysis grid, we use the following terminology to refer to the different types of cells:

characteristic
0VC_CUST 1 2 3 4 0VC_COUN AUS DE AUS DE AUS AUS

structure member (key figure)


Australia Germany Australia Germany Australia Australia 0VC_AMT 0VC_ORD 56.05 DM 8,877.92 DM 224.20 DM 4,438.96 DM 112.10 DM 56.05 DM 1 1 1 1 1 1

characteristic value

data value

Different navigation functions are available depending on which type of cell you have selected.

Context Menu Functions by Cell Type


Context menu functions available in analysis mode for the analysis grid are outlined in the table below. A function is available on the context menu for a given cell type if the corresponding cell in the table below is shaded and marked with an X. See notes below the table for the cells that contain asterisks:

Enterprise Reporting, Query, and Analysis

308

Core Development Tasks Developing User Interfaces

March 2006

(Function) Back Back to Start Keep Filter Value Select Filter Value Filter and Drill Down --> List of dimensions Remove Filter Exchange Dimension1 with --> List of dimensions (+ structures) Drill Down --> List of dimensions Remove Drilldown Swap Axes Sort Dimension --> Sort Ascending / Sort Descending Properties Query Properties Transfer Values Save Values Goto

Characteristic

Characteristic Value

Structure Member (Key Figure)

Data Value

X X

X X X

X X X X X *

X X

X X

* X

* X

X ** X X X X

X ** X X X X

X ** X

X X X *** ***

****

****

****

****

Notes: * Appears if filter has already been set. ** Appears if drilldown has already been set. *** If any cell in the query is enabled for input, these appear in context menu for any cell in the analysis grid. **** Appears if Goto has been customized in the query. For descriptions of the functions in this table, see Context Menu Functions [External]. Many of the same functions are also available via drag and drop [External].

Analysis Grid Icons


The following icons may display in the analysis grid:

Sort ascending / descending appear where sort functionality is available

Enterprise Reporting, Query, and Analysis

309

Core Development Tasks Developing User Interfaces


March 2006

Expand / collapse hierarchy appear where hierarchies are available and activated (see Characteristic Properties [External]) Document appear if available and if enabled (see Display Options in Query Properties [External]) Drag&Relate appear if available and if enabled (see Display Options in Query Properties [External])

Turn off the display of all icons by deselecting the Apply Formatting property (see below). In addition, scrolling icons appear inside scroll bars if you have enabled them in the analysis grid (see clipping properties, below), but these are not affected by the Apply Formatting setting.

Analysis Grid Properties


Configure properties for the analysis grid on three different tabs in the Analysis Grid Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the analysis grid and access its properties):

General lets you configure data provider, cell range, and behavior options Clipping lets you configure whether to clip or scroll the grid display Associated Charts allows you to associate Microsoft Excel charts with the analysis grid

Analysis Grid Properties Property Analysis Grid Name Description Displays the name of the grid, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the analysis grid.

General Tab Data Provider Assign an existing data provider to the analysis grid, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337] Range Manipulate coordinates for a cell or cells in this field to move or resize the analysis grid. See Moving and Resizing Design Items [Page 341]

Enterprise Reporting, Query, and Analysis

310

Core Development Tasks Developing User Interfaces

March 2006

Use Formulas

Select this checkbox to replace each cell in the analysis grid with a Microsoft Excel formula. This allows you complete freedom to format the cells in any way you wish. This property is enabled only in supported queries (queries with one structure in the rows, one structure in the columns, and all other dimensions, if any, in the free characteristics). See Working in Formula Mode [Page 340]

Adjust Print Area

Adjusts the Microsoft Excel print area automatically to the size of the analysis grid, and also repeats the header rows and header on every page. Locks (protects) all cells that are not defined in the query as input-ready, and unlocks all input-ready cells. This prevents you, in other words, from changing data in any cells except input-ready cells. This is mainly used in tandem with planning functionality and prevents you from entering data where it doesn't make sense. See Planning Functions [External]

Enable Cell Protection

Contrast this cell-by-cell protection with Microsoft Excel sheet protection, enabled by default in design mode, and workbook protection, which you can enable in Excel or using BEx Analyzer (see Workbook Settings [Page 303]). Apply Formatting Deselect this checkbox to turn off display of formatting, including icons and background color. Displaying formatting during navigation can be time intensive; you may want to turn it off for performance reasons if, for example, you are only navigating in order to achieve a result that you will export to a text-based file format. Scroll bars and scrolling icons are not affected by this setting. Allow Navigation Deselect this checkbox to deactivate the context menu and drag and drop functionality in analysis mode. A similar option is provided for the navigation pane. This prevents you from analyzing and navigating in the query.

Enterprise Reporting, Query, and Analysis

311

Core Development Tasks Developing User Interfaces

March 2006

AutoFit

When selected, the width of the cells in the analysis grid expands as needed to accommodate the contents. Specifically, after you navigate and the analysis grid is rendered, when it is auto fit the columns are resized horizontally to the minimum size needed to render the whole content of column. The sort ascending and descending icons for the characteristics and key figures appear in a report only when this option is selected. The icons for expanding or collapsing a hierarchy appear in a report only when this option is selected.

Display Sort Icons

Display Hierarchy Icons

Clipping Tab

Enterprise Reporting, Query, and Analysis

312

Core Development Tasks Developing User Interfaces

March 2006

Use the clipping options to specifically define the size of the analysis grid using clipping or scroll bars. Clipping settings work together with cell coordinate settings in the Range field. You can independently configure horizontal or vertical clipping using the following options: Horizontal

Clip the analysis grid can only extend as far to the right as the right-most column defined in the Range field. The horizontal display beyond that is clipped, or not displayed. Full Size the analysis grid begins display from the left-most column defined in the Range field, but expands to the right to be as wide as the results dictate. Scroll the analysis grid displays within the right and left coordinates configured in the Range field, and a scroll bar allows you to scroll to the right or to the left within the results. You can scroll using the following icons in the scroll bar: Scroll Full Left Scroll Left Scroll Right Scroll Full Right

Vertical

Clip the analysis grid can only extend as far down as the lower-most row defined in the Range field. The vertical display beyond that is clipped, or not displayed. Full Size the analysis grid begins display from the top-most row defined in the Range field, but expands down as many rows as the results dictate. Scroll the analysis grid displays within the upper and lower coordinates configured in the Range field, and a scroll bar allows you to scroll up or down within the results. You can scroll using the following icons in the scroll bar: Scroll to Bottom Scroll Down Scroll Up Scroll to Top

See also Moving and Resizing Design Items [Page 341]. Associated Charts Tab

Enterprise Reporting, Query, and Analysis

313

Core Development Tasks Developing User Interfaces

March 2006

Associate Microsoft Excel charts with the analysis grid with this function, so that the charts always represent the results of the query. The name of any chart you have inserted on any sheet in the workbook appears in the Associated Charts list. Select the checkbox next to the chart or charts you want to associate with this analysis grid. When you associate a chart with a grid, the chart automatically updates with the cell ranges and values in the grid, even as the grid resizes and the values within it change when you navigate it.

When you create charts for your analysis grid using Microsoft Excel, you can leave the data range (cell coordinates) blank. Associated charts will automatically update with the appropriate data range in the current navigation state. Worksheets are automatically protected in design mode. Temporarily unprotect the sheet to insert the chart (Tools Protection Unprotect Sheet on Microsoft Excels menu), or switch to analysis mode first.

See also:

Inserting Design Items [Page 301] Navigating in Analysis Mode [External] Design Items [Page 306] Creating Planning Applications in BEx Analyzer [External] Manual Planning Functions [External]

4.1.3.2.2

Navigation Pane

Definition
The navigation pane design item provides access to all dimensions (characteristics and structures) in the query for use in navigation and analysis. See Inserting Design Items [Page 301] to learn about how to insert the navigation pane and access its properties, which are described below.

Use
Use the navigation pane as the staging area for dimensions in the query results. Together with the analysis grid [Page 307], the navigation pane forms the backbone of a query application. In it, dimensions and key figures in the query are listed each on separate rows. The pane also provides an overview of current filter and drill states. In analysis mode, you can navigate with the navigation pane in different ways:

Using the context menu [External] Using drag and drop [External] Using icons (see below)

Different navigation functions are available depending on whether you have selected a cell in a dimension or key figure row.

Enterprise Reporting, Query, and Analysis

314

Core Development Tasks Developing User Interfaces

March 2006

You can configure various settings that affect the way the navigation pane behaves and displays using its properties.

Structure
The functionality and properties of the navigation pane are described in the following sections:

Row types of the navigation pane Context menu functions by row type Navigation pane icons Navigation pane properties

Row Types of the Navigation Pane


When referring to the navigation pane, we use the following terminology to refer to the different types of rows:

dimension row
0VC_CUST 0VC_COUN Key Figures

structure member (key figure) row


The third column of each row in the navigation pane is the filter area. This column displays the values for any filters that have been configured. Different types of navigation functionality are available depending on which type of row you have selected.

Context Menu Functions by Row Type


Context menu functions available in analysis mode for the navigation pane are outlined in the table below. A function is available on the context menu for a given row type if the corresponding cell in the table below is shaded and marked with an X. See notes below the table for the cells that contain asterisks:

Enterprise Reporting, Query, and Analysis

315

Core Development Tasks Developing User Interfaces

March 2006

(Function) Back Back to Start Select Filter Value Remove Filter Drill Down Drill Across

Dimension Row X X X * X X **

Structure Member (Key Figure) Row X X X * X X **

Remove Drilldown Sort Dimension --> Sort Ascending / Sort Descending Sort Structure Member --> Sort Ascending / Sort Descending Properties X X Query Properties X X

Notes: * Appears if filter has already been set. ** Appears if drilldown has already been set. For descriptions of the functions in this table, see Context Menu Functions [External]. Many of the same functions are also available via drag and drop [External].

Navigation Pane Icons


The following icons may display in the navigation pane:

Drill down / drill across appear on every row Remove drilldown appear on every row, if drilldown has been set Filter appear on every row Remove filter appear on every row, if filter has been set

Turn off the display of all icons by deselecting the Display Icons property (see below). In addition, scrolling icons appear inside scroll bars if you have enabled them in the navigation pane (see clipping properties, below), but these are not affected by the Apply Formatting setting.

Enterprise Reporting, Query, and Analysis

316

Core Development Tasks Developing User Interfaces

March 2006

Navigation Pane Properties


Configure properties for the navigation pane on four different tabs in the Navigation Pane Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the navigation pane and access its properties):

General lets you configure data provider, cell range, and AutoFit options Dimensions lets you select the dimensions to display in the navigation pane Display Settings allows you to configure various settings that affect how the pane displays Clipping lets you configure whether to clip or scroll the navigation pane display

Navigation Pane Properties

Enterprise Reporting, Query, and Analysis

317

Property Navigation Pane Name Core Development Tasks Developing User Interfaces Display Technical Names / Do Not Display Technical Names General Tab Data Provider

Description Displays the name of the pane, which is generated automatically and is unique. This March 2006 name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the navigation pane. Use this button on any tab to toggle the display of technical names.

Assign an existing data provider to the navigation pane, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337]

Range

Manipulate coordinates for a cell or cells in this field to move or resize the navigation pane. See Moving and Resizing Design Items [Page 341]

AutoFit

When selected, the width of the cells in the navigation pane (except the third column) expands as needed to accommodate the contents. When the pane is auto fit, the columns are resized horizontally to the minimum size needed to render the whole content of column. This setting does not apply to the third column (the filer area) because filter values can be very long.

Dimensions Tab Available Dimensions Lists all the available dimensions in the query. Select a dimension in this list and choose the Add the Selected Dimensions to the Displayed Dimensions button to transfer it to the Selected Dimensions list. You determine in this way which dimensions to display in the navigation pane. By default, all dimensions are displayed. Selected Dimensions Lists the dimensions you have chosen to display in the navigation pane, and allows you to reorder them. By default, all dimensions are displayed although this list is empty. Select a dimension in this list and choose the Remove Selected Dimensions from the Displayed Dimensions button to remove it, or the Move the Selected Displayed Dimension Up or Move the Selected Displayed Dimension Down buttons to reorder it. Display Settings Tab Display Filter Texts Deselect this checkbox to turn off the display of the filter area of the navigation pane. In this case, the whole third column of the pane disappears. Deselect this checkbox to deactivate the context menu, drag and drop, and icon functionality in analysis mode. A similar option is provided for the analysis grid. This prevents you from analyzing and navigating in the query. Deselect this checkbox to turn off the display of 318 icons in the navigation pane. Scroll bars and scrolling icons are not affected by this setting.

Allow Navigation

Display Icons Enterprise Reporting, Query, and Analysis

Core Development Tasks Developing User Interfaces

March 2006

See also:

Inserting Design Items [Page 301] Navigating in Analysis Mode [External] Design Items [Page 306]

4.1.3.2.3

List of Filters

Definition
The list of filters design item lists all currently active filters set on selected dimensions in the query results.

Use
This item simply displays a list of active filters for one or more dimensions. Since the navigation pane [Page 314] also displays currently active filters, this item might be useful if you have suppressed the display of filters in the navigation pane (by deselecting Display Filter Texts in the navigation pane properties), or if you dont display a navigation pane at all in your workbook and yet you want to display the current status of filters.

Structure
Configure properties for the list of filters on two different tabs in the Filter List Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the list of filters and access its properties):

General lets you configure data provider, cell range, and characteristic text display Dimensions lets you select the dimensions for which to display filters

Filter List Properties Property Filter List Name Description Displays the name of the list of filters, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the list of filters. Use this button on any tab to toggle the display of technical names.

Display Technical Names / Do Not Display Technical Names General Tab

Enterprise Reporting, Query, and Analysis

319

Core Development Tasks Developing User Interfaces

March 2006

Data Provider

Assign an existing data provider to the list of filters, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337]

Range

Manipulate coordinates for a cell or cells in this field to move or resize the list of filters. See Moving and Resizing Design Items [Page 341]

Display Characteristic Text

Select this checkbox to display the name of the dimension in a field next to the list of its selected filters. This acts as a sort of label for each selected dimension in the filter list.

Dimensions Tab Available Dimensions Lists all the available dimensions in the query. Select a dimension in this list and choose the Add the Selected Dimensions to the Displayed Dimensions button to transfer it to the Selected Dimensions list. You determine in this way the dimensions for which to display a list of filters. By default, all dimensions are displayed. Selected Dimensions Lists the dimensions for which you have chosen to display filters, and allows you to reorder or remove them. By default, all dimensions are displayed although this list is empty. Select a dimension in this list and choose the Remove Selected Dimensions from the Displayed Dimensions button to remove it, or the Move the Selected Displayed Dimension Up or Move the Selected Displayed Dimension Down buttons to reorder it. Presentation Style Determines how the filter values are displayed in the list. Select from the following values:

Key: Display technical key Key and Text: Display technical key, followed by text Text and Key: Display text, followed by technical key Text: Display text

See also:

Inserting Design Items [Page 301] Selecting Filter Values [External]

Enterprise Reporting, Query, and Analysis

320

Core Development Tasks Developing User Interfaces

March 2006

4.1.3.2.4

Button

Definition
The button design item lets you execute a customized command against the query results.

Use
Use the button to customize a specific command or sequence of commands. In the syntax, based on the Web API Reference, all data provider-specific commands and parameters are accepted except export to Microsoft Excel functions. Anything you can do when you manually navigate a query via the context menu you can also customize with a button. When you click the button, you execute the command or commands and the query results update accordingly in the analysis grid.

Structure
Configure properties for the button using the Button Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the button and access its properties):

To add a button to the workbook, you must enable Microsoft Excels Trust access to visual basic project setting (in Tools Macro Security Trusted Sources). If you omit this step, you will see an Access to Visual Basic project failed error when you attempt to insert the button. Button Properties Property Button Name Description Displays the name of the button, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the button. Manipulate coordinates for a cell or cells in this field to move or resize the button. See Moving and Resizing Design Items [Page 341] Button Text The text (caption) you want to display on the button. You can use this to describe the command the button executes.

Range

Enterprise Reporting, Query, and Analysis

321

Core Development Tasks Developing User Interfaces

March 2006

Command Range

(Optional) Specify a three-column range of cells in the worksheet that contains command parameters. In these cells, you provide the same parameters (Name, Index, and Value) as in the Static Parameters (see below), but in the worksheet these can be variable, changing during navigation based on query results or on a value you manually specify. When the button is clicked to initiate the command, all values in Static Parameters are evaluated first, then all the parameters in the Command Range are appended.

Static Parameters

Configure the command or commands to execute by supplying name-value pairs to send to the server. A command can consist of multiple name-value pairs; configure one per row in this table. Any data providerspecific command in the Web API Reference (except export to Microsoft Excel functions) are accepted.

Name: The name of the command. Index: The order in which the command should be executed, starting with 0. You can configure as many commands as you want. Value: The value for the command.

For example, if you want to create a button that removes the currently configured filter, enter Remove Filter in the Button Text field, and the configure the following three rows in the Static Parameters section: Name = DATA_PROVIDER; Index = 0; Value = [name of data provider] Name = CMD, Index = 0; Value=REMOVE_FILTER Name = FILTER_IOBJNM, Index = 0; Value = [name of dimension]

If you want to filter by product, but specify which product while you are navigating in analysis mode, use the Command Range field to specify the three-column range in the worksheet in which to look for the parameters. For example, you could configure it in the worksheet as follows:

Column E

Column F

Column G

Column H Filter to the following product:

Enterprise Reporting, Query, and Analysis

322

Core Development Tasks Developing User Interfaces

March 2006

Row 8

FILTER_VALUE

PROD0001

Set the Command Range to F8:H8. Now, you can provide dynamic input for the value in column H, labeled Filter to following product: in the worksheet. You can also hide columns F and G so that the static parameters of the command remain hidden.

Buttons can be quite useful within the context of planning functions, which arent executed in the context of a data provider, but rather within a workbook. For example, in a re-evaluation scenario, youve created a planning function on the backend in which you get a raise and make your calculations increase by 1%. You can add a button to the worksheet to execute this planning function.

Although planning functions are modeled on the backend, they can have variables which you can also supply in the worksheet using the Command Range field. See also:

Inserting Design Items [Page 301] Planning Functions [External] Creating Planning Applications in BEx Analyzer [External] Manual Planning Functions [External]

4.1.3.2.5

Dropdown Box

Definition
The dropdown box design item lists the values of a dimension and lets you filter it by selecting a value from the list.

Use
Use the dropdown box to easily filter a selected dimension. Since filtering is a function also provided in the navigation pane [Page 314], you might not want to use a navigation pane in the same worksheet as a dropdown box. You might use the dropdown box if, for example, you dont want to offer the whole range of navigation that the navigation pane provides, but you want to be able to conveniently set filters. The checkbox group [Page 326] and radio button group [Page 328] design items provide similar functionality, except the checkbox group allows you to select multiple filter values at once. In the dropdown box properties, you configure the values for the dimension to appear in the dropdown list. When you then select a value from the dropdown box in analysis mode, the dimension is filtered by your selection, and the query results in the analysis grid update accordingly.

Structure
Configure properties for the dropdown box on two different tabs in the Dropdown Box Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the dropdown box and access its properties):

Enterprise Reporting, Query, and Analysis

323

Core Development Tasks Developing User Interfaces


March 2006

General lets you configure data provider, cell range, and label display Dimensions lets you select and configure the dimension you wish to filter

To add a dropdown box to the workbook, you must enable Microsoft Excels Trust access to Visual Basic Project setting (in Tools Macro Security Trusted Sources). If you omit this step, you will see an Access to Visual Basic project failed error when you attempt to insert or access the dropdown box in analysis mode.

Target Data Provider lets you select multiple data providers for which you wish to apply a filter

Dropdown Box Properties Property Dropdown Box Name Description Displays the name of the dropdown box, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the dropdown box. Use this button on any tab to toggle the display of technical names.

Display Technical Names / Do Not Display Technical Names General Tab Data Provider

Assign an existing data provider to the dropdown box, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337]

Range

Manipulate coordinates for a cell or cells in this field to move or resize the dropdown box. See Moving and Resizing Design Items [Page 341]

Display Label

Select this checkbox to display the name of the dimension to be filtered next to the dropdown box.

Dimensions Tab Dimension Select the dimension you wish to filter.

Enterprise Reporting, Query, and Analysis

324

Core Development Tasks Developing User Interfaces

March 2006

Text Type

Determines which text type to display for the values of the dimension:

Default Text: Use the shortest available text to display the values. Short Text: Use the short text to display the values. Middle Text: Use the medium text to display the values. Long Text: Use the long text to display the values.

Read Mode

Determines the method of retrieving the list of filter values:

Posted Values (Q): Performs a SELECT on the fact table to list filter values that actually return data. Values that would return no results when filtered are not displayed in the list. This calculation can be time-consuming, but yields only usable values in the list. Dimension Table (D): Performs a SELECT on the dimension table to retrieve the list of filter values. This calculation is less time-consuming than Posted Values, with better chances of yielding results than Masterdata Table. Masterdata Table (M): Offers all members of the selected dimension that appear in the masterdata table. Since InfoCubes may be quite sparsely populated, this will yield many selections that would show no results when filtered (No applicable data found), but the logic involved is simple and hence the performance is optimal.

Display

Determines how the filter values are displayed in the list. Select from the following values:

Text: Display text Key: Display technical key Key and Text: Display technical key, followed by text Text and Key: Display text, followed by technical key

Target Data Provider Tab

Enterprise Reporting, Query, and Analysis

325

Core Development Tasks Developing User Interfaces

March 2006

Data Target Provider Name

The query results of a data provider can be filtered by the value of a dimension for which a dropdown box is designed. This filtering is not applied in other data providers within a workbook even though the same dimension is reused. That means you need to create individual filters for the same dimension, which is used in different data providers. However, the target data provider feature allows you simplify the above scenario. In this tab page, you can view all data providers being used in the workbook. You can select the required or all data providers to apply the same filtering for specific or all data providers used in a workbook.

See also:

Inserting Design Items [Page 301] Creating Planning Applications in BEx Analyzer [External]

4.1.3.2.6

Checkbox Group

Definition
The checkbox group design item lists the values of a dimension and lets you filter it by selecting one or more values from the list.

Use
Use the checkbox group to easily filter a selected dimension by multiple values at once. Since filtering is a function also provided in the navigation pane [Page 314], you might not want to use a navigation pane in the same worksheet as the checkbox group. You might use the checkbox group if, for example, you dont want to offer the whole range of navigation that the navigation pane provides, but you want to be able to conveniently set a group of filter values at once. The dropdown box [Page 323] and radio button group [Page 328] design items provide similar functionality, except they restrict filer selection to one value at a time. In the checkbox group properties, you configure the values for the dimension you wish to filter. In analysis mode, each value appears next to one of a group of checkboxes, and any currently filtered values are checked. Two buttons at the bottom of the list, Submit and Clear, let you either submit or clear checked filter selections, upon which the dimension filters are updated according to your selection, and the query results in the analysis grid are updated.

Structure
Configure properties for the checkbox group on two different tabs in the Checkbox Group Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the checkbox group and access its properties):

General lets you configure data provider, cell range, AutoFit, and horizontal display Dimensions lets you select and configure the dimension you wish to filter

Enterprise Reporting, Query, and Analysis

326

Core Development Tasks Developing User Interfaces

March 2006

To add a checkbox group to the workbook, you must enable Microsoft Excels Trust access to Visual Basic Project setting (in Tools Macro Security Trusted Sources). If you omit this step, you will see an Access to Visual Basic project failed error when you attempt to insert or access the checkbox group in analysis mode. Checkbox Group Properties Property Checkbox Group Name Description Displays the name of the checkbox group, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the checkbox group. Use this button on any tab to toggle the display of technical names.

Display Technical Names / Do Not Display Technical Names General Tab Data Provider

Assign an existing data provider to the checkbox group, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337]

Range

Manipulate coordinates for a cell or cells in this field to move or resize the checkbox group. See Moving and Resizing Design Items [Page 341]

AutoFit

When selected, the width of the cells in the checkbox group expands as needed to accommodate the longest value listed. Select this option to display the values of the checkbox group horizontally, in one row across the sheet.

Display Dimensions Horizontally

Dimensions Tab Dimension Text Type Select the dimension you wish to filter. Determines which text type to display for the values of the dimension:

Default Text: Use the shortest available text to display the values. Short Text: Use the short text to display the values. Middle Text: Use the medium text to display the values. Long Text: Use the long text to display the values.

Enterprise Reporting, Query, and Analysis

327

Core Development Tasks Developing User Interfaces

March 2006

Read Mode

Determines the method of retrieving the list of filter values:

Posted Values (Q): Performs a SELECT on the fact table to list filter values that actually return data. Values that would return no results when filtered are not displayed in the list. This calculation can be time-consuming, but yields only usable values in the list. Dimension Table (D): Performs a SELECT on the dimension table to retrieve the list of filter values. This calculation is less time-consuming than Posted Values, with better chances of yielding results than Masterdata Table. Masterdata Table (M): Offers all members of the selected dimension that appear in the masterdata table. Since InfoCubes may be quite sparsely populated, this will yield many selections that would show no results when filtered (No applicable data found), but the logic involved is simple and hence the performance is optimal.

Display

Determines how the filter values are displayed in the list. Select from the following values:

Text: Display text Key: Display technical key Key and Text: Display technical key, followed by text Text and Key: Display text, followed by technical key

Maximum Number of Displayed Values

Use this selector to set the maximum number of values to display in the checkbox group.

See also:

Inserting Design Items [Page 301]

4.1.3.2.7

Radio Button Group

Definition
The radio button group design item lists the values of a dimension and lets you filter it by selecting a value from the list.

Enterprise Reporting, Query, and Analysis

328

Core Development Tasks Developing User Interfaces

March 2006

Use
Use the radio button group to easily filter a selected dimension. Since filtering is a function also provided in the navigation pane [Page 314], you might not want to use a navigation pane in the same worksheet as the radio button group. You might use the radio button group if, for example, you dont want to offer the whole range of navigation that the navigation pane provides, but you want to be able to conveniently set filters. The dropdown box [Page 323] and checkbox group [Page 326] provide similar functionality, except the checkbox group allows you to select multiple filter values at once. In the radio button group properties, you configure the values for the dimension you wish to filter. In analysis mode, each value appears next to one of a group of radio buttons. When you then select one of the radio buttons, the dimension is filtered by your selection, and the query results in the analysis grid update accordingly.

Structure
Configure properties for the radio button group on two different tabs in the Radio Button Group Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the radio button group and access its properties):

General lets you configure data provider, cell range, AutoFit, and horizontal display Dimensions lets you select and configure the dimension you wish to filter

To add a radio button group to the workbook, you must enable Microsoft Excels Trust access to Visual Basic Project setting (in Tools Macro Security Trusted Sources). If you omit this step, you will see an Access to Visual Basic project failed error when you attempt to insert or access the radio button group in analysis mode.

Target Data Provider lets you select multiple data providers for which you wish to apply a filter

Radio Button Group Properties Property Radio Button Group Name Description Displays the name of the radio button group, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the radio button group. Use this button on any tab to toggle the display of technical names.

Display Technical Names / Do Not Display Technical Names General Tab Data Provider

Assign an existing data provider to the radio button group, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337]

Enterprise Reporting, Query, and Analysis

329

Core Development Tasks Developing User Interfaces

March 2006

Range

Manipulate coordinates for a cell or cells in this field to move or resize the radio button group. See Moving and Resizing Design Items [Page 341]

AutoFit

When selected, the width of the cells in the radio button group expands as needed to accommodate the longest value listed. Select this option to display the values of the radio button group horizontally, in one row across the sheet.

Display Dimensions Horizontally

Dimensions Tab Dimension Text Type Select the dimension you wish to filter. Determines which text type to display for the values of the dimension: Read Mode Default Text: Use the shortest available text to display the values. Short Text: Use the short text to display the values. Middle Text: Use the medium text to display the values. Long Text: Use the long text to display the values.

Determines the method of retrieving the list of filter values:

Posted Values (Q): Performs a SELECT on the fact table to list filter values that actually return data. Values that would return no results when filtered are not displayed in the list. This calculation can be timeconsuming, but yields only usable values in the list. Dimension Table (D): Performs a SELECT on the dimension table to retrieve the list of filter values. This calculation is less time-consuming than Posted Values, with better chances of yielding results than Masterdata Table. Masterdata Table (M): Offers all members of the selected dimension that appear in the masterdata table. Since InfoCubes may be quite sparsely populated, this will yield many selections that would show no results when filtered (No applicable data found), but the logic involved is simple and hence the performance is optimal.

Enterprise Reporting, Query, and Analysis

330

Core Development Tasks Developing User Interfaces

March 2006

Display

Determines how the filter values are displayed in the list. Select from the following values:

Text: Display text Key: Display technical key Key and Text: Display technical key, followed by text Text and Key: Display text, followed by technical key

Maximum Number of Displayed Values Target Data Provider Tab Target Data Provider Name

Use this selector to set the maximum number of values to display in the radio button group.

The query results of a data provider can be filtered by the value of a dimension for which a radio button is designed. This filtering is not applied in other data providers within a workbook even though the same dimension is reused. That means you need to create individual filters for the same dimension, which is used in different data providers. However, the target data provider feature allows you simplify the above scenario. In this tab page, you can view all data providers being used in the workbook. You can select the required or all data providers to apply the same filtering for specific or all data providers used in a workbook.

See also:

Inserting Design Items [Page 301]

4.1.3.2.8

List of Conditions

Definition
The list of conditions design item lists all conditions defined in the query and lets you activate and deactivate them with the context menu or with an icon.

Use
If conditions have been defined in the query, you can use the list of conditions design item to display them in rows in the worksheet. The description of each condition appears in a cell, and its status (Active or Inactive) and an icon (Activate / Deactivate) displays in the cell next to it. In analysis mode, click the icon to toggle the active status or evoke the context menu and choose:

Enterprise Reporting, Query, and Analysis

331

Core Development Tasks Developing User Interfaces


March 2006

Activate to activate a selected inactive condition Deactivate to deactivate a selected active condition

Conditions filter the results so that only the part of the results you are interested in is displayed, so when you activate or deactivate a condition, the navigational state of the analysis grid updates accordingly.

Structure
Configure properties for the list of conditions design item using the Condition List Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the list of conditions and access its properties). List of Conditions Properties Property Condition List Name Description Displays the name of the list of conditions, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the list of conditions. Assign an existing data provider to the list of conditions, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337] Range Manipulate coordinates for a cell or cells in this field to move or resize the list of conditions. See Moving and Resizing Design Items [Page 341]

Data Provider

See also: Conditions [External] Inserting Design Items [Page 301]

4.1.3.2.9

List of Exceptions

Definition
The list of exceptions design item lists all exceptions defined in the query and lets you activate and deactivate them with the context menu or with an icon.

Use
If exceptions have been defined in the query, you can use the list of exceptions design item to display them in rows in the worksheet. The description of each exception appears in a cell,

Enterprise Reporting, Query, and Analysis

332

Core Development Tasks Developing User Interfaces

March 2006

and its status (Active or Inactive) and an icon (Activate / Deactivate) displays in the cell next to it. In analysis mode, click the icon to toggle the active status or evoke the context menu and choose:

Activate to activate a selected inactive exception Deactivate to deactivate a selected active exception

Exceptions set the background color of data cells in results alerting you to exceptional values, so when you activate or deactivate an exception, the background color of relevant data cells in the analysis grid updates accordingly.

Structure
Configure properties for the list of exceptions design item using the Exception List Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the list of exceptions and access its properties). Exception List Properties Property Exception List Name Description Displays the name of the list of exceptions, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the list of exceptions. Assign an existing data provider to the list of exceptions, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337] Range Manipulate coordinates for a cell or cells in this field to move or resize the list of exceptions. See Moving and Resizing Design Items [Page 341]

Data Provider

See also:

Defining Exceptions [Page 391] Inserting Design Items [Page 301]

4.1.3.2.10

Text

Definition
The text design item displays text elements associated with the query.

Enterprise Reporting, Query, and Analysis

333

Core Development Tasks Developing User Interfaces

March 2006

Use
Use the text item to display text-based information saved with the query such as author, query description, InfoProvider, and any global filters configured in the query. You configure which text elements you want to see, and they then display in a list in your worksheet.

Structure
Configure properties for the text item on three different tabs in the Text Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the text item and access its properties):

General lets you configure data provider, cell range, AutoFit, and caption display Constants lets you select from a list of text constants to display Filters lets you select from a list of global filters to display

Text Properties Property Text Name Description Displays the name of the text item, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the text item.

General Tab Data Provider Assign an existing data provider to the text item, create and assign a new one, or change or delete a data provider. The initial view of a data provider corresponds to a query or query view. See Configuring Data Providers [Page 337] Range Manipulate coordinates for a cell or cells in this field to move or resize the text item. See Moving and Resizing Design Items [Page 341] AutoFit When selected, the width of the cells in the text item expands as needed to accommodate the contents. Select this checkbox to display the name of the text element in a field next to the text itself. This acts as a sort of label for each selected text element.

Display Caption

Constants Tab

Enterprise Reporting, Query, and Analysis

334

Core Development Tasks Developing User Interfaces

March 2006

After you have selected a data provider on the General tab, the list of available constant text elements appears on this tab, including:

Author: The user who defined the query. Last Changed by: The user who last changed the query definition so that the query has been regenerated. Small changes that you can also make by using navigation are not real definition changes. InfoProvider: The InfoProvider with the data reported on in the query Query Technical Name: Technical name for the query that you enter when you save it Query Description: Description of the query Key Date: The key date is the date for which time-dependent master data is selected. You determine the key date either in the query definition (query properties) or supply the value using a variable. If the key date has not been defined, then the system date is automatically made into the key date. Changed At: This time tells you when the query definition was last changed. Current User: The user who has this query open or has inserted it into a workbook. Last Refreshed: When the query data was last refreshed. This is the point at which you display the text elements, since refreshing the query is necessary for displaying the text elements. Status of Data: The point in time when data for the latest request that can be used for reporting was posted to the InfoProvider. For MultiProviders, the current InfoPackages are determined from the individual basic cubes and from these, the basic cube with the oldest data validity date is called. This shows a date and a time (in the local time zone). Relevance of the Data (date): The date of the Status of Data text element. Relevance of the Data (hour): The time of the Status of Data text element. Status of Data From: (MultiProviders only) Status of Data To: (MultiProviders only)

Select the checkbox next to the text elements you wish to display. You may also:

Choose Select All to select all checkboxes and hence all constants Choose Deselect All to deselect all checkboxes and hence all constants

Filters Tab If global filters have been configured in the query, the dimensions for which they are configured are listed on this tab. Select the checkbox next to the ones you wish to display. Current filter values configured for the selected dimension are then displayed in the text element. You may also:

Choose Select All to select all checkboxes and hence display all filters Choose Deselect All to deselect all checkboxes and hence disable display of all filters Select Display All Global Filter Values to display all the static filter values Select Display All Global Variable Values to display all the static variable values

Enterprise Reporting, Query, and Analysis

335

Core Development Tasks Developing User Interfaces

March 2006

See also:

Inserting Design Items [Page 301]

4.1.3.2.11

Messages

Definition
The messages design item displays messages associated with your workbook, such as messages generated by BEx Analyzer as well as messages generated from the system to which you are currently connected.

Use
Use the messages design item to reproduce messages in your worksheet. You configure which type of messages (warning, success, information, or any or all of these) you want to see. BEx Analyzer messages, including the latest messages generated from the system to which you are logged on, display in your worksheet. Unlike other design items, messages are not associated with one particular data provider. In analysis mode, the messages display in a list, each next to an icon representing its type. If there has been no message since you last refreshed your query results, nothing displays.

Structure
Configure properties for the messages on two different tabs of the Message Properties dialog box (see Inserting Design Items [Page 301] to learn about how to insert the message design item and access its properties):

General lets you configure cell range, which kinds of messages youd like to see, and AutoFit options Clipping lets you configure whether to clip or scroll the message display

Messages Properties Property Message Name Description Displays the name of the message item, which is generated automatically and is unique. This name is used on the BEx Analyzer Design Toolbar menu to refer to a particular instance of the message item.

General Range Manipulate coordinates for a cell or cells in this field to move or resize the message item. See Moving and Resizing Design Items [Page 341] Display Warnings Select this checkbox to display warning messages, for example: The value for the variable def is incorrect; Access to Visual Basic project failed

Enterprise Reporting, Query, and Analysis

336

Core Development Tasks Developing User Interfaces

March 2006

Display Success Messages

Select this checkbox to display success messages, for example: The query abc was successfully saved Select this checkbox to display informational messages, for example: The system will close down at 6pm today When selected, the width of the cells in the message item expands as needed to accommodate the contents of the message.

Display Information

AutoFit

Clipping Use the clipping options to specifically define the vertical size of the message item using clipping or scroll bars. Clipping settings work together with cell coordinate settings in the Range field. Configure vertical clipping using the following options: Vertical

Clip the message item can only extend as far down as the lower-most row defined in the Range field. The vertical display beyond that is clipped, or not displayed. Full Size the message item begins display from the top-most row defined in the Range field, but expands down as many rows as the results dictate. Scroll the message item displays within the upper and lower coordinates configured in the Range field, and a scroll bar allows you to scroll up or down within the results. You can scroll using the following icons in the scroll bar: Scroll to Bottom Scroll Down Scroll Up Scroll to Top

See also Moving and Resizing Design Items [Page 341]

See also:

Inserting Design Items [Page 301]

4.1.3.3

onfiguring Data Providers

Use
A data provider is an object that provides data for one or more design items. Data providers have the same navigational state as a query at a particular point in time. The start view of a data provider corresponds to a query or query view, or can refer to an InfoProvider. By navigating through the data, you subsequently change the status of the data provider. When you configure data providers, you can decide whether to retrieve the saved view, or the view created after navigating in BEx Analyzer (Reference the View). After you insert a design item in BEx Analyzer, you then create a data provider, assign a query or query view to it, and base your design item upon the data provider. Every design

Enterprise Reporting, Query, and Analysis

337

Core Development Tasks Developing User Interfaces

March 2006

item is based on a data provider. You can base different design items on different data providers in the same workbook.

Features
Data provider information is configured in the properties dialog boxes for each design item, and from there you can evoke dialog boxes in which to create and change data providers.

Design Items Properties Dialog Boxes


Data Provider
Select the data provider upon which to base the design item from this dropdown box. This box shows all data providers that have been created in the workbook. If no data providers have been created yet, this box is blank and you need to first create a data provider.

Create Data Provider


Choose this button to evoke the Create Data Provider dialog box, in which you create and configure a new data provider.

Change Data Provider


Select a data provider using the Data Provider dropdown box, and choose this button to evoke the Change Data Provider dialog box, in which you can change the settings for this data provider.

Delete Data Provider


Select a data provider using the Data Provider dropdown box, and choose this button to delete it.

Create Data Provider and Change Data Provider Dialog Boxes


Data Provider
This field displays the name of the currently selected data provider. This name is assigned automatically, and takes the form DATA PROVIDER_N, where N is incremented with each data provider created.

Query / Query View


This field displays the name of the query or query view assigned to the data provider. The start view of the data provider corresponds to this query or query view.

InfoCube
This field displays the name of the InfoCube in which the query or query view is located.

Provide the Result Offline


Select this checkbox to save the result set in the workbook.

Enterprise Reporting, Query, and Analysis

338

Core Development Tasks Developing User Interfaces

March 2006

Use this option if, for example, you are working in formula mode and want to see the data in your result set without having to establish a connection to the server. Otherwise, you may see formula errors in the workbook when you open it. See Working in Formula Mode [Page 340].

Reference the View


Select this checkbox to retrieve the original navigational state saved in the query or query view on the server for this design item when you open the workbook. If this is unchecked, the current navigational state, as it appears in BEx Analyzer after you may have navigated and hence changed the view, is saved when you save the workbook.

Display Technical Names / Do Not Display Technical Names


Choose this button to toggle the display of technical names for the query or query view and the InfoCube.

Assign Query / Query View


Choose this button to evoke the Open dialog box, in which you can navigate and select the query or query view to assign to the data provider. See The Open Dialog [External].

Delete Assignment of Query / Query View


Choose this button to remove the query or query view assigned to the data provider.

Activities
To create a data provider:
...

1. Insert a design item and access its properties (see Inserting Design Items [Page 301]). 2. In the design item properties dialog box, choose the Create Data Provider button. 3. In the Create Data Provider dialog box, choose the Assign Query / Query View button. Navigate to locate the desired query or query view, and choose OK. (See The Open Dialog [External]). 4. Configure the settings for Provide the Result Offline and Reference the View as desired, and choose OK. 5. In the design item properties dialog box, choose OK.

To change a data provider:


...

1. Access the properties for a design item (see Inserting Design Items [Page 301]). 2. From the Data Provider dropdown box, select the name of the data provider you wish to change. 3. Choose the Change Data Provider button, configure the data provider as desired in the Change Data Provider dialog box, and choose OK.

To delete a data provider:


...

1. Access the properties for a design item (see Inserting Design Items [Page 301]). 2. From the Data Provider dropdown box, select the name of the data provider you wish to delete.

Enterprise Reporting, Query, and Analysis

339

Core Development Tasks Developing User Interfaces 3. Choose the Delete Data Provider button.

March 2006

The data provider is deleted, and you will need to assign a new data provider to this design item. To delete a design item, see Deleting Design Items [Page 343].

To save the current navigation state of a data provider assigned to a design item, see Save View under Save [External].

See also:

Inserting Design Items [Page 301] Working in Formula Mode [Page 340] Save [External]

4.1.3.4

Working in Formula Mode

Use
When you insert a design item, BEx Analyzer creates a link between the cells in which the results appear and the data on the BW server. Analyzer controls the formatting of the results cells, applying standard formatting every time the query is refreshed and results are retrieved. This means that any manual formatting you apply to these cells while in analysis mode is only temporary. For example, if you select a row of results in the analysis grid and set the text to bold, and then you navigate the results by selecting a filter value, the results are then refreshed, the standard formatting for the result cells is restored, and the bold formatting is lost. You can avoid this by working in formula mode (see Use Formulas in the properties for the Analysis Grid [Page 307]). This changes the way the link to the server is established, deleting the actual design item and instead retrieving the results on a cell-by-cell basis using a Microsoft Excel function. You then have complete freedom to format any cell as you wish, and the formatting is retained when you refresh the query.

Formula mode can only be used with queries that have the following structure: one structure in the rows, one structure in the columns, and all other dimensions, if any, in the free characteristics.

Configure the data provider for the analysis grid to provide the result offline, in order to see the data in your result set without having to establish a connection to the server. Otherwise, you may see formula errors in the workbook when you open it. See Provide the Result Offline in Configuring Data Providers [Page 337].

The Formula
The Microsoft Excel function that is used by the analysis grid in formula mode is BExGetCellData, which takes three arguments:

Enterprise Reporting, Query, and Analysis

340

Core Development Tasks Developing User Interfaces

March 2006

Map name of the column structure member Map name corresponds roughly to the technical name, but is shorter and easier to recognize semantically.

Technical name (GUID) of the structure member of the rows Data provider name (see Configuring Data Providers [Page 337])

Prerequisites
You must be working with a query that satisfies the structural conditions noted above.

Procedure
...

1. Into a workbook in which you have opened a query, insert an analysis grid (see Analysis Grid [Page 307]). 2. In the analysis grid properties, configure the data provider, and select Provide the Result Offline (see Configuring Data Providers [Page 337]). 3. In the analysis grid properties, select Use Formulas. 4. Format the results area in the analysis grid any way you wish. You can use any Microsoft Excel formatting functionality (see Default Workbook in Global Settings [External]).

Result
When you navigate your query results, only the values for the data are retrieved from the server, and not the standard formatting of the analysis grid. Your custom formatting is retained.

4.1.3.5

Moving and Resizing Design Items

Use
A design items location and size is described using coordinates for cell or range of cells in a Microsoft Excel worksheet. To move or resize a design item, you must therefore change the coordinates of the items range. Use the Range field, which appears in the properties dialog box for each design item, for these purposes.

Prerequisites
Ensure that you have inserted a design item [Page 301] and configured its data provider [Page 337] before you attempt to move or resize it.

Procedure
...

1. In design mode, evoke the properties dialog box for your design item: To access item properties with a mouse, click the icon that represents the item (with your left, or primary mouse button). You may also click with your right (or secondary) mouse button, and choose Properties.

Enterprise Reporting, Query, and Analysis

341

Core Development Tasks Developing User Interfaces

March 2006

To access item properties with the menu, while in design mode choose BEx Analyzer Design Toolbar [Item Name] from the menu.

2. In the Range field (located on the first or only tab in the design items properties dialog box), configure the coordinates to the items location and size. The Range field initially contains the coordinates to the range of cells you selected when you inserted the design item. The first group of coordinates corresponds to the upper-left cell, and the second group of coordinates corresponds to the lower-right cell of the design item. For example, a range value of $B$12:$E$13 indicates that you selected cell $B$12 as the upper-right coordinate, and then dragged your mouse to cell $E$13 as the lowerright coordinate, and with that range of cells selected, you inserted your design item. (If your design item has already been populated with results, see Expansion and Clipping, below). If you selected one cell, the field displays the coordinates for that cell, for example $B$12. To resize a design item, add or enter a different value for the lower-right coordinate.

You can resize a design item by using the drag and drop function also. You select the design item with the primary mouse button, next select the edge of the design item, drag it until item reaches the required size and then drop it by releasing the mouse button. The coordinates of the new range of cells appear automatically in the Range field. To move a design item, enter different values for the coordinate or both coordinates. To move an item to a different sheet, prefix the values with proper syntax to designate the sheet. To move an item from Sheet1 to Sheet2, for example, enter a value such as Sheet2!$E$5:$G$6.

You can move a design item by using the drag and drop function also. You select the design item with the primary mouse button, drag it to the required location and then drop it by releasing the mouse button. The coordinates of the new range of cells appear automatically in the Range field. 3. Choose OK in the properties dialog box to confirm your settings. 4. When you move or resize design items, their contents are deleted and then rebuilt. Refresh the query in order to refresh the results with values from the server (see Refresh / Pause Automatic Refresh [External]).

Expansion and Clipping


Once you switch to analysis mode and the design items populate with results, they typically need to expand to fill more space than you have initially selected when inserting them. In this case, the upper-left coordinate remains fixed, and the lower-right coordinate expands to accommodate the data returned. For example, even though you selected a range of $B$12:$E$13 when you inserted your analysis grid, when you switch to analysis mode and 100 rows are returned in the results, the second, lower-right coordinate will automatically increase to $E$113 to resize the design item to accommodate the results.

Enterprise Reporting, Query, and Analysis

342

Core Development Tasks Developing User Interfaces

March 2006

To change the way the coordinates expand, you can adjust the items clipping properties. Clipping properties are relevant for the analysis grid, navigation pane, and messages design items. If you set the clipping property to Clip, for example, the lower-right coordinate is retained and the results are clipped, or not displayed, beyond that range. See Analysis Grid [Page 307], Navigation Pane [Page 314], and Messages [Page 336].

4.1.3.6

Deleting Design Items

Use
You can delete a design item when you are in design mode using its context menu, which you can access with the mouse or with the BEx Analyzer menu.

Procedure
To delete a design item using the mouse:
...

1. Click the design item with your right mouse button (secondary mouse button). 2. From the context menu, choose Delete. To delete a design item using the keyboard:
...

1. Navigate using the keyboard to any cell that is part of the design item. 2. From the menu, choose BEx Analyzer Context Menu for Selected Cell. 3. From the context menu, choose Delete.

Be sure you are in design mode. A different context menu appears when you are in analysis mode. If you have not yet refreshed your query, you may need to do so before you can access the context menu. See Refresh / Pause Automatic Refresh [External].

Result
The design item is removed from the worksheet. Any data providers you have created are still available. To delete a data provider, see Configuring Data Providers [Page 337].

See also:

Context Menu for Selected Cell [External]

Enterprise Reporting, Query, and Analysis

343

Core Development Tasks Developing Business Logic

March 2006

4.2

Developing Business Logic

Purpose
BI Content
BI Content is a collection of preconfigured role and task-based information models in the BI system. They are based on consistent metadata. BI Content provides selected roles within a company with the information they need to carry out their tasks. For the Enterprise Reporting, Query and Analysis area, these information models cover InfoProviders, variables, queries, workbooks, Crystal reports, Web templates, and roles. You have to activate the BI Content objects before you can work with them. For more information, see Installing Business Content [Page 344].

Defining Queries
Queries allow you to analyze the dataset of an InfoProvider. By selecting and combining InfoObjects (characteristics and key figures) or reusable structures in a query, you determine the way in which you evaluate the data in the selected InfoProvider. For more information, see Query Design: BEx Query Designer [Page 353].

Developing Customer and Partner Content


You can develop your own content and deliver it to your business areas. You can also make limited modifications and changes to BI Content. For more information about developing BI Content, see Customer and Partner Content [Page 469].

Prerequisites
Developing Customer and Partner Content:
Before you can develop customer and partner content, you may need to apply for your own namespace. This requires you to have an ABAP development license (ABAP/4 Development Workbench License).

4.2.1
Use

Installing Business Content

Before you are able to work with Business Content objects, you have to convert them from the SAP delivery version (D version) into the active version (A version). For more information, see Business Content (Versions) [External]. SAP recommends that you install Business Content objects in the following cases:

After a Content release upgrade An upgrade to a new Content release usually contains a large number of new and modified Business Content objects. If you want to be able to use the new and modified Business Content, you have to reinstall the Business Content objects. Refer to the

Enterprise Reporting, Query, and Analysis

344

Core Development Tasks Developing Business Logic

March 2006

Release Notes published with the upgrade. In some cases, we recommend explicitly that you install the A versions of certain objects.

After installing a Content support package Refer to the SAP Notes that are delivered with each Content Support Package. These notes contain information on why certain Business Content objects are being redelivered.

Procedure
...

The following is an overview of the individual steps in the procedure: These steps are subsequently explained in more detail. 1. Navigate to the Data Warehousing Workbench to install Business Content (selection of objects, settings for the transfer, starting the transfer). 2. Assign relevant source systems. 3. Group objects to be included, determine mode of collection for the objects. 4. Determine the view of the objects. 5. Transfer the objects in Collected Objects. 6. Check the settings for the Collected Objects with reference to the Install, Match or Copy and Active Version Available functions. 7. Make settings in the selection list and Transfer. 8. Correct errors.

1. Navigate to the Data Warehousing Workbench to Install Business Content


...

From the main menu in Business Intelligence, choose Modeling Data Warehousing Workbench: Business Content. If you are already in the Data Warehousing Workbench, select the Business Content functional area by clicking on the corresponding pushbutton in the lefthand navigation window, or by choosing the path Goto Install Business Content. The Data Warehousing Workbench for installing Business Content has three navigation windows:

In the left-hand window you determine the view of the objects in the middle area of the screen. In the middle window, you select the objects that you want to activate. In the right-hand window, you make the settings for installing the Business Content. The right-hand window also contains an overview of the objects you have selected, and it is here that you start the installation of the Business Content.

Navigation Window In the Data Warehousing Workbench, you use the On/Off pushbutton on the toolbar to display or hide the left-hand navigation window. The rest of this section assumes that the left-hand navigation window is displayed.

Enterprise Reporting, Query, and Analysis

345

Core Development Tasks Developing Business Logic

March 2006

2. Assign Relevant Source Systems


If you want to assign a source system, select the Source System Assignment function. The Choose Source System by Default? dialog box appears. Select one or more source systems by setting the corresponding indicators in the Default Assignment column.

Only ever select the source systems that you really need, otherwise you may have to wait unnecessarily when objects are collected.

The assignment of the source system is only relevant for source-system dependent objects (such as transfer rules, file DataSources, and InfoPackages). If more than one source system is available, only those objects assigned to the specified source system are collected ready for the transfer. Objects that have not been assigned to the specified source systems are ignored. For more information about the special features inherent in activating process chains that can reference to source-system dependent objects, see the Customer Content documentation, under Process Chain and Process Variant [Page 492]. If you do not select a source system, all the source systems are assigned automatically. You can change your selection later, using the Source System Assignment function.

3. Group Objects To Be Included, Determine Mode of Collection for Objects


Make the settings you require from the following selection lists on the right-hand side of the screen:

Grouping Choose the objects that you want the system to include. The groupings combine the objects from a particular area. You have the following options: Only Necessary Objects (default setting) In Data Flow Before In Data Flow Afterwards In Data Flow Before and Aftrwds

For more information about groupings, see Collection Object Grouping [External].

If you change the default setting (Only Necessary Objects), the new setting becomes the default setting for your user.

The grouping selection has an impact on system performance when installing Business Content. For more information, see View of Objects and ObjectSpecific Recommendations [External].

Collection Mode Select how you want to collect the objects:

Enterprise Reporting, Query, and Analysis

346

Core Development Tasks Developing Business Logic

March 2006

Collect Automatically (default setting): The data is collected directly when the objects are selected. Start Manual Collection: The data is collected when you click on the Dependent Objects icon. Collect

Set the collection mode to Start Manual Collection. You can then select all objects without having to wait.

4. Determine View of Objects


In the left-hand navigation window, specify how you want the objects to be displayed. For more information, see View of Objects and Object-Specific Recommendations [External].

5. Transfer the Objects in Collected Objects


In the central area of the screen, select the objects that you want to install, and use Drag&Drop to transfer them into the right-hand Collected Objects area of the screen.

The Find Object function allows you to use strings of characters (for example, 0CUST) or wild card searches (for example, 0CUST_*B) to search for objects. Input help is available for every type of object: Double-click on the Select Objects icon in the tree structure of the corresponding object type to display the Input Help for Metadata screen. Select the required objects. Choose Transfer Selection.

If you implement BI Service API releases lower than 7.0 in the source system, you have to install the active version of the Business Content DataSources in the source system and replicate them in the BI system, before you can use them for transferring data in BI. For more information, see Installing Business Content DataSources [Page 511] and Metadata Upload for SAP Systems [External]. In the Collected Objects area of the screen, the system displays the selected objects and all dependent objects. Collected objects are stored by default in the repository cache [External]. This reduces the time it takes to access these objects when you want to use them again.

When you transfer objects into the Collected Objects area of the screen, these objects are also added to the tree structure of the corresponding object type in the central area of the screen and stored for your user. This personal object list can be called up each time the program is restarted. If you want to remove objects from your personal list, select the objects that you want to remove and choose the Remove Object from Display option from the context menu or click on the icon. Objects that are listed in several tree structures can only be changed in the place where they first appear. All additional instances of these objects are grayed out so you cannot modify them.

Enterprise Reporting, Query, and Analysis

347

Core Development Tasks Developing Business Logic

March 2006

6. Check Settings for Collected Objects


Check the following columns in the Collected Objects area of the screen:

Install The following Business Content objects are highlighted in this column by default: Objects that are being transferred for the first time. There is not an active version of these objects in the system. Business Content objects that have been redelivered in a new version. These objects are identified by the Content time stamp in the corresponding object tables.

When setting this indicator check whether the checkbox refers to a folder of an individual object: If the checkbox refers to a folder, the indicator is set for all the objects that belong to this folder. If the checkbox refers to an individual object, the indicator is set for a single object and the indicators for the other objects in the folder are not changed. The same applies when removing this indicator. In the context menu, the following two options are available for the installation:
...

a. Install all Below The object in the selected hierarchy level and all objects in the lower levels of the hierarchy are selected as to Install. b. Do Not Install All Below The Install indicators are removed for the object in the selected hierarchy level and all objects in the lower levels of the hierarchy.

Match (X) or Copy If the SAP delivery version and the active version can be matched, a checkbox is displayed in this column. With the most important object types, the active version and the SAP delivery version can be matched.

From a technical point of view, the SAP delivery version (D version) is matched with the M version. As in most cases the M version is identical to the active version (A version) in a customer system, this is referred to as a match between the D and A versions for reasons of simplification. When a match is performed, particular properties of the object are compared in the A version and the D version. First it has to be decided whether these properties can be matched automatically or whether this has to be done manually. A match can be performed automatically for properties if you can be sure that the object is to be used in the same way as before it was transferred from Business Content. When performing matches manually you have to decide whether the characteristics of a property from the active version are to be retained, or whether the characteristics are to be transferred from the delivery version. Example of an automatic match Additional customer-specific attributes have been added to an InfoObject in the A version. In the D version, two additional attributes have been delivered by SAP that do not contain the customer-specific attributes. In order to be able to use the additional attributes, the delivery version has to be installed from

Enterprise Reporting, Query, and Analysis

348

Core Development Tasks Developing Business Logic

March 2006

Business Content again. At the same time, the customer-specific attributes are to be retained. In this case, you have to set the indicator (X) in the checkbox. After installing the Business Content, the additional attributes are available and the customer-specific enhancements have been retained automatically. However, if you have not checked the match field, the customer-specific enhancements in the A version are lost. Example of a manual match An InfoObject has a different text in the A version than in the D version. In this case the two versions have to be matched manually. When Business Content is installed, a details screen appears which asks you to specify whether the text should be transferred from the active version or from the D version.

The Match indicator is set as default in order to prevent the customer version being unintentionally overwritten. If the Content of the SAP delivery version is to be matched to the active version, you have to set the Install indicator separately. The active version is overwritten with the delivery version if: The match indicator is not set, and The install indicator is set.

In other words, the delivery version is copied to the active version.

If the Install indicator is not set, the object is not copied or matched. In this case, the Match indicator has no effect. In the context menu, two options are available:
...

a. Merge All Below The object in the selected hierarchy level and all objects in the lower levels of the hierarchy are selected as to Match. b. Copy All Below The Match indicators are removed for the object in the selected hierarchy level and all objects in the lower levels of the hierarchy. If the Install indicator is also set, these objects are copied from the delivery version to the active version. The most important properties which are taken into account when versions are matched are now listed. When referring to InfoObjects it is important to differentiate between:

Characteristics Time characteristics Key figures and Units

Valid for All InfoObjects Named Above: Properties Matched Automatically: Properties Matched Manually:

Enterprise Reporting, Query, and Analysis

349

Core Development Tasks Developing Business Logic

March 2006

Texts Description If texts/descriptions in the delivery version do not yet exist in the active version, they are transferred.

Attribute only (flag) Short and long text (description) Time dependency of attributes Transfer routine

Valid for Characteristics Properties Matched Automatically:

Properties Matched Manually:


Compounding New InfoObjects are included in compounding

BEx display Characteristic Constants Default member Authorizations (flag and field) Selection (CHASEL) InfoObject is document attribute Data type Length Output length Conversion routines Lower case allowed (flag) Contains master data (flag) Master data is authorization relevant (flag) Export DataSource (Flag) F4 query design F4 query runtime Check DataStore object Contains text tables (flag) Texts are language-dependent (flag) Short, medium and long texts exist (each with flag) Default currency GIS attribute Hierarchies exist (flag)

Referenced characteristic Reference characteristics are transferred automatically. A warning is issued.

Attributes / navigation attributes New attributes are included. If an attribute is added by the customer, the settings for this attribute are transferred (for example, F4 sequence).

Application components If the entry for the active version is initial, the delivery version is used.

Valid for Key Figures Properties Matched Automatically: Properties Matched Manually:

Enterprise Reporting, Query, and Analysis

350

Core Development Tasks Developing Business Logic

March 2006

Type of key figure Fixed unit Fixed currency Aggregation Exception aggregation

Valid for Units Properties Matched Automatically: Properties Matched Manually:

See the table above (Valid for Characteristics), if these properties are also relevant for the units.

When referring to InfoProviders it is important to differentiate between: MultiProviders InfoCubes DataStore object InfoObject InfoObjects are discussed above (see the first table Valid for All Objects Named Above). Valid for All InfoProviders Named Above: Properties Matched Automatically:

Properties Matched Manually:

New InfoObjects If InfoObjects in the delivery version do not yet exist in the active version, they are transferred.

Manual matching is not necessary.

Valid for MultiProviders Properties Matched Automatically:

Properties Matched Manually:

New InfoProviders If InfoProviders in the delivery version do not yet exist in the active version, they are transferred.

Manual matching is not necessary.

Valid for InfoCubes Properties Matched Automatically:

Properties Matched Manually:

New dimensions If dimensions in the delivery version do not yet exist in the active version, they are transferred.

Manual matching is not necessary.

Enterprise Reporting, Query, and Analysis

351

Core Development Tasks Developing Business Logic

March 2006

With the InfoObject catalog object type, InfoObjects that are assigned to a catalog in the delivery version are transferred to the active version automatically. Manual matching is not necessary. With the transfer rule object type, those objects that exist in the delivery version but are not yet contained in the active version (for example, additional attributes) are added automatically when the match is performed. Manual matching is not necessary. With the process chain object type, those objects that exist in the delivery version but are not yet contained in the active version (for example, additional objects in the process chain) are added automatically when the match is performed. Manual matching is not necessary.

Active Version Available In this column, the following display options are available: : The object is available in an active version. You decide whether you want to retain this version or reinstall the latest version of the object. Date symbol: The object is already available in an active version. However, the active version belongs to an older Content release. SAP recommends that you install the latest version. Gray symbol : An activated version of the object is available in the system. However, the object status is inactive. If an object version is activated, this indicates that all metadata for the object can be created successfully. The inactive object status indicates that the processed object is inconsistent and cannot currently be used for processing data. Transfer the object again from the SAP delivery version (D version). If this is not enough to change the object status from inactive to active the object has to be postprocessed. You find notes on postprocessing in the activation log.

Postprocessing: An inactive object status may also occur for an InfoObject if changes are made to the structure at field level. Postprocessing the object involves converting the relevant tables in accordance with the activation log. No indicator: The object is not available in an active version.

7. Make Settings in the Selection List and Install.


Make the required settings in the Installation Type Installation Type Simulate Installation What You Need to Know The system runs a test to see whether any errors are likely to occur during the installation. However, not all errors that may occur can be identified during simulation: Some error messages can only be generated when a real A version (and not just a simulation) is available in the system. You should, therefore, only use the simulation function as a rough guide to help you identify and remove basic errors. Install selection list:

Enterprise Reporting, Query, and Analysis

352

Core Development Tasks Developing Business Logic

March 2006

Install Install in Background Install and Transport

The selected objects are installed immediately. The selected objects are installed in the background. The selected objects are installed immediately and then written to a transport request.

SAP recommends you use the Install in background option, because installing a large number of objects can take a long time. Modifying objects that are already active can take an especially long time to complete. Make sure that when you install objects in the background that the versions are not matched. It is always the delivery versions that are installed. These are not matched with any available customer versions.

8. Correct Errors
Any errors that occur during the installation of the Business Content are listed in a log. Click on the Log pushbutton to view this log. In the relevant maintenance transaction, repair any errors that occurred during the installation. Install the Business Content again.

See also: Installing the Business Content DataSource in the Active Version [External]

4.2.2
Use

Query Design: BEx Query Designer

You analyze the dataset of the BI System by defining queries for InfoProviders using the BEx Query Designer. By selecting and combining InfoObjects (characteristics and key figures) or reusable query elements (such as structures) in a query, you determine the way in which you navigate through and evaluate the data in the selected InfoProvider.

Integration
The figure below shows how the BEx Query Designer is integrated into the function landscape and tool landscape of the Business Explorer:

Enterprise Reporting, Query, and Analysis

353

Core Development Tasks Developing Business Logic

March 2006

SAP NetWeaver Portal Business Explorer Suite (BEx) Information Broadcasting BEx Web BI Pattern Web Analyzer Web Application Designer Report Designer Microsoft Excel Add-in BEx Analyzer

BI Consumer Services

3rd Party BI Data

BI InfoProvider

BEx Query Designer

Features
The BEx Query Designer contains the following functions:

You can use the queries defined in the BEx Query Designer for OLAP reporting and also for tabular reporting. For more information, see Tabular Query Display [Page 465]. You can parameterize the queries by using variables for characteristic values, hierarchies, hierarchy nodes, texts, or formulas. For more information, see Variables [Page 403]. You can select InfoObjects more precisely by: Restricting characteristics to characteristic values, characteristic intervals, and hierarchy nodes. For more information, see Restricting Characteristics [Page 371]. Defining formulas [Page 379] Defining selections [Page 377] Defining reusable calculated and restricted key figures (see Defining Calculated Key Figures [Page 436] and Defining Restricted Key Figures [Page 434]). Using local or reusable structures (see Structures [Page 395] and Creating Reusable Structures [Page 399]). Defining exceptions [Page 391] Defining conditions [Page 391] Defining exception cells [Page 388]

The most significant components of the query definition are the filter and navigation:

The selections in the filter have a limiting effect on the whole query. When defining the filter, you select characteristic values from one or more characteristics or from a key figure. All of the InfoProvider data is aggregated using the filter selection of the query. For the navigation you select user-defined characteristics and determine the content of the rows and columns of the query. You use this selection to determine the data areas of the InfoProvider through which you want to navigate. The arrangement of rows and column content determines the start view of the query. After being inserted into a workbook, a query is displayed in the default initial view in the portal or in the BEx Analyzer. By navigating through the query, you can generate

Enterprise Reporting, Query, and Analysis

354

Core Development Tasks Developing Business Logic

March 2006

different views of the InfoProvider data by dragging one of the user-defined characteristics into the rows or columns of the query, for example, or by filtering a characteristic according to a single characteristic value. Defining a query allows the InfoProvider data to be evaluated specifically and quickly. The more detail you use to define the query, the quicker its execution and navigation.

Activities
To open the Query Designer, choose Start Programs Business Explorer Query Designer. You can also call up the BEx Query Designer from the following BEx tools:

BEx Analyzer BEx Web Application Designer BEx Report Designer

See also: Defining New Queries [Page 368]

4.2.2.1

The BEx Query Designer

Use
The Query Designer is a desktop application for creating queries and plays an important role in the Business Explorer Suite. The queries created can be displayed as data providers for Web applications, reports and workbooks or can be displayed ad hoc in the BEx Web Analyzer. This section describes the appearance of the Query Designer and explains how you can adapt it to suit your needs.

Features
In addition to the menu bars and the toolbars, the BEx Query Designer comprises the following screen areas:

InfoProviders Rows/columns Filters Tasks Properties Messages Where-used list Documents Table view

Enterprise Reporting, Query, and Analysis

355

Core Development Tasks Developing Business Logic


March 2006

Cells Exceptions Conditions

For more information on screen areas that you get to using the menu bar and the View toolbar, see Functions of the Menu Bar in the Query Designer [Page 358]. You can adjust the appearance of the Query Designer to your requirements.

When starting the Query Designer, a standard view is provided automatically. This shows the InfoProvider screen area on the left, the filter on the left and the row/column areas underneath as a tab page. On the right, the properties are shown, and tasks underneath as a tab page. In the lower area, the messages area is displayed in collapsed form. If you drag the cursor over the messages area, the area expands automatically. Using the menu option View, you can hide and show screen areas such as the Properties window or the Messages window, as well as toolbars. You can move the toolbars and screen areas anywhere. Depending on where you move the object to, it is anchored or it appears freely as a toolbox. The screen areas can also be arranged on top of one another as tab pages. Using the View Predefined Standard View menu option, you can get back to the standard view. If you prefer the view that you are familiar with from the Query Designer in SAP BW 3.x, choose View Predefined View SAP BW 3.x.

4.2.2.2

Working with the BEx Query Designer

General Concepts
The BEx Query Designer is structured according to the following concepts, which allow flexibility and ease of operation while you are working with it.

Error Handling, Correction Help, Messages and Warnings


Error handling in the Query Designer allows you to create and edit objects without disrupting your individual workflow. The Query Designer informs you of errors by displaying incorrect or incomplete objects underlined in red. However, your work will not be disrupted by error messages that are shown as dialogs. The error messages appear in the Messages screen area instead. Warnings and information are also displayed here. Correction help is available in several places:

In the context menu of the incorrect objects underlined in red In the context menu of the error message in the Messages screen area In the menu bar of the Query Designer within the Help menu In the Tasks screen area

With the Explain These Errors menu option, the text for the error message is displayed in the Documents screen area. With the Jump to Error menu option, you return to the incorrect object. The menu option Correct These Errors provides the context-sensitive correction options available in the current situation.

Enterprise Reporting, Query, and Analysis

356

Core Development Tasks Developing Business Logic

March 2006

Tasks
In the Tasks screen area, the Query Designer provides various context-sensitive editing options for the current situation. These functions are available from the context menu or the menu bar. The Tasks area is intended for users that rarely work with the Query Designer and do not have much experience. The tasks offered facilitate searching for the suitable functions. Correction help for incorrect objects and further explanation is provided in the tasks.

Working with Unfinished Objects


You can define new objects (formulas, selections, restricted and calculated key figures, exception cells, variables, conditions or exceptions) wherever you need these objects. The object (without a definition) is created and receives a standard name. You can change the name directly at the object. The object can be used in other objects without a definition and you can decide whether you want to define it immediately or later. To remind you to define the object, a message appears in the Messages screen area.

Automatic Generation of Technical Names


When you create reusable objects (variables, restricted key figures or calculated key figures) the system automatically generates technical names for them. You can change the technical name of one of these objects until it is saved in the associated property dialog. Once you have saved, you can no longer change the technical name. The generation rule is (VAR/RKF/CKF)_<date><time>, for example RKF_20050818122045. As long as you have not saved and the generated technical name has no been changed, a warning appears that you should rename the technical name as required. Automatic generation of technical names ensure that the objects are unique immediately and allows you to work with unfinished objects.

Simultaneous Editing of Multiple Objects


You can edit several values at the same time. The objects should all be of the same type so that all of the options are available to you that are available when working with the individual objects. For example, if a function is not allowed for all of the selected objects, the function is not displayed. The functions Edit and New for selections, formulas, variables, restricted or calculated key figures do not allow simultaneous editing of multiple objects. The input field Technical Name is also hidden when the properties of multiple objects are edited simultaneously. Because the technical name must always be unique, the Query Designer does not permit simultaneous editing. For Drag&Drop operations with multiple objects it responds as if Drag&Drop were being performed for all objects that are allowed for this operation. The Drag&Drop operation is not executed on those objects that may not be dragged to the selected location. If you want to delete multiple objects simultaneously, the Query Designer proceeds as in Drag&Drop operations. All objects that can be deleted are deleted. Objects that may not be deleted (for example, reusable objects that are part of other queries) are not deleted. The associated information is displayed in the Messages screen area.

Reusable Properties
In the properties of the query components, you see whether the setting has been defined locally at the object or at the object that depends on it. You can decide whether you want to use a local setting or the default value. When you use the default value, the local object references the default value. Referencing to another object allows you to only edit the referenced object (that is, the default value), when making settings. In all other objects that use the default value, the change is visible automatically.

Enterprise Reporting, Query, and Analysis

357

Core Development Tasks Developing Business Logic

March 2006

Concrete Procedures
Proceed As Follows to Create a Query:
By clicking on the plus or minus symbol of the directories you can expand or collapse the directories. You can, for example, display the list of all of the key figures in the InfoProvider by expanding the key figure node in the InfoProvider tree. Using Drag&Drop or the temporary storage location (Ctrl C Ctrl V), you can drag characteristics, key figures and reusable objects from the InfoProvider into the directories of the Query Designer (Filter, Rows, Columns, Free Characteristics). Using the secondary mouse button you call all the functions that are available in the current context menu. First select the required query component and then choose a menu option from the context menu. When you double-click on an element of the Query Designer, you call the standard function for this element. You also get to the standard function from the context menu. It is displayed in bold there. If, for example, you double-click on a characteristic, the dialog box for restricting the characteristic appears. If you double-click on a calculated key figure, for example, then the Change Calculated Key Figure dialog box, in which you can make changes, appears. You can cut objects and paste them in another location. With the Edit menu or in the context menu of an object, you use the Cut function. Now the object will not be deleted immediately at this location. Instead it remains displayed Once you use the Paste function at a new location (available in the context menu or in the Edit menu), the object disappears from the old location and appears at the new location. This ensures that the object is not removed when the Cut function is used if you forget to insert it at another position. If you forget to insert the object and cut and paste another object instead, the clipboard with the previously cut object is not overwritten. The previously cut object gets its normal display back and stays in the old location. Remove or Delete If you want to remove objects from the query, in the object context menu, choose Remove. If you want to delete a reusable object, then choose Delete from the context menu. Deletion means that the object is deleted in the BI server and is no longer available in a query. Removing means that the object is removed locally from the query, and continues to be available in other queries as long as it is a reusable object. Edit Text Directly at the Object When a new object is created, it is displayed with a standard name. If you click on the standard text, the cursor appears directly on the standard text of the object and you can overwrite it.

4.2.2.3

Functions of the Menu Bar in the Query Designer

Use
This section contains an overview of the functions available in the menu bar and toolbar in the BEx Query Designer.

Enterprise Reporting, Query, and Analysis

358

Core Development Tasks Developing Business Logic

March 2006

Features
Menu Bar
The functions are available from the following menus in the menu bar: Query [Page 360] Edit [Page 363] View [Page 363] Tools [Page 366] Help [Page 367]

Toolbars
The Query Designer has the toolbars View, Standard, and Exit:

View Toolbar
In the View toolbar, the following functions are available as pushbuttons in the menu bar:

InfoProviders Filters Rows/Columns Tabular View Cells Conditions Exceptions Properties Tasks Messages Where-Used List Documents Technical Names

Standard Toolbar
In the Standard toolbar, the following functions are available as pushbuttons in the menu bar:

New Query... Open Query... Save Query... Execute... Check Query Query Properties

Enterprise Reporting, Query, and Analysis

359

Core Development Tasks Developing Business Logic


March 2006

Cut Copy Paste

Exit Toolbar
In the Exit toolbar, the following functions are available as pushbuttons in the menu bar:

Exit and Use Query Exit and Throw Out Changes

4.2.2.3.1

Functions in the Query Menu

Use
This section explains the functions that are provided in the menu bar for the Query Designer in the Query menu.

Features
You can choose from the following functions in the Query menu: Menu: Query Menu Entry New Description To create a query, choose New. The BEx Open dialog appears and you can select the InfoProvider whose data you want to use as the basis for your query. You can select the InfoProvider either from the InfoProviders in your history or from the list of all available InfoProviders under InfoAreas. See Defining New Queries [Page 368]. When you choose Open, the BEx Open dialog appears. Here, all existing queries are available in your history, favorites, or roles or are listed according to InfoArea. In InfoAreas, you get a list of all existing queries in the BI system for which you have display authorization.

Open

Enterprise Reporting, Query, and Analysis

360

Core Development Tasks Developing Business Logic

March 2006

Check

Before you save a new or changed query, you can use the Check function to check the query definition for errors. When you use the Quit and Use Query function, the system calls the Check function automatically for queries that have not yet been saved. Once the system has checked the query successfully, it asks whether you want to save the query.

Save

When you change a query, you can use the Save function to save it under its current name. If the query does not have a technical name, the system offers the Save As function automatically. See Saving Queries [Page 393].

Save As

To save the query under a new technical name, choose Save As. Enter the new technical name. You can save the query in your favorites or roles. See Saving Queries [Page 393]. To delete the query, choose Delete. You can only delete the query if it is no longer being used (in any workbook, Web template, report or broadcast setting). Choose Properties, if you want to change the description of the query, or if you want to make settings for the Results Position, Display Options, Number Display, and Suppress Zeros for the query. You can also release OLE DB for OLAP in the query properties. You can also reach the available documents on the objects used in the query from here. The Query Properties dialog box appears in the Properties screen area and you can make the required settings. See Query Properties [Page 438]. When you have defined and saved your query, you can use this function to display it in the BEx Web Analyzer and analyze the data. See BEx Web Analyzer [External].

Delete

Properties

Execute...

Enterprise Reporting, Query, and Analysis

361

Core Development Tasks Developing Business Logic

March 2006

Publish

You can publish queries that you have edited and saved in the Query Designer so that they are available to other users. You can choose from the following options: In Role The save dialog appears and you can select a role in which you want to publish the query. The system saves a link to the current query in the selected role. To the Portal The publish dialog appears, which enables you to publish the query in the Portal Content Directory (PCD) as an iView. For more information, see Publishing Queries, Web Applications and Reports [External]. BEx Broadcaster The BEx Broadcaster, a Web application for precalculating and distributing queries, query views, Web templates, reports, and workbooks, appears. You can precalculate the query that you edited in the Query Designer or you can generate an online link. You can broadcast the generated document or link by e-mail, print it, or you can publish it in the portal. For more information, see Functions of the BEx Broadcaster [External].

Exit and Use Query

Using this function, you leave the Query Designer and use the query that you defined. This function is only available if you have called the Query Designer from other BEx tools. The format in which the query is used depends on the tool from which you called the Query Designer. Generally, the query is available as a data provider for Web applications, reports, or workbooks. If you have not yet saved your query, the system calls the Check function automatically to check the query for errors. Once the system has checked the query successfully, it asks whether you want to save the query.

Exit and Throw Out Changes

Choose this function to leave the Query Designer. Your entries will not be saved.

Enterprise Reporting, Query, and Analysis

362

Core Development Tasks Developing Business Logic

March 2006

4.2.2.3.2

Functions in the Edit Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Query Designer in the Edit menu.

Features
You can choose from the following functions in the Edit menu: Menu: Edit Menu Entry Display/Change Description You can use this function to change between the display and change modes in the properties of a query or query component. You can use this function to cut selected objects. You can use this function to copy selected objects. You can use this function to paste selected objects into other areas. You can use this function to paste selected structural components subordinate to the structural components above the selection. The hierarchical relationship of the structural components is displayed in the executed query similar to a presentation hierarchy. You can use this function to remove selected objects.

Cut Copy Paste Paste (subordinate)

Remove

4.2.2.3.3

Functions in the View Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Query Designer in the View menu.

Features
You can choose from the following functions in the View menu: Menu: View Menu Entry Description

Enterprise Reporting, Query, and Analysis

363

Core Development Tasks Developing Business Logic

March 2006

Predefined

Using the View Predefined Standard View menu option, you can return to the standard view. If you prefer the view that you are familiar with from the Query Designer in SAP BW 3.x, choose View Predefined View SAP BW 3.x. You can use this function to show and hide the View, Standard and Exit toolbars. You can use this function to show or hide the technical names of the query components (InfoObjects, structures, variables, and so on). You can use this function to show the Properties screen area. The content of the Properties screen area automatically adjusts itself. Depending on the object that you select, the respective properties appear as contextsensitive. You can use this function to show the Tasks screen area. In this area, the most important tasks are listed for the selected object with which you are currently working, as contextsensitive. This gives you an overview of the functions and options available while working in the query. You can use this function to show the InfoProvider screen area. The content of the InfoProvider upon which the query is based is displayed in this area and from here you can include objects in the query, using Drag&Drop. You can use this function to show the Filter screen area. You determine the filter value of the query in this area. For more information, see Filters [Page 402]. You can use this function to show the Rows/Columns screen area. In this area you determine the free characteristics for navigating in the query and the contents of the rows and columns. You can see the structure of the query in a preview.

Toolbars Technical names

Properties

Tasks

InfoProviders

Filters

Rows/Columns

Enterprise Reporting, Query, and Analysis

364

Core Development Tasks Developing Business Logic

March 2006

Tabular View

You can use this function to show the Tabular View screen area. If the query only contains one structure, this area automatically appears as a tab page. You can design a query for OLAP reporting and also for tabular reporting by activating or deactivating the Tabular Display mode when you define a query. This function is only available for queries with one structure. Queries that have two structures are only available in the multidimensional display and are only suitable for OLAP reporting. See Tabular Display of Queries [Page 465].

Cells

You can use this function to show the Cells screen area. If the query already contains cells, this area automatically appears as a tab page. You can define formulas and selection conditions explicitly for cells in queries with two structures. In this way you can override the cell values that are created implicitly from the intersection of the structure components. This function allows you to design much more detailed queries. This function is only available for queries with two structures. The menu option is deactivated for queries with only one structure. See Defining Exception Cells [Page 388]

Exceptions

You can use this function to show the Exceptions screen area. If the query already contains exceptions, this area automatically appears as a tab page. You can define exceptions for a query. Exceptions are variations in key figure values that you define yourself. They are displayed in color in the query view. This allows you to see at a glance, any unusual deviations from the results you expect to get. See Exception Reporting [External].

Enterprise Reporting, Query, and Analysis

365

Core Development Tasks Developing Business Logic

March 2006

Conditions

You can use this function to show the Conditions screen area. If the query already contains conditions, this area automatically appears as a tab page. You can define conditions for a query. You can specify threshold value conditions for the key figure values for every characteristic. For example, you can specify all sales figures under or above a certain threshold value. In the query, the chosen characteristics are displayed with the restricted key figures. See Conditions [External]

Messages

You can use this function to show the Messages screen area. System messages, check messages, warnings and information appear in this area. From the context menu of the message, you can goto the location of the error, or have a text explain the error. You can use this function to show the WhereUsed List screen area. The Query Designer displays the objects (workbook, Web template, report or broadcasting setting) in which this query is used. You can use this function to show the Documents screen area. If you select the Display Error Message function, the system message texts appear here.

Where-Used List

Documents

4.2.2.3.4

Functions in the Tools Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Query Designer in the Tools menu.

Features
You can choose from the following functions in the Tools menu: Menu: Tools Menu Entry Expand Nodes Description You can use this function to fully expand the hierarchy nodes that you have selected, in one step.

Enterprise Reporting, Query, and Analysis

366

Core Development Tasks Developing Business Logic

March 2006

Collapse Nodes

You can use this function to fully collapse the hierarchy nodes that you have selected, in one step.

4.2.2.3.5

Functions in the Help Menu

Use
Here you get an overview of the functions that are provided in the menu bar for the Query Designer in the Help menu.

Features
You can choose from the following functions in the Help menu: Menu: Help Menu Entry Application Help Description When you choose Application Help, the SAP NetWeaver online documentation appears. The Query Design: BEx Query Designer section in the documentation for the Business Explorer is displayed automatically there. After you have selected an object containing errors, which is indicated by red underlining, and have read the error message text in the Documents area, you can use this function to return to the location of the error. After you have selected an object containing errors, which is indicated by red underlining, you can use this function to explain the error. The error message text appears in the Documents area. After you have selected an object containing errors, which is indicated by red underlining, you can use this function to correct the error. Context-sensitive correction help is offered. Using this function, you see the version of the Query Designer with the number of the support package and the revision. You can quote this information to SAP if you need to send problem messages.

Jump to Error

Explain This Error

Correct This Error

Info

Enterprise Reporting, Query, and Analysis

367

Core Development Tasks Developing Business Logic

March 2006

4.2.2.4

Defining New Queries

Use
You need queries as data providers for data analysis in the BEx Analyzer or in BEx Web Applications. Queries as data providers are also used to create reports. To do this, in the BEx Query Designer, you define new queries based on InfoProviders.

Prerequisites
At least one InfoProvider must be available in the BI system. You have called the BEx Query Designer using one of the following options:

Standalone, by choosing Start Programs Business Explorer Query Designer. BEx Web Application Designer: In the menu bar of the Web Application Designer, you have chosen Tools BEx Query Designer.

BEx Analyzer: You are in an empty cell and have chosen Tools Define New Query in the analysis toolbar.

BEx Report Designer: In the menu bar of the Report Designer, you have chosen Tools BEx Query Designer.

Finally, you chose Query New in the Query Designer menu bar.

Procedure
Overview
You define queries by:

Selecting an InfoProvider for which the query is defined Selecting reusable structures that already contain characteristic or key figure combinations (for example, contribution margin schema) Selecting characteristics from the InfoProvider Restricting selected characteristics to characteristic values, characteristic value intervals, or hierarchy nodes Using variables for characteristic values, hierarchies, hierarchy nodes, formulas, and texts or defining new variables where necessary Selecting key figures from the InfoProvider Formulating calculated key figures Restricting key figures by combining them with characteristics

Enterprise Reporting, Query, and Analysis

368

Core Development Tasks Developing Business Logic


March 2006

Defining exception cells Arranging the characteristics and key figures in rows or columns and thereby establishing an initial view for the query analysis

The steps that are not in bold are optional. You do not have to use these functions.

Defining Queries
The selection screen is displayed for all InfoProviders for which you can define a new query.
...

1. From your history, or from all available InfoProviders under InfoAreas, select the InfoProvider that you want to base your query on.

If you want to show the technical name of the InfoProvider, choose the symbol Technical Name On/Off. 2. The available objects for the InfoProvider you selected are displayed as a directory tree in the InfoProvider screen area. The Filter screen area contains empty directories for the filter selection; the screen area Rows/Columns contains empty directions for the rows, the columns, and the free characteristics of the query. The preview of the results area for the query can be found at the bottom right. This area is also still empty. For more information about the process of creating a query, see Working with the BEx Query Designer [Page 356] in the section Proceed As follows to Create a Query. 3. Make the selections for the filter of the query. Note that the filter selection has a restricting effect on the entire query, which means that all the InfoProvider data is aggregated with the filter selection. From the directory tree of the InfoProvider, select the characteristics or the key figure on which the query is to be based. Characteristics Expand the required dimension directory and first select one or more characteristics that you wish to restrict to one or more values, a variable, a value interval or a hierarchy node from the InfoProvider. Expand this characteristic and using drag and drop, drag:

one or more single values in the Characteristic Restrictions area of the filter.

one or more characteristics in the Characteristic Restrictions area of the filter. Using the secondary mouse button on a characteristic, choose Restrict in the context menu. Then select a characteristic value interval or a hierarchy node (see also: Restricting Characteristics [Page 371]). Key Figure

Decide whether all of the query data is to refer to the numerical values of a key figure or whether the query should be based on several key figures. If the query refers to the numerical values of one key figure, select the corresponding key figure for the InfoProvider tree and drag it to the Filter area using drag and drop. You can also use a restricted or calculated key figure (see also: Defining Restricted Key Figures [Page 434] and Defining Calculated Key Figures [Page 436]).

Enterprise Reporting, Query, and Analysis

369

Core Development Tasks Developing Business Logic

March 2006

If required, define default values for the filter by dragging the required filter values into the Default Values area of the filter using drag and drop. For more information, see Filters [Page 402]. 4. Determine which characteristics, key figures, or structures you want to use to navigate through the query data. Using drag and drop, drag the corresponding directories of the characteristics of the InfoProvider tree to the directories Rows, Columns, or Free Characteristics in the Rows/Columns screen area, or drag the structure directories into the rows or columns.

You can use any number of characteristics in the query; however, the number of characteristics in the drilldown is restricted. In the Free Characteristics area, an unlimited number of characteristics is permitted, but the rows and columns may include a maximum of 50 - <Number of Structures> characteristics only. If the query does not contain a structure, a total of 50 characteristics are permitted in the rows and columns. If you use one structure, 49 characteristics are permitted, and with two structures, 48 characteristics are permitted in the rows and columns. If you have not selected any key figures for the filter, define one or more key figures either in the rows or columns of the query. Using drag and drop, drag a key figure from the Key Figures directory in the InfoProvider tree into one of the directories, Rows or Columns. The Query Designer automatically generates a new structure with the proposed description Key Figures, which includes the selected key figure. You can also define a new calculated key figure and use it for the query. For example, instead of Sales revenue, define the key figure Price, which is calculated by dividing Sales revenue by Quantity. Select the Key Figures directory in the InfoProvider tree and choose New Calculated Key Figure in the context menu (using the secondary mouse button). You can restrict key figures to characteristic values, characteristic value intervals, or hierarchy nodes by selecting the key figure and choosing Edit in the context menu (using the secondary mouse button). A restricted key figure would be Sales revenue in first quarter, for example. By placing the characteristics, key figures, or structures either in the rows or columns directory, you configure the first navigational state of the query (start view). In the lower right area, you can see a preview of the results area of the query in the start view that you selected.

You can change the arrangement of the key figures and characteristics in the rows and columns using drag and drop until the preview shows the results area you want. 5. When you have created the query, you can check the query definition by choosing Query Check in the menu bar. Choose Query Properties in the menu bar if you want to change the Description, settings for Result Position, Display Options and Number Display, or Key Date for the query. See also Query Properties [Page 438]. 6. Save the query. Enter a Technical Name and a Description for the query. The Technical Name must uniquely identify the query; this means the name may appear only once across all InfoProviders of the BI System. The technical name can contain a maximum of 30 characters and must begin with a letter.

Enterprise Reporting, Query, and Analysis

370

Core Development Tasks Developing Business Logic

March 2006

Result
The query has been saved and can now:

Be used in the BEx Analyzer as a data provider for design items Be used in the Web Application Designer as a data provider for Web items. Be displayed in the BEx Web Analyzer: Choose Query Execute.

You can analyze the query data in the Business Explorer.

See also:
Creating Reusable Structures [Page 399] Properties of Query Components [Page 443] Functions of the Menu Bar in the Query Designer [Page 358] Authorizations for the Query Definition [External]

4.2.2.4.1

Restricting Characteristics

Use
When defining a query, you can restrict characteristics in the filter to single characteristic values, value ranges, hierarchy nodes, or characteristic value variables.

Prerequisites
You have selected the characteristic in the filter and have chosen Restrict from the context menu (secondary mouse button).

Procedure
General functions of input help
When you select characteristics in the query definition, you can use the same functions as for input help in the executed query. For the following functions, see the descriptions under Restricting Characteristic Values [External].

Selecting single values Selecting value ranges Displaying value keys Values available in history Saving values in favorites Deleting values from the selection window

Enterprise Reporting, Query, and Analysis

371

Core Development Tasks Developing Business Logic

March 2006

Searching for values


A search option is available in the input help dialog box. For more information, see Searching for Values [External].

Personalization of input help


You can make various user-specific settings to personalize the functions of input help. For more information, see Maintaining User Settings for the Input Help Dialog Box [External].

Functions of Input Help in the BEx Query Designer


In contrast to calling the input help dialog box from the BEx Analyzer and the BEx Report Designer, the input help dialog box in the BEx Query Designer always appears with the full range of functions and in both screen areas. The right window, Selection, which displays the selected values, is always visible. You can choose from the following additional functions in the query definition:

Excluding Values from the Selection


You use this function to select the values that you do not need for your report.

This function is only used with single values or single value variables.
...

1. Select the desired value in the right Selection window. 2. Choose Exclude from Selection. Include in Selection from the context menu

If you want to undo the procedure, choose (secondary mouse button).

Selecting Variables
When you select characteristic values in the query definition, you can also select variables instead of fixed values. These act as placeholders and are only filled with fixed values when the query is executed.

When selecting the variables it is also possible to define new variables, change variables, and delete them. These functions are always available to the right of the selection of variable type.

Selecting variables
... ...

1. Choose Show Variables. 2. Under Type, choose the variable type (such as Characteristic Value Variable, Hierarchy Node Variable) from which you wish to choose the variable. 3. Select one (or, in exceptional cases, more than one) variable from the list of available variables and add it (using the right arrow) to the right Selection window.

Selecting value range limits


... ...

1. Choose Show Value Ranges.

Enterprise Reporting, Query, and Analysis

372

Core Development Tasks Developing Business Logic

March 2006

2. Select your required operator from the dropdown box. You have the following operators: Between Less Than or Equal to Greater Than or Equal to Less Than Greater Than

3. Choose the required value or the required values for the value range and choose : Input help appears in a new dialog box and provides you with the selection of variables under Show Variables. 4. Under Type, choose the variable type (such as Characteristic Value Variable, Hierarchy Node Variable) from which you wish to choose the variable. 5. Select the required variable and choose OK. 6. For the between operator, two single values are required for the interval limits; the system automatically offers you two dropdown boxes. In this case, repeat steps 3-5. 7. After you have set the value range, choose OK. 8. Add the selection to the right Selection window using the right arrow.

Selecting intervals with one variable and one fixed limit


... ...

1. Choose Show Value Ranges. 2. Choose the Between operator. 3. Choose the fixed limit: The values from your history can also be selected in the dropdown box. If you want to choose another value, choose . The input help appears in a new dialog box and offers the associated single values under Show Single Values or History for selection. Select the required value and choose OK. 4. Select the variable limit by following steps 3-5 from the Selecting Value Range Limits section above. 5. After you have set the value range, choose OK. 6. Add the selection to the right Selection window using the right arrow.

Selecting variable offsets

You can only use this function for characteristic value variables of the type single value.
...

1. Select the required variable in the right Selection window. 2. Choose Set Variable Offsets.

3. Enter the required offset value. 4. Choose OK.

Enterprise Reporting, Query, and Analysis

373

Core Development Tasks Developing Business Logic

March 2006

You want to select the period of the last 5 years for evaluating your data. i. ii. iii. iv. v. vi. Choose Show Value Range and Between as the operator. Choose the variable Current Calendar Year and copy it to the right Selection window using the right arrow. Select the variable and choose Set Variable Offsets.

For the lower limit, enter the offset 5. Do not enter an offset for the upper limit. Choose OK.

Swapping interval limits If you are using variables in the interval limits, you can swap the limits. In the Set Variable Offsets dialog box, choose the function Swap Interval Limits.
...

Selecting fixed/variable hierarchies/hierarchy nodes


You can also restrict characteristics by hierarchy or hierarchy node, on a fixed or variable basis. See Restricting Characteristics: Hierarchies [Page 374]

Result
You have now restricted a characteristic by certain characteristic values. Choose OK. You return to the query definition. Save your entries and execute the query.

If you have restricted a characteristic to a variable value, before the query is executed a dialog box appears for you to enter variable values manually (provided that the variable is flagged as ready for input). For more information, see Variables [Page 403]. Enter the required values and choose OK. The query is now executed with the chosen values. The query is created according to your selection conditions. The selected characteristic values are displayed in the filter pane, on the right, next to the corresponding characteristic. Only the selected characteristic values are included in the table (or in the chart or map).

4.2.2.4.1.1

Restricting Characteristics: Hierarchies

Use
In the Query Designer, you can restrict characteristics by hierarchy or hierarchy node, on a fixed or variable basis. Choose from the following options:

Fixed hierarchy node fixed hierarchy

Enterprise Reporting, Query, and Analysis

374

Core Development Tasks Developing Business Logic

March 2006

Report on department A (fixed hierarchy node) for the hierarchy valid for 2005 (fixed hierarchy)

Variable hierarchy node fixed hierarchy

Report on chosen department (variable hierarchy node) for the hierarchy valid for 2005 (fixed hierarchy)

Fixed hierarchy node variable hierarchy

Report on department A (fixed hierarchy node) for the hierarchy valid for the current calendar year (variable hierarchy).

Variable hierarchy node variable hierarchy

Report on a chosen department (variable hierarchy node) for the hierarchy valid for the current calendar year (variable hierarchy).

Prerequisites
You use this function if hierarchies exist for the characteristic that you want to restrict. For more information about hierarchies, see Hierarchies [External].

Procedure
Fixed Hierarchy Select Fixed Hierarchy Node
... ...

1. Choose Show Single Values. 2. Choose the required hierarchy under Hierarchy. 3. Navigate to the required hierarchy node in the hierarchy tree. 4. Select the required hierarchy node and copy it to the right Selection window using the right arrow.

Fixed Hierarchy Select Variable Hierarchy Node


... ...

1. Choose Show Variables. 2. For the selection of the variable hierarchy node, choose Hierarchy Node Variable in the upper area under Type. 3. From the list of available hierarchy node variables, choose the required variable and select it. 4. In the lower area, under Hierarchy, choose appears. . The Select Hierarchy dialog box

5. Select a fixed hierarchy (see Selecting Hierarchies [Page 376]). 6. Add the selection to the right Selection window using the right arrow.

Enterprise Reporting, Query, and Analysis

375

Core Development Tasks Developing Business Logic

March 2006

Variable Hierarchy Select Fixed Hierarchy Node


... ...

1. Choose Show Single Value. 2. For the selection of the fixed hierarchy node, choose the required hierarchy in the upper area under Hierarchy. 3. Navigate to the required hierarchy node in the hierarchy tree and select it. 4. In the lower area, under Hierarchy, choose appears. . The Select Hierarchy dialog box

5. Select a variable hierarchy (see Selecting Hierarchies [Page 376]). 6. Add the selection to the right Selection window using the right arrow.

Variable hierarchy Select Variable Hierarchy Node


...

1. Choose Show Variables. 2. For the selection of the variable hierarchy node, choose Hierarchy Node Variable in the upper area under Type. 3. From the list of available hierarchy node variables, choose the required variable and select it. 4. In the lower area, under Hierarchy, choose appears. . The Select Hierarchy dialog box

5. Select a variable hierarchy (see Selecting Hierarchies [Page 376]). 6. Add the selection to the right Selection window using the right arrow.
... ...

Result
You have restricted a characteristic according to a node within a hierarchy. Choose OK. This takes you back to the Query Designer. Save your entries and execute the query.

If you have restricted a characteristic to a variable hierarchy and/or a hierarchy node, before the query is executed a dialog box appears for you to enter variable values manually (provided that the variable is flagged as Ready for Input). Enter the required values and choose OK. The query can now be executed, with the values you have selected to fill the variable.

4.2.2.4.1.2

Selecting Hierarchies

Use
You select hierarchies at the following stages in the query definition:

When you select a variable hierarchy or a fixed hierarchy for a hierarchy node (see also: Restricting Characteristics: Hierarchies [Page 374]) When you select a display hierarchy for a characteristic (see also: Properties of the Characteristic [Page 444])

Enterprise Reporting, Query, and Analysis

376

Core Development Tasks Developing Business Logic

March 2006

Prerequisites
You use this function if hierarchies exist for the characteristic that you want to restrict. For more information about hierarchies, see Hierarchy [External].

If you have activated virtual time characteristics in the SAP Reference IMG for time characteristics, you can select virtual hierarchies when selecting hierarchies. For more information, see Activate Virtual Time Hierarchy [External].

Procedure
You are in the Select Hierarchy dialog box. Here you have the following possibilities:

Select Fixed Hierarchies


... ...

1. Choose Hierarchy Name under the required fixed hierarchy. 2. Choose OK.

Select Variable Hierarchies


A hierarchy becomes variable if at least one of its elements (name, version, key date) is variable.
... ...

1. Select Hierarchy Variables. 2. Choose . The input help for selecting the variable hierarchy opens.

3. Select the required hierarchy and choose OK.

You can also define a new variable and change or delete an existing one. These functions are always available to the right of the Hierarchy Variable entry. 4. Make the required settings for the version and key date. 5. Choose OK.

Note that it is possible to fill the fields for version and key date, only if the characteristic has version-dependent or time-dependent hierarchies.

4.2.2.4.2

Defining Selections

Use
You can define a query by using Drag&Drop to drag the key figure of the InfoProvider into the Query Designer directories. If you move a key figure into the rows or columns, this key figure automatically becomes part of a structure. You can restrict (filter) the key figure in the structure using one or more characteristic selections. The key figure that is restricted by one or more characteristic selections can be a basic key figure, a calculated key figure, or a key figure that is already restricted.

Enterprise Reporting, Query, and Analysis

377

Core Development Tasks Developing Business Logic

March 2006

Procedure
Defining a new selection
...

1. If the query does not yet have any key figure structures, use Drag&Drop to drag a key figure into a directory of the Query Designer. Alternatively, select the header of the directories Rows or Columns and, using the secondary mouse button, select New Structure from the context menu. 2. Select the structure directory, and, using the secondary mouse button, choose New Selection from the context menu. The New Selection entry is inserted and the properties for the selection are displayed in the Properties screen area. 3. Select the New Selection entry and, from the context menu (secondary mouse button), choose Edit. The Change Selection dialog box appears. Make the basic settings on the General tab page. There is a text field for entering a description of the selection in the upper part of the screen.

You can use text variables [Page 406] in the description. Next to that, you can enter a technical name in the Technical Name field. Underneath the text field, on the left of the Detail View, is the directory of all the objects available in the InfoProvider. The empty field for the definition of the new selection is on the right-hand side of the screen: Details of the Selection. 4. Use Drag&Drop to choose a key figure from the InfoProvider, and restrict it by selecting one or more characteristic values. See Restricting Characteristics [Page 371].

You can also use variables in place of characteristic values. However, note that you cannot use the following variable types in selection structure elements for technical reasons: Variables with the process type Replacement with Query (see also Replacement Path: Replacement with Query [Page 425]) Variables that represent a precalculated value set (see also Details [Page 417]). You can use these variable types to restrict characteristics in the rows, columns, or in the filter. 5. Make any necessary settings for the properties of the selection on the other tab pages. See Selection/Formula Properties [Page 450]. 6. Choose OK. The new selection is defined in the structure.

Editing selections
...

1. If you want to change the restriction on a key figure, select the key figure in the structure and choose Edit from the context menu (secondary mouse button). The Edit Selection dialog box appears. 2. Make the required changes to the definition and, if required, in the properties on the associated tab page. 3. Choose OK.

Enterprise Reporting, Query, and Analysis

378

Core Development Tasks Developing Business Logic

March 2006

Marking selections as constant


You can mark a selection in the Query Designer as constant. This means that navigation and filtering have no effect on the selection at runtime. This allows you to easily select reference sizes that do not change at runtime. For more information, see Selecting Constants [External].

Defining properties for the selection


...

1. Select the selection in the structure. The properties dialog box is displayed In the Properties screen area. 2. Make the required settings for the technical name, description, display, number format, and calculations in the selection. See Selection/Formula Properties [Page 450].

4.2.2.4.3

Defining Formulas

Use
You can recalculate the key figures in a structure using a formula. You can include basic key figures, restricted key figures, and calculated key figures in the formula definition.

Procedure
Defining a Formula
...

1. If the query does not yet have a key figure structure, create a New Structure in the Rows or Columns of the Query Designer by highlighting the row or column directory using the secondary mouse button and selecting New Structure from the context menu. 2. If the structure does not yet contain any key figures, use Drag&Drop to transfer a (basic) key figure of the InfoProvider into the directory of the new structure. 3. Select the structure directory, and choose New Formula. The New Formula entry is inserted and the properties for the formula are displayed in the Properties screen area. 4. Select the New Formula entry and, from the context menu (secondary mouse button), choose Edit. The Change Formula dialog box appears. Make the basic settings on the General tab page. You enter a description of the formula in the text field provided in the upper part of the screen.

You can use Text Variables [Page 406] in the description. Next to that, you can enter a technical name in the Technical Name field. The formula entry field is below the text fields. The bottom left screen area contains all of the operands available for defining the formula. These are: The structure elements that you have already defined for the structure The cells that you have defined as exception cells

Enterprise Reporting, Query, and Analysis

379

Core Development Tasks Developing Business Logic All form variables

March 2006

On the right side of the screen, you see the functions that are available as operators: Basic functions Percentage functions [Page 381] Data functions [Page 383] Mathematical functions Trigonometric functions Boolean operators [Page 386] Above these two areas, you see the symbols for the basic arithmetic operations. To the right there is a number block. Proceed as follows to define a formula: Choose the required operands and insert them in the Detail View field by double-clicking or by using Drag&Drop. Choose the calculation functions you want to use by either clicking on the symbols for the basic arithmetic operations, double-clicking on the functions, or using Drag&Drop. Select the numerical values for the formula by clicking on the number block.

You can also enter digits, parentheses and basic arithmetical operations using the keyboard. 5. Define your formula using the available operands and operators. With each step, the system checks the syntactic correctness of the formula. If the formula is not yet complete and syntactically correct, the erroneous point is underlined in red. The system does not check whether the formula makes sense semantically, for example, if it contains the same units. Semantic checks are performed with the Check Query function, which you can call in the Query Designer Toolbar [Page 358].

If, when defining a formula, you want to use a variable that is not contained in the operands, you must first create the variable. Highlight the Formula Variable entry and, from the context menu, choose New Formula. You reach the variable wizard. This takes you through a step-by-step process for defining a new variable. If you want to change a formula variable, select the variable and, from the context menu, choose Edit. The variables editor appears.

Note that when you execute a query, the key figures are always calculated as the same unit. That is, a formula is semantically incorrect if, for example, a currency unit (for example, USD) is added to a weight unit (for example, kg). If you want to calculate values regardless of the unit, use the function Value Without Dimension (Without Units). See Data Functions [Page 383]. 6. Enter a description of the formula.

Enterprise Reporting, Query, and Analysis

380

Core Development Tasks Developing Business Logic

March 2006

7. Make any necessary settings for the properties of the formula in the other tab pages. See Selection/Formula Properties [Page 450] 8. Choose OK. The new formula is defined in the structure.

Editing a Formula
...

1. Highlight the formula in the structure and, from the context menu, choose Edit. 2. Make the required changes to the formula definition or to the associated tab page in the properties. 3. Choose OK.

Defining Properties for the Formula


...

1. Select the formula in the structure. The Properties screen area is displayed in the properties dialog box. 2. Make the required settings for the technical name, description, display, number format, calculations, aggregation behavior and formula collision in the formula. See Selection/Formula Properties [Page 450]

See Also: Technical Notes about the Formula Operators [Page 387]

4.2.2.4.3.1

Percentage Functions

Use
These are functions that you can use as operators for defining a formula or a calculated key figure.

Features
Percentage Deviation (%)
<Operand1> % <Operand2> This gives the percentage deviation between operand 1 and operand 2. It is identical to the formula 100 * (<Operand1> - <Operand2>) / abs(<Operand2>) , if <Operand2> does not equal 0 and the character for Division by 0 if <Operand2> equals 0.

Plan Sales % Actual Sales, expresses, as a percentage, the difference between the plan sales and the actual sales.

Enterprise Reporting, Query, and Analysis

381

Core Development Tasks Developing Business Logic

March 2006

Percentage Share (%A)


<Operand1> %A <Operand2> This gives the percentage share of operand 1 and operand 2. It is identical to the formula 100 * <Operand1> / abs(<Operand2>) , if <Operand2> does not equal 0 and the character for Division by 0 if <Operand2> equals 0. Character for Division by 0: See SAP Reference IMG SAP Customizing Implementation Guide SAP NetWeaver Business Intelligence Reporting-Relevant Settings General Reporting Settings Display of Numerical Values in the Business Explorer.

Fixed Costs %A Costs expresses what proportion the fixed cost of a product is of the total cost.

Percentage Share of the Result (%CT)


%CT <Operand> This shows how high the percentage share is, with regard to the result. The result is the outcome of aggregating the second highest results level (interim result). If a characteristic has been drilled down upon in both the rows and the columns, this relationship is not unique, causing the system to display the warning, and relevant symbol for Data Does Not Exist. See SAP Reference IMG SAP Customizing Implementation Guide SAP NetWeaver Business Intelligence Reporting-Relevant Settings General Reporting Settings Display of Numerical Values in the Business Explorer.

Year 1999

Region North South Result for 1999

Sales 30 30 60 60 60 120 180

%CT Sales 50 50 33,3333 50 50 66,6667 100

2000

North South Result for 2000

Overall result

Percentage Share of the Overall Result (%GT)


%GT <Operand> This shows how high the percentage share is, with regard to the overall result. The overall result is the outcome of aggregating the highest results level. Dynamic filters (filters that have not been determined already in the query definition) also play a role in calculating the overall result.

Year

Region

Sales

%GT Sales

Enterprise Reporting, Query, and Analysis

382

Core Development Tasks Developing Business Logic

March 2006

1999

North South Result for 1999

30 30 60 60 60 120 180

16,6667 16,6667 33,3333 33,3333 33,3333 66,6667 100

2000

North South Result for 2000

Overall result

Percentage Share of the Query Result (%CT)


This is the same as %GT.

Unlike the process of calculating the overall result, dynamic filters are not used in the calculation of the query result. This means that, independently of the filter status and the navigational state, the same value is always normalized.

4.2.2.4.3.2

Data Functions

Use
These are functions that you can use as operators for defining a formula or a calculated key figure.

Features
Value = 1 if operand <> 0, otherwise 0 (numerator)
COUNT(<Expression>) Delivers the value 1 if the <Expression> is <> 0, otherwise 0.

Processing a Value as a Date


DATE The value is seen as the number of days from 00.01.0000 onwards and output as a date. The value can be between 0 and a million, which results in a date between 01.01.0000 and 27.11.2738.

Value = 1 if operand = 0, otherwise 0


DELTA(<Expression>) Delivers the value 1 if the <Expression> is 0, otherwise 1.

Enterprise Reporting, Query, and Analysis

383

Core Development Tasks Developing Business Logic

March 2006

The function is identical to the NOT operator and should no longer be used.

NDIV0 (x): Equals 0 when divided by 0, otherwise x


NDIV(<Expression>) Is 0 if the calculation of <Expression> causes a division by 0. Otherwise, the result is the value of the expression. It is used to avoid error messages or so that you can continue to calculate a defined result.

Values without Dimensions (without Units)


NODIM(<Expression>) Delivers purely numerical values of <Expression> and suppresses units and currencies.

Using this function, you can avoid the mixed currency character. See SAP Reference IMG SAP Customizing Implementation Guide Business Intelligence Reporting-Relevant Settings General Reporting Settings Display of Numerical Values in the Business Explorer.

NOERR (x): Equals 0 for undefined calculations, otherwise x


NOERR(<Expression>) Is 0 if the calculation of <Expression> leads to an arithmetical error. Otherwise, the result is the value of the expression. It is used to avoid error messages or so that you can continue to calculate a defined result.

NOERR(SQRT(-1)) = 0

Result
SUMCT <Operand> Delivers the result of the operands to all rows or columns (see also Percentage Functions [Page 381] % CT).

Year 1999

Region North South Result for 1999

Sales 30 30 60 60 60 120 180

SUMCT Sales 60 60 180 120 120 180 180

2000

North South Result for 2000

Overall result

Enterprise Reporting, Query, and Analysis

384

Core Development Tasks Developing Business Logic

March 2006

Overall result
SUMGT <Operand> Delivers the overall results for the operands (see also Percentage Functions [Page 381] %GT).

Year 1999

Region North South Result for 1999

Sales 30 30 60 60 60 120 180

SUMGT Sales 180 180 180 180 180 180 180

2000

North South Result for 2000

Overall result

Query Result
SUMRT <Operand> Delivers the query result of the operand. For more information about the difference between the overall result and the query result, see Percentage Functions [Page 381] %GT and %RT.

Processing a Value as a Time


TIME The TIME operator takes any key figure or (partial) formula in general and makes a TIME type key figure. Go to the formula editor and, for the operator, double-click the data function Process Value as Time and, for the operand, double-click the key figure you want. For example, the formula is then Time (Sales). The system cuts off the decimal places, interprets the value as seconds, and displays the value in the form +-hh:mm:ss. For example, -4812 is displayed as 1:20:12. Any time is seen as seconds from 00:00:00 and output in hours, minutes and seconds. A TIME type key figure with value 0 is displayed as 00:00:00. Negative times are permitted: With a negative time the system calculates from 00:00:00 backwards. The number of hours can be any amount. After 24 hours the system restarts at 0.

This function is designed for offset calculations, among other things. For example, if you need to deduct four hours with time key figures, then you can set the TIME operator.

Enterprise Reporting, Query, and Analysis

385

Core Development Tasks Developing Business Logic

March 2006

4.2.2.4.3.3

Boolean Operators

Use
These are functions that you can use as operators for defining a formula or a calculated key figure.

Features
Relational Operators (<, <=, <>, ==, >, >=)
<Expression1> <Operator> <Expression2> The result is 1 if the relationship denoted by <Operator> between expression <Expression1> and <Expression2> holds (that is <Expression> <Operator> <Expression2> is true), otherwise the result is 0. Only numerical values of <Expression1> and <Expression2> are compared without taking units into account.

Example: Costs < Sales delivers 1 if sales are greater than costs and 0 if costs are greater than or equal to sales.

Logical AND (AND)


<Expression1> AND <Expression2> The result is 1 if both <Expression1> and <Expression2> do not equal 0. Otherwise the result is 0. Only the numerical values of <Expression1> and <Expression2> are considered, without taking units into account.

Logical OR (OR)
<Expression1> OR <Expression2> The result is 1 if <Expression1> or <Expression2> does not equal 0. Otherwise the result is 0. Only the numerical values of <Expression1> and <Expression2> are considered, without taking units into account.

Logical Exclusive OR (XOR)


<Expression1> XOR <Expression2> The result is 1 if either <Expression1> or <Expression2> (but not both) does not equal 0. Otherwise the result is 0. Only the numerical values of <Expression1> and <Expression2> are considered, without taking units into account.

Logical NOT (NOT)


NOT <Expression> The result is 1 if <Expression> is 0, otherwise the result is 0. Only the numerical value of <Expression> is considered without taking units into account.

LEAF
The result is 0 for results rows or real (inner) nodes of a hierarchy, and the value 1 for elementary rows or the leaves of a hierarchy.

Enterprise Reporting, Query, and Analysis

386

Core Development Tasks Developing Business Logic

March 2006

This operator allows you to carry out various calculations on results rows and elementary rows.

Conditional Calculations (IF-THEN-ELSE)


You can make conditional calculations using Boolean operators An expression in the form IF<Logic Expression> THEN <Expression1> ELSE <Expression2> can also be made using a formula in the form <Logic Expression> * <Expression1> + NOT <Logic Expression> * <Expression2>

Example: IF Actual Costs > Plan Costs THEN Plan Costs + Plan Deviation ELSE Actual Costs can be written as the following formula: (Actual Costs > Plan Costs)* (Plan Costs + Plan Deviation) + (NOT (Actual Costs > Plan Costs)) * Actual Costs or (Actual Costs > Plan Costs)* (Plan Costs + Plan Deviation) + (Actual Costs <= Plan Costs) * Actual Costs

4.2.2.4.3.4

Technical Notes about the Formula Operators

Test of <Expression> = 0
The test for whether a mathematical expression is 0 is used to avoid problems based on rounding operations through the inquiry abs (<Expression>) < 10**-6. In other words, all values in the interval [-10**-6, 10**-6] = [-0,000001; 0,000001] are taken as 0.

Result for Non-Defined Mathematical Operations


If an operation which is not allowed or defined mathematically (for example, division by 0, square roots of negative values) is executed, the character for division by 0 or data does not exist (see SAP Reference IMG SAP Customizing Implementation Guide SAP NetWeaver Business Intelligence Reporting-Relevant Settings General Reporting Settings Display of Numerical Values in the Business Explorer) is given and is not calculated further. This means that all formulas in which the incorrect formula appears are not calculated. You can suppress this reaction that causes the expression to lead to errors by compounding the operators NDIV0() or NOERR() (see Data Function [Page 383]).

When you use these operators, check that the result can be interpreted meaningfully by the user, even in the case of errors.

ABAP Coding for Calculating Operators


In problematic cases, take a look at the functions of the operators in the ABAP coding (include LRRK0F10, form LOC_RECHNEN).

Enterprise Reporting, Query, and Analysis

387

Core Development Tasks Developing Business Logic

March 2006

4.2.2.4.4

Defining Exception Cells

Use
When you define selection criteria and formulas for structural components and there are two structural components of a query, generic cell definitions are created at the intersection of the structural components that determine the values to be presented in the cell. Cell-specific definitions allow you to define explicit formulas and selection conditions for cells as well as implicit cell definitions. This means that you can override implicitly created cell values. This function allows you to design much more detailed queries. In addition, you can define cells that have no direct relationship to the structural components. These cells are not displayed and serve as containers for help selections or help formulas.

Prerequisites
The query contains two structures. You can define exception cells only for queries that have two structures. For example, you can use characteristic values in one structure and key figures in the other. You can then define cells if these prerequisites have been met.

A cell is the intersection between two structural components. The term cell for the function Defining Exception Cells should not be confused with the term cell in Microsoft Excel. The formulas or selection conditions that you define for a cell always take effect at the intersection between two structural components. If a drilldown characteristic has two different characteristic values, the cell definition always takes effect at the intersection between the characteristic value and the key figure.

Procedure
In the Query Designer, choose View Cells from the menu bar to reach the functions of the cell definition. The Cells screen area is displayed.

New selection
...

1. Select a cell in the Cell screen area and choose New Selection with the secondary mouse button. The new selection that is not yet defined appears in the cell. 2. Select the new selection and choose Edit from the context menu. The Change Selection Cells dialog box appears. Make the basic settings on the General tab page. 3. Use Drag&Drop to define your required selection by dragging a key figure and the characteristic values by which you want to restrict the key figure to the right-hand area of the Details of the Selection dialog box. See Defining Selections [Page 377]. You can use characteristic value variables instead of fixed characteristic values. If you want to change an existing variable, select the variable and choose Edit from the context menu. The variables editor appears and you can change the settings. If you want to define a new variable, select the characteristic value and choose New Variable from the context menu. The new variable is displayed. Choose Edit from the

Enterprise Reporting, Query, and Analysis

388

Core Development Tasks Developing Business Logic

March 2006

context menu of the new variable. The variables editor appears and you can define the settings. For more information, see Defining Variables [Page 415]. 4. Enter a description for the selection.

You can use text variables [Page 406] in the description. 5. Make any necessary settings for the properties of the selection on the other tab pages. See Selection/Formula Properties [Page 450]. 6. Choose OK. The cell contains the description of the selection. The you that a selection exists for this exception cell. symbol shows

New formula
...

1. Select a cell in the Cell Definition dialog box and, using the secondary mouse button, choose New Formula from the context menu. The new formula that is not yet defined appears in the cell. 2. Select the new formula and choose Edit from the context menu. The Change Formula Cell dialog box appears. Make the basic settings on the General tab page. 3. Define your formula using the operands and functions available. See Defining Formulas [Page 379]. 4. Enter a description of the formula.

You can use text variables [Page 406] in the description. 5. Make any necessary settings for the properties of the formula in the other tab pages. See Selection/Formula Properties [Page 450]. 6. Choose OK. The cell contains the description of the formula. The that a formula exists for this exception cell. symbol shows you

New cell reference


You can use any cell that you define in a formula. If you want to reuse the value from the implicit, generic cell definition that is automatically created at the intersection of the two structural components of a query, select this cell in the Cell screen area and, using the secondary mouse button, choose New Cell Reference. A description taken from the two symbol shows you that a structural components now automatically appears in the cell. The cell reference exists for this exception cell. Now you can reference this cell. You can continue to use the implicit cell definition and do not have to manually generate this value using a new selection.

Functions of explicitly defined cells:


Select a defined cell and choose the required function from the context menu (secondary mouse button).

Edit Cut Copy

Enterprise Reporting, Query, and Analysis

389

Core Development Tasks Developing Business Logic


March 2006

Paste Remove Where-Used List Before you delete a cell, you can check for the formulas in which the defined cell is used in the where-used list.

You reach the properties of a defined cell by selecting the defined cell. In the Properties screen area you can also make changes such as:

Changing the description of the cell Changing the highlighting of the cell Hiding the cell ( if you do not want to see the values of the cell)

Help cells
In the Help Cells area you can define additional cells for help selections or help formulas. You can use the functions New Selection and New Formula in the context menu to define help cells that are not displayed in the query to serve only as objects for help selections and help formulas.

For example, you can define an invoice in a help cell and use this in a real cell to calculate a duplicated invoice.
...

a. Using the secondary mouse button, click on the empty cell next to Help Cells to reach the context menu. From here, choose New Selection. b. Use Drag&Drop to drag the Invoice key figure into the right-hand Details of the Selection area. c. Enter a description. d. Choose OK. The cell contains the description of the selection. The shows you that a selection exists for this exception cell. symbol

e. Now choose New Formula from the context menu of the required cell of the query. The new formula that is not yet defined appears in the cell. f. Select the new formula and choose Edit from the context menu. g. Use Drag&Drop to drag the cell you have just defined, which you can find in the Available Operands window under Cells, into the Detail View window. Click on the button twice. h. Enter a description. i. Choose OK. The cell contains the description of the formula. The shows you that a formula exists for this exception cell. symbol

Result
You have defined one or more exception cells for a query.

Enterprise Reporting, Query, and Analysis

390

Core Development Tasks Developing Business Logic

March 2006

4.2.2.4.5

Defining Conditions

Use
You can formulate conditions in the query designer to make data analysis more efficient. In the results area of the query, the data is filtered according to the conditions so that only the part of the results area that you are interested in is displayed. For more information on the features of conditions, see Conditions [External].

Procedure
...

1. In the Conditions screen area, choose New Conditions in the context menu. The entry with the default text Condition <Number> appears and you edit the description directly. 2. In the context menu, choose Edit. The conditions editor appears. This offers the parts of the definition in the tab pages. 3. Make the required settings for the definition of the condition. For more information, see Definition of Conditions [External]. 4. Choose OK. You return to the query definition. 5. Choose Save Query.

Removing Conditions from Queries


...

1. In the Conditions screen area, select the relevant condition and choose Remove in the context menu. 2. Choose Save Query.

Result
You have defined or changed a condition for a query. Execute the query. Only those objects are displayed which fulfill the defined conditions.

You can display the condition descriptions in the query view and activate or deactivate them there. See Using Conditions [External].

See also:

Background Information on Conditions [External]

4.2.2.4.6

Defining Exceptions

Use
You can define threshold values (exceptions) for a query. Data that varies from these thresholds is highlighted in color or marked with symbols. You can use these exceptions to identify deviations from expected results at a glance.

Enterprise Reporting, Query, and Analysis

391

Core Development Tasks Developing Business Logic

March 2006

Procedure
Defining and Changing Exceptions
...

1. In the Exceptions screen area, choose New Exception in the context menu. The entry with the default text Exception <Number> appears and you can edit the description directly. 2. In the context menu, choose Edit. The exception editor appears; it offers the relevant parts for the definition on the tab pages. 3. Make the required settings for the definition of the exception. For more information, see Definition of Exceptions [External]. 4. Choose OK. You return to the query definition. 5. Choose Save Query.

Removing Exceptions from Queries


...

1. In the Exceptions screen area, select the relevant exception and choose Remove in the context menu. 2. Choose Save Query.

Result
You have defined or changed an exception for a query. Execute the query. The exception is evaluated online. The cell areas that are affected by the exception appear highlighted in the appropriate color or, where applicable, with the relevant symbols in Web applications.

You can display the exception descriptions and activate or deactivate the exceptions you want. BEx Web applications: Choose Switch Status in the List of Exceptions [External] Web item to activate and deactivate exceptions. Choose Settings in the BEx Web Analyzer [External]. You can activate or deactivate the exceptions using the Switch Status button. BEx Analyzer: In the List of Exceptions [Page 332] design item, choose the relevant symbol, Activate or Deactivate. With the BEx Broadcaster, you can check queries for exceptions in the background. If a threshold value for an exception is exceeded or not reached, the BEx Broadcaster immediately generates a document according to the criteria you defined and distributes this to the recipients by email, to the portal, or as an alert. For more information, see Broadcast by Exception [External].

See also:

Exception Reporting [External]

Enterprise Reporting, Query, and Analysis

392

Core Development Tasks Developing Business Logic

March 2006

4.2.2.5

Saving Queries

Saving Queries
Using the Save Query function, you can save a query that you have defined or changed under its current name. In the Query Designer menu bar, choose Query Save.

If the query does not have a technical name, the system offers the Save As function automatically.

Save Query As...


...

1. If you want to save the query under a new technical name, in the Query Designer menu bar, choose Query Save As. 2. Enter the new technical name.

This name must uniquely identify the query; the name is only allowed to occur once in the entire BI system. The technical name can be up to 30 characters long and must begin with a letter. 3. Enter a Description for the query. You can save the query in your favorites or roles.

With the Save As function, a copy of the query is created, which only copies the local objects of the query. The reusable objects of the query are also referenced.

Result
The query has been saved and can now:

Be displayed in the BEx Web Analyzer Be used in the BEx Web Application Designer as a data provider for Web items Be used in the BEx Analyzer as a data provider for design items

Enterprise Reporting, Query, and Analysis

393

Core Development Tasks Developing Business Logic

March 2006

4.2.2.6

Displaying and Changing Existing Queries in the Query Designer

Displaying Queries
4. You call the BEx Query Designer using one of the following options: Standalone, by choosing Start Programs Business Explorer Query Designer. BEx Web Application Designer: In the menu bar of the Web Application Designer, choose Tools BEx Query Designer. BEx Analyzer: If you are already in a cell of the query, in the analysis toolbar, choose Tools Change Query <Technical Name>. The Query Designer opens with the associated query. In this case, step 2 is omitted (see below). BEx Report Designer: In the menu bar of the Report Designer, choose Tools BEx Query Designer. 5. In the Query Designer menu bar, choose Query Open. The BEx Open Dialog appears. Here, all existing queries are available in your history, favorites, or roles or are listed according to InfoArea. In InfoAreas, you get a list of all existing queries in the BI system for which you have display authorization.

Changing Queries
...

1. Display the query in the Query Designer. You can now make changes in the query definition. The procedure for changing the query is the same as for creating a new query (see also: Defining New Queries [Page 368]). 2. You have two options for saving the query: You can save the changed query. In the Query Designer menu bar, choose Query Save. You can save the changed query as a new query. In the Query Designer menu bar, choose Query Save As. Enter a new technical name, a new short text, and a new description.

3. You can also delete the query. In the Query Designer menu bar, choose Query Delete. You can delete the query only if it is no longer being used (that is, if it is not being used in any workbooks, Web templates, report, or broadcast settings).

See also:
Saving Queries [Page 393] Functions of the Menu Bar in the Query Designer [Page 358]

Enterprise Reporting, Query, and Analysis

394

Core Development Tasks Developing Business Logic

March 2006

4.2.2.7

Reusable Query Components

Use
In the Query Designer, you can define a number of objects and save them for reuse. Thus you only need to define the objects once and can use them in all queries. When a reusable object is changed, the changes have an effect wherever the object is used.

Features
The following objects can be defined for reuse:

Structures [Page 395] Filter [Page 402]

The following objects are always reusable:


Variables [Page 403] Restricted Key Figures [Page 434] Calculated Key Figures [Page 436]

4.2.2.7.1

Structures

Definition
Objects that appear in the Query Designer and can be defined freely. A structure forms the basic framework of the axes in a table (rows or columns). It consists of structural components. We differentiate between key figure structures and characteristic structures. Structural components of key figure structures are always based on the key figure selections (basic key figures, restricted key figures, and calculated key figures). Characteristic structural components cannot contain key figure selections. The set up of the structure determines the sequence and number of key figures or characteristic values in the columns and rows of the query. You can navigate through the structure in the executed query and set filters for it. If you are using two structures (for example, a key figure structure in the columns and a characteristic structure in the rows), a table with fixed cell definitions is created.

You have to use two structures as a prerequisite for defining exception cells. You can override the value of cell values created implicitly at the intersection of two structural components. See Defining Exception Cells [Page 388]

Use
Structures and their structural components are complex objects. Structural components can be formulas [Page 379] or selections [Page 377].

Enterprise Reporting, Query, and Analysis

395

Core Development Tasks Developing Business Logic

March 2006

In key figure structures, each selection structural component has to consist of one key figure selection along with possible characteristic selections. Within a query definition you can use either no structures or a maximum of two structures. Of these, only one can be a key figure structure. You can combine structures freely with other characteristics on the axes.

Key Figure Structure


A structure appears in the Query Designer automatically if you move a key figure from the InfoProvider screen area into the rows or columns of the query definition. The structure that the system creates automatically is identified by the symbol and contains the default name Key Figures as a proposal. You can change this default name.
...

1. Select the structure. The structure properties [Page 459] is shown in the properties screen area. 2. Change the name if necessary, and save your entries.

You can also change the name in the structure directly. Select the structure and click on the text again. The text appears in a white field and can be changed here directly. For more information, see Structure Element Texts and their Language-Dependency [Page 401].

Note the following when using key figures in a query:

Key figures in the Rows or Columns are always a component of a structure. If you place a single key figure in the Filter directory of the query definition, the key figure is not a structural component. In this case, you can still use up to two characteristic structures in the rows or columns.

You can use key figures in a query in only one structure. Each structural component of a key figure structure must contain a key figure.

Characteristic Structure
If you want to use a structure in the query with several characteristic values, you first have to create a structure and then insert the required characteristic values.
...

1. Use the right mouse button to choose New Structure from the context menu in the columns or rows directory. The default name for the structure is Structure. You can change this default name. See above under Key Figure Structure. 2. Drag the required characteristic values from the InfoProvider screen area into the structure using Drag&Drop. Although a key figure has to be available in the form of a structure for the query, the use of a characteristic structure is optional. The difference between a characteristic structure and the

Enterprise Reporting, Query, and Analysis

396

Core Development Tasks Developing Business Logic

March 2006

use of characteristics on an axis is that with the characteristic structure, you have already specified the number and sequence of the characteristic values in the query definition. If you use a characteristic on an axis, all posted characteristic values for the characteristic are displayed in the query. You can restrict the selection of specific characteristic values by setting a filter.

Special Features when Using Two Structures


Note that when you use two structures, you can include a characteristic in only one of the two structural components of a selection structural component.

If you have selected the Fiscal Year characteristic in a structure element in the one structure, you cannot use the Fiscal Year characteristic as a selection in the other structure.

Hierarchical Display of Structures


You can arrange the structural components in a structure hierarchically. Use the right mouse button to choose Insert (Subordinate) for the structural components from the context menu. You can select one or more structural component to subordinate them to the structural component above the selection. The hierarchical relationship of the structural components is displayed in the executed query similar to a presentation hierarchy. You can expand and collapse the nodes.

Arranging the Structural Components


You determine the sequence of the structural components when you add a key figure or characteristic to the structure below another. You can change the sequence later by selecting the structural component and using Drag&Drop to move it up or down to the required position.

Copying Structural Components


The components of key figure structures often contain very complex objects that are made up of formulas or selections. If you want to reuse the definition of a structural component within a structure, you can copy the structural component, paste it into the structure and continue to work with it. This enables you to create similarly structured structural components quickly and easily.

For example, if you want to use the formula for a calculated key figure (K1) in another calculated key figure (K2), you can copy K1 and continue to build the formula in K2. From the context menu of the structural component, choose Copy and from the context menu of the structure, choose Insert. You can also copy structural components using temporary storage locations (Ctrl-C, Ctrl-V).

Saving Structures for Reuse


You can use structures in several different queries. You have to save them in the InfoProvider to reuse them. These structures are then called reusable structures. For more information, see Creating Reusable Structures [Page 399].

Enterprise Reporting, Query, and Analysis

397

Core Development Tasks Developing Business Logic

March 2006

Integration
Considered abstractly, you can think of a structure as a characteristic. However, the following differences exist between a characteristic and a structure:

Structural components can be complex objects (selections, formulas) while characteristic values are atomic values. You cannot aggregate structures. For a characteristic, you can determine whether it can be aggregated or not. If a characteristic can be aggregated, the sum of the characteristic values is created automatically. Structural components cannot create sums. If a characteristic is in the drilldown, all posted characteristic values are displayed. Characteristic values that do not include posted values are not displayed. If a structural component does not include posted values, then the structural component is always displayed, and the respective cells for this structural component are empty and have no numbers.

Constraints
The number of structural components in a structure is restricted to 999.

Examples
Plan/Actual Comparison (= Key Figure Structure)

K e y F ig u re s A c tu a l A m o u n t = S e le c tio n fro m K e y F ig u re A m o u n t a n d V a lu e T y p e A c tu a l = S e le c tio n fro m K e y F ig u re A m o u n t a n d V a lu e T y p e P la n n e d = F o rm u la : A c tu a l A m t P la n n e d A m t

P la n n e d A m o u n t

V a ria n c e

P e rc e n ta g e V a ria n c e

= F o rm u la : A c tu a l A m t % P la n n e d A m t

Enterprise Reporting, Query, and Analysis

398

Core Development Tasks Developing Business Logic

March 2006

Time Structure (= Characteristic Structure)

Time Structure Current Month Month from Previous Year Percentage Variance for von Current Month and Month from Previous Year Year to Date Year to Date for Previous Year Percentage Varaince for Year to Date and Year to Date for Previous Year

Creating a Query with Two Structures


Key figure structure in the rows and characteristic structure in the columns:
Current Month Month from Previous Year Percentage Variance

Net Income KEY FIG. STRUCTURE

CHAR. STRUCTURE

Quantity

Average Price

4.2.2.7.1.1

Creating Reusable Structures

Use
You can use structures [Page 395] in several different queries. You have to save them in the InfoProvider to reuse them. These structures are then called reusable structures.

Enterprise Reporting, Query, and Analysis

399

Core Development Tasks Developing Business Logic

March 2006

When you use a reusable structure in a query, the structure is not copied, but rather the reference to it is. Changes made to reusable structures affect all queries in which reusable structures are used.

To better distinguish between the two kinds of structures, structures that are not saved as reusable structures are called local structures. Local structures are used in only one query. You can change local structures into reusable structures in any existing query by selecting the structure and, choosing Save Structure as... from the context menu and then entering a technical name and a description. You can change reusable structures that you are using in a query into local structures by selecting the structure and choosing Remove Reference from the context menu.

Prerequisites
At least one InfoProvider that is filled with data must be available in the BI system.

Procedure
...

1. Start the Query Designer and choose Query New Query in the menu bar. 2. You get to the selection screen for all InfoProviders for which you can define a new query. From the list of all available InfoProviders, select the InfoProvider for which you want to create the reusable structure. The available objects in the InfoProvider you selected are displayed as a directory tree in the InfoProvider screen area in the Query Designer. 3. In the Rows or Columns directory of the Query Designer, choose New Structure from the context menu (secondary mouse button). 4. Create a new structure. Select the characteristics and key figures of the InfoProvider that you want to use in the new structure and drag them into the structure directory. Where necessary, restrict a characteristic or a key figure, or define a new calculated key figure.

You can copy individual structural components within a structure. This enables you to create similarly structured structural components quickly and easily. For example, if you want to use the formula for a calculated key figure (K1) in another calculated key figure (K2), you can copy K1 and continue to build the formula in K2. From the context menu of the structural component, choose Copy and from the context menu of the structure, choose Insert. You can also copy structural components using temporary storage locations (Ctrl-C, Ctrl-V). 5. Highlight the new structure. From the context menu (secondary mouse click), choose Save Structure As... and enter a Technical Name and a Description.

Enterprise Reporting, Query, and Analysis

400

Core Development Tasks Developing Business Logic

March 2006

Result
The reusable structure is in the structure list of the InfoProvider tree and you can use it again when you create new queries.

See Also:
Defining New Queries [Page 368]

4.2.2.7.1.2

Structure Element Texts and Their LanguageDependency

Use
When you define a query, in the InfoProvider screen area you see the InfoProvider objects that you can move into the query directories using Drag&Drop for the definition. For example:

InfoObjects Reusable calculated key figures Reusable restricted key figures Reusable structures

You can maintain the texts for these objects in several languages.

Examples
Creating Structures and Changing or Accepting the Default Text
...

1. If you create a query in a logon language (for example, German) and include a basic key figure, a restricted key figure, or a calculated key figure in the columns or row, this key figure automatically becomes part of a structure, that is, a Selection structural component. (You see the Selection type in the Change Selection dialog box that appears when you double-click on a structural component.) The structure that the system creates automatically is identified by the contains the default name Key Figures as a proposal. symbol and

A key figure in the rows or columns has to be part of a structure. You can have a maximum of two structures in a query, only one of which can be a key figure structure. You can also create a structure manually. Use the right mouse button to open the context menu in the Columns or Rows and choose New Structure. This structure automatically receives Structure as a suggested name. 2. You can change this suggested name. Select the structure. The Properties screen area is displayed in the properties dialog box structure [Page 459]. 3. Change the name if necessary, and choose OK.

Enterprise Reporting, Query, and Analysis

401

Core Development Tasks Developing Business Logic

March 2006

Structural Components and Their Texts

When you drag a key figure from the InfoProvider screen area into the key figure structure, the name for this selection structural component is adopted as a proposal from the InfoProvider screen area by default. You can see this in the Properties screen area, since the Use Standard Text entry is selected. You can make additional restrictions for the structural component (by double-clicking on it) or change the properties of it (in the Properties screen area), and, therefore, can change the name given by default.

You can transfer a key figure as often as you want and make changes to the structure locally (different settings, restrictions). Therefore, the name has to be individually changeable.

The structure does not contain the original element from the InfoProvider screen area, but rather a structural component that links to the original key figure in the InfoProvider screen area. The names of the structural components are language dependent. When you define and save a query with the logon language as German, only the corresponding German texts are saved in the relevant tables (for example, RSZELTTXT). This is not the original key figure, but rather a structural component, a new object that links to the original key figure but is not the original key figure. If you then execute the query in a different logon language to the one that you used to define the query, the standard texts are displayed for all structural components that have no text. Structures and structural components (selections, formulas) are completely independent objects that appear in the BEx Query Designer and that you can store in the relevant tables when you save them. Since texts are fundamentally languagedependent, the texts in the query definition appear in the logon language only when you save the query. For queries that are already defined, translated key figures within a structure are subsequently automatically modified if the standard text is used.

4.2.2.7.2

Filters

Use
A filter is an object that describes a multidimensional segment of data from a data set. Filters are used in reporting, analysis and planning, for example to restrict data to a certain business sector, product group, or time, for example. This segmentation of the data can ensure that users or user groups only have access to the data that is relevant to them or that only certain data areas are visible to them within an application scenario. Filters can be saved for reuse in other contexts.

Features
The filter selection restricts the entire query. All of the InfoProvider data is aggregated using the filter selection of the query. You can select the characteristics from the directory tree of

Enterprise Reporting, Query, and Analysis

402

Core Development Tasks Developing Business Logic

March 2006

the InfoProvider and restrict it to individual characteristic values, individual characteristic values or a key figure. Decide whether all of the query data is to refer to the numerical values of a key figure or whether the query should be based on several key figures. If the query refers to the numerical values of one key figure, select the corresponding key figure of the InfoProvider tree and drag it to the Filter area using Drag&Drop. You can also use a restricted or calculated key figure. The selection of default values allows the query to be based on extensive data, but when the query is executed, only a specific part of the data is displayed the data that you are interested in seeing first. Then it is possible to change the filter and to analyze the other data as well. For example, all the customers in a query are to be analyzed, but in the initial status of the query, you only want to see specific customers. You can also change the filter definition and include new objects, for example. If you change the reusable filters, these changes have an affect wherever the filter is used. You can also change the filter locally, for example by putting the object below the reusable filter instead of in it, for example. In this way, the reusable filter and the local filter object are used in this query. Filters that contain key figures cannot be saved as reusable objects. These filters are always local objects of the query. This is not a restriction, because you can always combine a reusable filter and a local one. You can take the reusable filter with the characteristic values and also add a key figure to the local filter.

Activities
In the Query Designer, determine the filter by using Drag&Drop to drag the following objects from the InfoProvider screen area onto the left area of Filter screen area, the Characteristic Restrictions.

Characteristics: Restrict the characteristics to the required characteristic values, to characteristic value intervals or hierarchy nodes. One or more characteristic values, Or a key figure

Using Drag&Drop, drag the required default values for the initial status of the query into the right area Default Values. If you want to save the filter as a reusable object, from the context menu anywhere in the filter, choose Save Filter and enter a technical name and a description.

4.2.2.7.3

Variables

Definition
Variables are parameters of a query that you defined in the Query Designer and that are filled with values when you execute the query or Web application. They serve as place holders for characteristic values, hierarchies, hierarchy nodes, texts and formula elements, and can be processed in different ways. The processing type [Page 407] determines how a variable is filled with a value for the runtime of the query or Web application. There are different types of variables [Page 404] depending on the object for which you want to define variables. These types specify where you can use the variables.

Enterprise Reporting, Query, and Analysis

403

Core Development Tasks Developing Business Logic

March 2006

Variables are reusable objects. This means that when you define a variable for a query in the Query Designer, this variable can be used in all other queries. Variables are not dependent on the InfoProvider, only on the InfoObject. A variable that you define for an InfoObject is available in all InfoProviders that use this InfoObject.

Use
Variables enable you to customize queries flexibly (parameterize the query). If you use variables in the Query Designer, do not select any fixed characteristic values, hierarchies, hierarchy nodes, texts, or formula elements. Instead, set up variables as place holders. These are then filled with values during query runtime (when you insert the query into a workbook, when you refresh the workbook or when you execute the query on the Web. You can use one query definition as the foundation for many different queries if you use variables.

You want to create one query for all the people responsible for customer groups, who each only evaluate the data for one customer group. In the Query Designer, you insert a variable for the characteristic Customer Group. Before the query is executed, decide for which customer group(s) you want the query to be executed. The variables editor is available in the Query Designer for designing and changing variables. You make the settings on tab pages. These are context-sensitive and are adjusted according to the combination of variable and processing types used. This means that the variables editor only offers the selection options that are permitted for that combination of variable and processing types. For more information, see Defining Variables [Page 415]. In the Variable Properties dialog box in the Properties screen area, you can change the various settings of an existing variable. For more information, see Variable Properties [Page 462]. Within BI Integrated Planning , variables are used to parameterize a query, a planning function, a filter, a characteristic relationship or a data slice. For BI Integrated Planning, as well as the variable editor in the Query Designer, you have a variable wizard and a variable editor available in the planning modeler and in the planning wizard. For more information, see Variables [External].

4.2.2.7.3.1

Variable Types

Definition
The type of variable being used that determines the object that the variable represents as a placeholder for a concrete value.

Structure
Depending on the object for which you define variables, there are the following types of variables that specify where you can use the variables:

Characteristic value variables Characteristic value variables represent characteristic values and can be used wherever characteristic values can be used.

Enterprise Reporting, Query, and Analysis

404

Core Development Tasks Developing Business Logic

March 2006

If you restrict characteristics to specific characteristic values, you can also use characteristic value variables. See Restricting Characteristics [Page 371].

Hierarchy variables Hierarchy variables represent hierarchies and can be used wherever hierarchies can be selected.

If you restrict characteristics to hierarchies or select presentation hierarchies, you can also use hierarchy variables. See Selecting Hierarchies [Page 376]

Hierarchy node variables Hierarchy node variables represent a node in a hierarchy and can be used wherever hierarchy nodes can be used.

If you restrict characteristics to hierarchy nodes, you can also use hierarchy node variables. See Restricting Characteristics: Hierarchies [Page 374]

Text variables Text variables represent a text and can be used in descriptions of queries, calculated key figures and structural components.

You can use text variables when you create calculated key figures, restricted key figures, selections and formulas in the description of these objects. See Defining Calculated Key Figures [Page 436], Defining Restricted Key Figures [Page 434], Defining Selections [Page 377], and Defining Formulas [Page 379]. You can change the descriptions in the properties dialog box. See Query Properties [Page 438] and Selection/Formula Properties [Page 450].

Formula variables Formula variables represent numerical values and can be used in formulas. See Defining Formulas [Page 379]. In addition, numerical values are used for selecting exceptions and conditions and you can also use formula variables here. See Defining Exceptions [Page 391] and Defining Conditions [Page 391]

You can use a formula variable for the interest rate in order to process the current interest rate, after you have executed the query or Web application.

Enterprise Reporting, Query, and Analysis

405

Core Development Tasks Developing Business Logic

March 2006

4.2.2.7.3.1.1

Using Text Variables

Use
Text variables represent a text and can be used in descriptions of queries, calculated key figures and structural components.

When the system is replacing text variables, if it finds no values or multiple values for the reference characteristic and is thus unable to determine a unique value, the technical name is output as the result: &<technical name of the text variable>&

Procedure
Selecting existing text variables You have the following options for selecting an existing text variable:

Click on the

symbol.

In the context menu, choose Select Variable. You access the context menu using the black arrow next to the symbol.

The input help dialog box appears and you can select the required variable. For more information, see Restricting Characteristics [Page 371]. The symbol changes and a green checkmark illustrates that the input help is now referring to selecting variables: . Changing existing text variables
... ...

1. If you have selected an existing text variable and want to change it, select the variable in the text. 2. From the context menu, that you access using the black arrow next to the symbol, choose Edit. The variables editor appears and you can change the variable. Removing existing text variables
...

1. If you want to remove an existing text variable, select the variable in the text. 2. From the context menu, that you access using the black arrow next to the symbol, choose Remove. The variable is removed from the query. Creating new text variables
... ...

1. If you want to use a new text variable, place the cursor at the required position in the text. 2. From the context menu, that you access using the black arrow next to the symbol, choose New Variable. The variables editor appears and you can create the variable. For more information, see Defining Variables [Page 415].

Enterprise Reporting, Query, and Analysis

406

Core Development Tasks Developing Business Logic

March 2006

4.2.2.7.3.2

Variable Processing Types

Use
The processing type of a variable determines how a variable is filled with a value for the runtime of the query or Web application.

Features
The following processing types are available:

Manual Entry/Default Value [Page 407] Replacement Path [Page 408] Customer Exit [Page 409] SAP Exit [Page 412] Authorizations [Page 412]

Depending on the type of variable used, the possible processing types are offered context sensitively in the variables editor. For more information about the possible combinations of variable types and processing types, see Overview of Variable Types and Processing Types [Page 413].

Activities
In the variables editor, on the General tab page, select the required processing type.

4.2.2.7.3.2.1

Manual Entry/Default Value

Use
The processing type Manual Entry/Default Value enables you to enter a value manually, or to use the default value specified when defining a variable to execute the query or Web application.

Integration
The processing type Manual Entry/Default Value is available for all variable types.

Features
If you choose the processing type Manual Entry/Default Value for a variable, when you execute the query, you can enter the required value for the variable manually in a dialog box (the Variables Screen) provided that the variable is ready-for-input. Otherwise, the default value of the variable is used. When you create the variable, you can enter a default value if you wish. If you enter a default value, this is shown in the input field of the variables screen for variables that are ready-forinput. For variables that are not ready-for-input, the default value is used as the variable value.

Enterprise Reporting, Query, and Analysis

407

Core Development Tasks Developing Business Logic

March 2006

Activities
In the variables editor, on the General tab page, choose the processing type Manual Entry/Default Value. On the Default Value tab page, enter a value or values as required.

4.2.2.7.3.2.2

Replacement Path

Use
You use the Replacement Path processing type to specify the value that automatically replaces the variable when you execute the query or Web application.

Integration
The processing type Replacement Path can be used with characteristic value variables, text variables and formula variables.

Features
The following options are available:

Replace with Characteristic Value


Text and formula variables with the processing type Replacement Path can be replaced with a corresponding characteristic value. In the variables editor, on the General tab page under Reference Characteristic, specify the characteristic that is to be referenced by the replacement. In the Replacement Path tab page, you can choose whether the variable is replaced with the From or the To Value and with the Key or the Name of the characteristic value. You can also specify the Offset Start and Offset Length for the output.

Replace with Query


Characteristic value variables with the processing type Replacement Path are replaced with the results of a query. In the variables editor, on the Replacement Path tab page, select the query whose result you want to use as the variable. You can now process the data result of the selected query as a variable in a different query.

Replace with Variable


Characteristic value variables, hierarchy variables, text variables and formula variables with the Replacement Path processing type can get their values from a different variable. The following prerequisites need to be fulfilled: Variable

The variable must not be input ready The variable must represent a single value

Source variable

The source variable must not be a hierarchy node variable The source variable must be input ready

Enterprise Reporting, Query, and Analysis

408

Core Development Tasks Developing Business Logic


March 2006

The source variable must be available in the query The source variable must represent a single value or an interval

In the variables editor, on the Replacement Path tab page, specify the source variable from which the value is to be determined. The value is either determined from the key, the external attribute of the key, the description, or the attribute value. You can specify an Offset Start and an Offset Length for the output here. The variable is replaced on the variables screen upon each data release.

Activities
In the variables editor, on the General tab page, choose the processing type Replacement Path.

Example
If you specify a variable as a characteristic value, you do not have to give a text for the characteristic value right away. Instead, you can fill the text field dynamically, according to the characteristic that you use for the variable when you execute the query. To do this, define a text variable with automatic replacement.

4.2.2.7.3.2.3

Customer Exits

Use
If you need to use a processing type other than manual entry/default value, replacement path, SAP exit, or authorization, then a customer exit gives you the option of setting up a processing type for variables, tailor-made to your specific needs. The customer exit is designed as an enhancement that you can configure with customerspecific logic. You can find general information about customer exits and their use in the Enhancements to the Standard [External] section of the BC Changes to the SAP Standard documentation.

Integration
You can process all variable types (characteristic value variables, hierarchy node variables, hierarchy variables, formula variables, and text variables) using the processing type Customer Exit.

Prerequisites
You have created a project in the CMOD transaction. You have selected SAP enhancement RSR00001 and assigned it to the enhancement project. You have activated the project.

In SAP Enhancement Help, you can get further information on working with the SAP enhancement for global variables in Reporting. Call up transaction SMOD. Enter the name of the enhancement (RSR00001), choose Documentation and then Edit Display Sub-Object. You can find general information about working with customer exits under Help Application Help in transaction CMOD.

Enterprise Reporting, Query, and Analysis

409

Core Development Tasks Developing Business Logic

March 2006

Features
The Customer Exit processing type for variables allows you to use a function module exit to set default values for variables. The function module EXIT_SAPLRRS0_001 is used here.

You want to use one characteristic value to calculate a second characteristic value. The InfoProvider only contains the calendar day. However, you now also want to see in a query the cumulated value for the relevant period (beginning with the first day of a quarter). For the first day of the quarter, use a variable with customer exit processing. If you now enter the current calendar day (19.06.2000, for example), a start date of 01.06.2000 appears in the customer exit, and the cumulated value of this period can be displayed. Item A B C Sales 19.06.2000 5 7 2 Sales 01.06.2000 19.06.2000 263 157 67

Activities
In the variables editor, choose the processing type Customer Exit from the General tab page.

See also:

Dependencies for Variables of Type Customer Exit [Page 410]

4.2.2.7.3.2.3.1

Dependencies for Variables of Type Customer Exit

Use
If you execute a query that contains variables with the customer exit replacement path (and these variables were filled in accordance with the input-ready variables), then it is possible under certain circumstances that the variable exit cannot be run or that incorrect data will be selected. As a preemptive measure, you can control the dependencies with the parameter I_STEP.

Features
The enhancement RSR00001 (BI: Enhancements for Global Variables in Reporting) is called up several times during execution of the report. Here, the parameter I_STEP specifies when the enhancement is called. The following values are valid for I_STEP:

I_STEP = 1 Call takes place directly before variable entry

Enterprise Reporting, Query, and Analysis

410

Core Development Tasks Developing Business Logic

March 2006

I_STEP = 2 Call takes place directly after variable entry. This step is only started up when the same variable is not input ready and could not be filled at I_STEP=1.

I_STEP = 3 In this call, you can check the values of the variables. Triggering an exception (RAISE) causes the variable screen to appear once more. Afterwards, I_STEP=2 is also called again.

I_STEP = 0 The enhancement is not called from the variable screen. The call can come from the authorization check or from the Monitor.

Values of other Variables When calling the enhancement RSR00001 (BI: Enhancements for Global Variables in Reporting), the system transfers the currently available values of the other variables in table I_T_VAR_RANGE. The table type is RRS0_T_VAR_RANGE and the row type RRS0_S_VAR_RANGE references to the structure RRRANGEEXIT. This structure has the following fields: Field VNAM IOBJNM SIGN OPT LOW HIGH Description Variable name InfoObject name (I)ncluding [ ] or (E)xcluding ] [ Operators: EQ =, BT [ ], LE <=, LT <, GE >=, GT >, CP and so on. Characteristic value Upper limit characteristic value for intervals/the node-InfoObject for hierarchy nodes

Activities
A variable that is to be filled dependently of an entry-ready variable must never be filled in step I_STEP=1. Now you are at a position prior to the variable entry. Values have not yet been entered for the input-ready variables. You can insert the following statements to force the variable to be executed with I_STEP=2 and not I_STEP=1. CASE I_VNAM. IF I_STEP <> 2. RAISE no_processing. ENDIF.

Enterprise Reporting, Query, and Analysis

411

Core Development Tasks Developing Business Logic

March 2006

4.2.2.7.3.2.4

SAP Exit (Delivered Variables)

Use
The SAP Exit processing type is contained in variables delivered within the BI Content framework.

Integration
You can find the delivered variables in the Metadata Repository [External] if you search for variables using the search function (see BI Metadata Search [External]).

The technical names of delivered SAP objects always begin with a number.

Prerequisites
You must activate the delivered variables before you can use them. For more information on activating query objects, see Installing Business Content [Page 344].

Features
SAP delivers a number of variables. There are variables that are processed via automatic replacement using a predefined replacement path (SAP Exit processing type).

If you want to define a query that only ever displays the data from the current month, drag the delivered variable current month (technical name 0CMONTH) for the characteristic value current month (technical name 0CMONTH) into the query filter.

Activities
In the variables editor, choose the processing type SAP Exit from the General tab page.

You can only create variables with the processing type SAP Exit in SAP Systems. Customers cannot create any variables with the processing type SAP Exit. For customers, the variables with SAP Exit are part of the delivered BI content.

4.2.2.7.3.2.5

Authorization

Use
The processing type Authorization enables variables to be filled with values automatically from the authorization of a user.

Enterprise Reporting, Query, and Analysis

412

Core Development Tasks Developing Business Logic

March 2006

Integration
The processing type Authorization can be used with characteristic value variables and hierarchy node variables.

Prerequisites
You have maintained the authorizations [External] in transaction RSSM.

Features
If you choose Process with Authorization when you create a variable, the variable is automatically filled with the values of the user's authorization. When the user opens a query, the data is selected automatically according to his or her authorizations.

Note that when variables are filled automatically, they do not have to be ready for input, which means a variable screen does not need to appear when you execute the query or Web application. The user opens the query with the authorization variable, and only the data that corresponds to his or her authorizations is displayed.

Activities
In the variable editor, on the General tab page, choose the processing type Authorization.

4.2.2.7.3.3

Overview of Variable Types and Processing Types

Use
In the variables editor, choose a processing type that is dependent on the type of variable you are using. Depending on the variable type, only certain processing types are useful. The variables editor automatically only offers you the possible processing types.

Features
The following table gives an overview of the possible combinations of variable types and processing types. The tab pages that the variables editor offers for each combination are also listed. Variable Type/Processin g Type Characteristic Value Variable Manual Entry / Default Value Details [Page 417] Default Values [Page 429] Replacement Path Replacement Path: Replacement with Query [Page 425] Replacement Path: Replacement with Variable Customer Exit or SAP Exit Details [Page 417] Authorization

Details [Page 417]

Enterprise Reporting, Query, and Analysis

413

Core Development Tasks Developing Business Logic [Page 427] Hierarchy Variable Details [Page 417] Default Values [Page 429] Hierarchy Node Variable Details [Page 417] Default Values [Page 429] Text Variable Details [Page 417] Default Values [Page 429] Replacement Path: Replacement with a Characteristic Value [Page 420] Replacement Path: Replacement with Variable [Page 427] Formula Variable Details [Page 417] Currencies and Units [Page 429] Default Values [Page 429] Replacement Path: Replacement with a Characteristic Value [Page 420] Replacement Path: Replacement with Variable [Page 427] Currencies and Units [Page 429] Details [Page 417] Currencies and Units [Page 429] Details [Page 417] Replacement Path: Replacement with Variable [Page 427] Details [Page 417]

March 2006

Details [Page 417]

Details [Page 417]

4.2.2.7.3.4

Calling the Variables Editor

Use
The variables editor is a context-sensitive editor that is accessible in the Query Designer from various places.

Features
This editor appears in all places where you can enter constants (values). You see the . When you click on the arrow, the following following symbol next to such input fields: options appear for using a variable instead of a fixed value in the context menu:

Enterprise Reporting, Query, and Analysis

414

Core Development Tasks Developing Business Logic


March 2006

New Variable: This option takes you to the variables editor, where you can create a new variable. Edit: You have chosen a variable from the dropdown box and now choose Edit. This option takes you to the variables editor, where you can change the variable. Remove: You have chosen a variable from the dropdown box and choose this option to remove this variable from the query.

When defining conditions, you can enter formula variables as well as fixed and use values for the threshold value of a condition. Click on the symbol the options described above for using variables. The settings are contextsensitive, so only those formula variables that are available appear in the dropdown box. The variables editor wizard is also set up automatically for entering formula variables. You can also reach the variables editor from the context menu of those objects for whose values you can define variable placeholders. In the context menu, choose New Variable. The new variable is displayed. To define the variable, call the variables editor from the context menu of the new variable by choosing Edit.

In the InfoProvider screen area, you select a characteristic (for example, Order) and choose New Variable from the context menu. The new variable is displayed. From the context menu of the new variable, choose Edit. You reach the variables editor, which is already set up for you to enter a characteristic value variable. In the InfoProvider screen area, you select a characteristic value variable and choose Edit from the context menu. You reach the variables editor, which shows all of the settings for the variable. You can make changes to the variable here.

4.2.2.7.3.5

Defining Variables

Use
You define variables as placeholders that are filled with values at query runtime.

Prerequisites
You have called the variables editor in the Query Designer. For more information, see Calling the Variables Editor [Page 414].

Procedure
The variables editor automatically provides you with only those selection options that are allowed for the combination of variable type and processing type. For more information, see Overview of Variable Types and Processing Types [Page 413]. You make the required settings on tab pages:

Enterprise Reporting, Query, and Analysis

415

Core Development Tasks Developing Business Logic

March 2006

Tab page: General


This tab page displays the type of the variable. You determine the type of the variable by calling up the variables editor in a specific context.

For example, if you choose New Variable from the context menu of a characteristic value and then call up the variables editor using Edit, the type Characteristic Value is displayed automatically in the variables editor. 3. Enter a description for the variable. 4. If necessary, change the automatically generated suggestion for the technical name of the variable. The generation rule for the technical name is VAR_<date><time> (example: VAR_20050818122045). You can change the generated suggestion for the technical name as long as you have not yet saved the variable. The technical name of each query must be unique. 5. In the Processing by field, choose the processing type for the variable. The type of variable dictates which processing types appear for you to choose from in the dropdown box. For more information, see Variable Processing Types [Page 407]. 6. In the Reference Characteristic field, select the InfoObject on which the variable is to be based. In the case of characteristic value variables, the default reference characteristic is the characteristic for which you are defining the variable. You can also use the dropdown box to select the basis InfoObject that the characteristic references. The variable is then defined on the basis InfoObject. The characteristic reference is not shown for text and formula variables with the processing type Replacement Path. You must therefore use the dropdown box to select the characteristic to which the variable relates. The system provides a choice of all InfoObjects and basis InfoObjects that are contained in the InfoProvider on which the query is based.

The ability to define variables both on the basis InfoObject and on derived InfoObjects allows a higher level of reusability for variables. Because InfoSets contain many InfoObjects with the same basic InfoObject, it makes sense to define variables on the basic InfoObject, particularly when using InfoSets as query InfoProviders.

In your BI system, you defined the characteristic CUSTOMER and derived a further characteristic from this: MANUFACTURER. Both characteristics have the same variables. When you create new variables you can choose whether the variables are to reference CUSTOMER or MANUFACTURER. For example, the left-hand screen area (InfoProvider) in the Query Designer lists both the variables that were created for MANUFACTURER (beneath MANUFACTURER) and the variables that were created for CUSTOMER (beneath CUSTOMER).

The following tab pages are context-sensitive:


The tab pages that are available depend on the variable type and the processing type that you chose. You make the required settings on these tab pages.

Enterprise Reporting, Query, and Analysis

416

Core Development Tasks Developing Business Logic


March 2006

Details [Page 417] Replacement Path [Page 419] Currencies and Units [Page 429] Default Values [Page 429]

Saving variables
Choose OK. The variable is saved with the settings you made and the variables editor closes.

Result
You have defined a variable. This variable can now be used in all queries.

4.2.2.7.3.5.1

Details

Definition
Tab page from the variable editor, which is required for almost all variable types. Only those variables with the processing type Replacement Path do not require this tab page. If the tab page is not required, the fields on the Details tab page are not input-ready.

Structure
On the Details tab page, you have the following options for the settings:

The individual options for the settings vary, depending on the variable type and processing type. The following section lists all of the possible settings. The variable editor automatically displays only those settings that are appropriate and available.

Variable Represents
You choose the display area that the variable is to represent.

Single Value The variable represents one value only.

Multiple Single Values The variable represents a number of single values. This setting is useful in hierarchy nodes, for example, to allow you to enter several single nodes.

Interval The variable represents a specific from value and a specific to value, thus an interval.

Selection Option The variable represents any combination of single values and intervals. In the variable screen where you select values for variables, you can also work with operators (>,<,=, and so on), search by specific criteria (for example, search for all values that begin with

Enterprise Reporting, Query, and Analysis

417

Core Development Tasks Developing Business Logic

March 2006

A) and exclude certain values (by specifying the values for which you do not want to search). For more information, see Default Values [Page 429].

Precalculated Value Set The variable represents a set of values that were precalculated with a query by the BEx Broadcaster. The available values are those values that were precalculated for the characteristic of the variable (such as 0SOLD_TO Sold-To Party) or its basic characteristic (such as example 0CUSTOMER Customer). Such a variable can also be input-ready. You can select various value sets in the variable screen at runtime. For more information, see Precalculating Value Sets [External].

Note that for technical reasons, you cannot use variables that represent a precalculated value set in restricted key figures or in selection structure elements.

Variable Value Is

Optional If you select this setting, the variable does not have to be filled with a value at runtime.

Variables with the processing type Authorization have the default setting Variable Value Is Optional. Therefore, the variable editor does not provide selection options, such as Optional, Mandatory, and Mandatory, Initial Value Not Allowed for variables filled from the authorization.

Mandatory If you select this setting, at least one value has to be specified for the variable at runtime. The initial value (#) is permitted explicitly. The initial value # means unassigned, that is, you can use it to explicitly select all data records in which this characteristic has no instances.

Mandatory, Initial Value not Allowed If you select this setting, at least one value has to be specified for the variable at runtime. The initial value (#) is not permitted. You must enter one or more concrete values in the variable screen to be able to execute the query.

Variable is Ready for Input


Using this option, you specify whether the variable is to be ready for input when the query or Web application is executed. If the Variable is Ready for Input option is selected (= default setting), when you execute the query or Web application, a dialog box appears (the variable screen). You can either specify the value(s) that you want to use, confirm the default value(s), or change the default values. You can deactivate the Variable is Ready for Input option if you want to assign a value to the variable beforehand. When you execute the query or the Web application, it is filled automatically with a value.

Enterprise Reporting, Query, and Analysis

418

Core Development Tasks Developing Business Logic

March 2006

If you set the variable as not ready for input, but have set the variable value as mandatory and have not specified a default value, the system cannot execute the query and an error message is displayed when you try to execute the query. The ready for input option is available for the processing types Manual Input/Default Value, Customer Exit, SAP Exit, and Authorization.

Variable Is Without Context


If you select the Variable Is Without Context option, you are specifying that the variable can be filled with values independently of an executed query. Examples: Current Day, Current Year.

You can set this indicator for exit variables only. This indicator is generally not set for all other variable types; the field is therefore deactivated, that is, all other variables are treated as context-specific.

Copy Personalization Data from This Variable


Users can personalize variable values for input-ready variables. The personalized values are saved for each variable and each user. If you want to use the same personalization data in more than one variable, enter the names of the variables under which the personalization data is stored in this input field. Enter the names manually, or select them from the input help ( icon).

Note that you must enter the variable without an ampersand (&).

You have defined a variable Customer1, which is Mandatory and Ready for Input. You now define a Customer2 variable, which is Mandatory (Initial Value not Allowed) and Ready for Input. By selecting the Copy Personalization Data from This Variable Customer1 option for the Customer2 variable, both variables have the same personalized values.

Length of Input Field


For text variables, the option Length of Input Field also appears on the Details tab page. Specify a number here. This specifies the number of characters of text the user can enter for the variable.

4.2.2.7.3.5.2

Replacement Path

Definition
A tab page in the variable editor that is necessary for characteristic value, hierarchy, formula and text variables with the processing type Replacement Path.

Structure
According to the type of variable, you can make different settings for the replacement path.

Enterprise Reporting, Query, and Analysis

419

Core Development Tasks Developing Business Logic

March 2006

Text and formula variables with the processing type Replacement Path can be replaced with a corresponding characteristic value or by a variable. See Replacement Path: Replacement with a Characteristic Value [Page 420] and Replacement Path: Replacement with a Variable [Page 427]. Characteristic value variables with the Replacement Path processing type can be replaced with the result of a query or by a variable. See Replacement Path: Replacement with a Query [Page 425] and Replacement Path: Replacement with a Variable [Page 427]. Hierarchy variables with the Replacement Path processing type are replaced with a variable. See Replacement Path: Replacement with a Variable [Page 427].

4.2.2.7.3.5.2.1

Replacement Path: Replacement with a Characteristic Value

Use
Text and formula variables with the processing type Replacement Path can be replaced with a corresponding characteristic value. The value of a formula variable has to be a number. The value of a text variable has to be a text.

Features
Replacement Rule
Here you choose the characteristic or attribute value with which the variable is replaced.

Replace Variable with

Key The variable value is replaced with the characteristic key.

External Characteristic Value Key The variable value is replaced with an external value of the characteristic (external/internal conversion).

Name (Text) The variable value is replaced with the name of the characteristic.

Note that formula variables have to contain numbers in their names so that the formula variable represents a number after replacement.

Attribute Value The variable value is replaced with the value of an attribute. Enter the attribute under Replace Source.

Enterprise Reporting, Query, and Analysis

420

Core Development Tasks Developing Business Logic

March 2006

This setting is only available for formula variables.

Hierarchy Attribute The variable value is replaced with a value of a hierarchy attribute. Enter the hierarchy attribute under Replace Source. You need this setting for sign reversal with hierarchy nodes. For more information, see Sign Reversal [External]

This setting is only available for formula variables.

Use Interval
You have the following selection options:

From value To value Difference

If the replacement value found is an interval, you can use this setting to specify whether the lower interval limit (from value) or the upper interval limit (to value) is used as the replacement value. For formula variables, you can also choose the interval difference as the replacement value. Using this setting, you can easily calculate the difference of period boundaries. The interval difference is the from value minus the to value, plus 1. For example, the period January to March gives a result of 3 (the to value 3, minus the from value 1, plus 1).

Offset Setting
You use this function to specify the start and length of the text output.

You want to create a text variable for the fiscal year. On the Replacement Path tab page, choose the option Replace Variable with Key and enter the offset start at value 2 and the offset length as 2. The fiscal year is four digits; the output of the value begins after the second digit and shows 2 digits. Therefore, in the query, the text variable for fiscal year 2005 is replaced with the value 05. For more examples of the offset start and the offset length, see Variable Replacement Example [Page 424].

Evaluate as Boolean (Value 0 or 1)

This function is only available for formula variables. If you select this setting, the formula variable is not replaced by a value (for example, the key value) but gives the existence of a value.

Enterprise Reporting, Query, and Analysis

421

Core Development Tasks Developing Business Logic


March 2006

The value of the variable is 0 when the value to be replaced is a string with only blank spaces or a zero. The value of the variable is 1 when the value to be replaced is a string with characters that are not blank spaces or a number does not equal 0.

You want to calculate paid amounts only. a. In the Replacement Path dialog step, choose the option Replace Variable with an Attribute Value. b. Enter the attribute Paid. (The master data attribute Paid shows open invoices with a blank space and paid invoices with the value X.) c. Select Evaluate as Boolean (Value 0 or 1) For empty spaces you get a 0 and for the value X you get a 1. Multiplication by such a formula variable means that all unpaid amounts are omitted from the query and you only calculate paid amounts.

4.2.2.7.3.5.2.1.1

Calculating Variables for Processing Type Replacement Path

Use
In formulas it is possible to calculate with the properties or values for a characteristic (such as a key, an external attribute of the key, an attribute value, or a hierarchy attribute). In doing so, the formula is replaced, depending on the cell context.

Features
For example, the basic characteristic Sales Quantity multiplies with the current value for the attribute Price for the characteristic Material. You can reach this with the corresponding, defined formula variable: Processing type Replacement Path, replacement from characteristic Material, replace variable with Attribute Value: Attribute Price. The replacement of formula variables with the processing type Replacement Path acts differently in calculated key figures and formulas:

If you use a formula variable with Replacement from the Value of an Attribute in a calculated key figure, then the system automatically adds the drilldown according to the reference characteristic for the attribute. The system then evaluates the variables for each characteristic value for the reference characteristic. Afterwards, the calculated key figure is calculated and, subsequently, all of the other operations are executed, meaning all additional, calculated key figures, aggregations, and formulas. The system only calculates the operators, which are assembled in the calculated key figure itself, before the aggregation using the reference characteristic.

Note that the calculation before the aggregation can impair performance.

Enterprise Reporting, Query, and Analysis

422

Core Development Tasks Developing Business Logic

March 2006

If you use a formula variable with Replacement from the Value of an Attribute in a formula element, then the variable is only calculated if the reference characteristic is uniquely specified in the respective row, column, or in the filter.

Integration
Replacement from the Value of an Attribute With formula variables you can set the processing type Replacement from the Value of an Attribute and create a reference to the reference characteristic for the variable. The attribute Reference to Characteristic (Constant 1) is a dummy attribute that is available with each characteristic. It serves to create a reference to the characteristic, by which it does not need to be aggregated. By choosing this attribute, you can influence the aggregation behavior of calculated key figures in a targeted way and can improve performance during calculation.

Example
Example for calculating with variables for process type Replacement from the Value of an Attribute:
Master data table for material

Material Material 1 Material 2

Price 10 20

InfoCube
Material Material 1 Material 1 Material 2 Material 2 Month 1.2002 2.2002 1.2002 2.2002 Sales Quantity 5 6 7 8

In the example query there are the following objects: Material Price (V1) is a variable that is replaced by the material price. K1 = Material Price (V1) is a calculated key figure. F1 = Material Price (V1) is a formula. K2 = Material Price (V1) * Sales Quantity is a calculated key figure. F2 = Material Price (V1) * Sales Quantity is a formula. K3 = K1 * Sales Quantity is a calculated key figure in which the calculated key figure K1 is further processed. Query View 1

Enterprise Reporting, Query, and Analysis

423

Core Development Tasks Developing Business Logic

March 2006

Material Material 1 Material 2 Result

Sales Quantity 11 15 26

K1 10 20 30

F1 10 20 X

K2 110 300 410

F2 110 300 X

K3 110 300 780

Query View 2
Month 1.2002 1.2002 Result Sales Quantity 12 14 26 K1 30 30 60 F1 X X X K2 190 220 410 F2 X X X K3 360 420 780

In the results rows the columns F1 and F2 are not specified, because the material value is not unique. Also, the system cannot calculate F1 and F2 in the overall Query View 2. K1 only aggregates the prices and K3 multiplies these aggregated prices with the aggregated sales quantities. Usually the results from K1 and K3 have no meaning. The calculated key figure K2 delivers the desired results.

4.2.2.7.3.5.2.1.2

Variable Replacement Example

The following example shows the replacement options you have for the characteristic value with regard to the setting Key / External Characteristic Value of the Key in connection with the offset start and offset length:

Fiscal Year Variant K4 Fiscal Year / Period 2002/008


Fiscal Year 0FISCYEAR Internal display (key) External display (external characteristic value of the key) Internal Display (Key) Fiscal Year 0FISCYEAR For the Key setting for the Fiscal Year 0FISCYEAR characteristic, you have to set the offset start at 2 and the length as 4. In the query, K42002 is replaced by the value 2002. Fiscal Year / Period 0FISCPER For the Key setting for the Fiscal Year / Period 0FISCPER characteristic, you have to set the offset start at 2. If you want to display on the year in the text output, choose the offset length 4. K42002008 is replaced by 2002 in the query. K42002 K4/2002 Fiscal Year / Period 0FISCPER K42002008 K4/008.2002

Enterprise Reporting, Query, and Analysis

424

Core Development Tasks Developing Business Logic

March 2006

If you want to display the year and the period in the text output, choose the offset length 7. 2002008 in the query replace K42002008. Overview 0FISCYEAR 0FISCPER Offset start 2 Offset start 2 Offset length 4 Offset length 4 for year Offset length 7 for year and period External Display (External Characteristic Value of the Key) Fiscal Year 0FISCYEAR For the External Characteristic Value of the Key setting for the Fiscal Year 0FISCYEAR characteristic, you have to set the offset start at 3 and the length as 4. In the query, K4/2002 is replaced by the value 2002. Fiscal Year / Period 0FISCPER For the External Characteristic Value of the Key for the Fiscal Year / Period 0FISCPER, you have to make the following settings for the offset start and the offset length: If you want to display only the year in the text output, choose the offset start 7 and the offset length 4. K4/008.2002 is replaced by 2002 in the query. If you want to display only the period in the text output, choose the offset start 3 and the offset length 3. 008 in the query replace K4/008.2002. If you want to display the year and the period in the text output, choose the offset start 3 and the offset length 8. 008.2002 in the query replace K4/008.2002. Overview 0FISCYEAR 0FISCPER Offset Start 3 Offset length 7 for year Offset start 3 for period Offset start 3 for year and period Offset Length 4 Offset length 4 for year Offset length 3 for period Offset length 8 for year and period

4.2.2.7.3.5.2.2

Replacement Path: Replacement with Query

Use
Characteristic value variables with the processing type Replacement Path can be replaced with the results of a query.

Enterprise Reporting, Query, and Analysis

425

Core Development Tasks Developing Business Logic

March 2006

Features
Replace Variable with
Select Query.

Query
Using the input help dialog , select the query whose result you want to use as the variable. You can now process the data result of the selected query as a variable in a different query.

Note that, for technical reasons, variables with processing type Replacement with a Query cannot be used in restricted key figures or in selection structure elements.

Example
You want to insert the result for the query Top 5 Products as a variable in the query Sales Calendar Year/Month.
...

1. Select the characteristic Product and from the context menu, choose New Variable. The new variable is displayed. 2. From the context menu of the new variable, choose Edit. The Variables Editor appears. 3. On the General tab page, enter a description and, if necessary, change the generated technical name. 4. On the General tab page, choose the processing type Replacement Path. 5. On the Replacement Path tab page, under Replace Variable with, choose the entry Query and under Query using the input help dialog , the query Top 5 Products. 6. Choose OK. You are now able to insert the variable into the query Sales Calendar Year/Month. This allows you to determine how the sales for these five top-selling products has developed month for month.

Every time you execute the query Sales Calendar Year/Month, the query Top 5 Products is executed beforehand (= pre-query). This can lead to long run times. If you do not need to execute the pre-query (if you do not have to determine the top 5 products every time because they only change monthly, for example), we recommend that you use a variable that represents a precalculated value set. For more information, see Details [Page 417] and Precalculating Value Sets [External].

Enterprise Reporting, Query, and Analysis

426

Core Development Tasks Developing Business Logic

March 2006

4.2.2.7.3.5.2.3

Replacement Path: Replacement from Variable

Use
Characteristic value variables, hierarchy variables, text variables and formula variables with the Replacement Path processing type can get the value from a different variable. The value is either determined from the key, the external attribute of the key, the description, or the attribute value. You can also define an offset start and offset length. Replacement path: The variable is replaced on the variables screen upon each data release.

Prerequisites
The following prerequisites need to be fulfilled: Variable

The variable must not be input ready The variable must represent a single value

Source Variable

The source variable must be a characteristic variable, a hierarchy variable, a text variable, or a formula variable. (The source variable must not be a hierarchy node variable.) The source variable must be input ready The source variable must be available in the query The source variable must represent a single value or an interval

Features
Replacement Rule
Here you define the source variable.

Replace Variable with


Select Variable from.

Variable
Choose the source variable using the input help dialog . For more information on the using the input help dialog, see Restricting Characteristics [Page 371].

Variable Represents
Choose from where the value of the variable is to be determined.

Key The variable value is replaced with the characteristic key.

External Characteristic Value Key The variable value is replaced with an external value of the characteristic (external/internal conversion).

Enterprise Reporting, Query, and Analysis

427

Core Development Tasks Developing Business Logic

March 2006

Description The variable value is replaced with the name of the characteristic.

Attribute Value The variable value is replaced with the value of an attribute. When you choose the Attribute Value, the Attribute dropdown box is displayed. Select the attribute you want. The system displays all attributes for the characteristic upon which the source variable is defined.

Offset Setting
Using the Offset Start and Offset Length, you can establish the start and length of the text output. For more information on the offset setting, see Replacement Path: Replacement from Characteristic Value [Page 420].

Using Intervals
You have the following selection options:

From value To value Difference

If the source value found is an interval, you can use this setting to specify whether the lower interval limit (from value) or the upper interval limit (to value) is used as the replacement value. For formula variables, you can also choose the interval difference as the replacement value. Using this setting, you can easily calculate the difference of period boundaries. The interval difference is the from value minus the to value, plus 1. For example, the period January to March gives a result of 3 (the to value 3, minus the from value 1, plus 1).

Examples
Text Variable
You are using a text variable with automatic replacement in a formula. The formula operands have different selections for the characteristic concerned. The automatic replacement would not be able to replace the text variable in that case. If you use replacement from variable, the value of the source variable is used for the text variable.

Hierarchy Variable
The data in an InfoProvider is version dependent. A corresponding hierarchy version (with which a hierarchy is to be used) exists for every version. With replacement from variable, the variable for the hierarchy version can be filled with the variables for the version. If the versions do not correspond directly to one another, you can create a Hierarchy Version attribute in which the corresponding versions are stored.

Enterprise Reporting, Query, and Analysis

428

Core Development Tasks Developing Business Logic

March 2006

4.2.2.7.3.5.3

Currencies and Units

Definition
Tab page of the variables editor that is required for formula variables.

Use
Formula variables usually represent numbers without dimensions. You can select a dimension indicator so that the formula variable represents a dimension such as amount, quantity, or price. Depending on the dimension, you can determine a currency or a unit.

Structure
You can choose from the following dimensions:

Amount If you choose Amount as the dimension, you can select a currency.

Quantity If you choose Quantity as the dimension, you can select a unit.

Price If you choose Price as the dimension, you can select a currency and a unit. (Price = Currency/Unit)

Number (=default setting) If you choose Number as the dimension, you do not need to make any further entries.

Date If you choose Date as the dimension, you do not need to make any further entries.

4.2.2.7.3.5.4

Default Values

Definition
Tab page in the variables editor that is required for variables with the processing type Manual Entry/Default Value.

Use
You specify one or more default values when you define a variable. These then appear in the variables screen when you execute the query or Web application.

If the variable is ready-for-input, you can overwrite the default value in the variables screen and select a different value. If the variable is not ready-for-input, the query is filled with the default value and you cannot change the value when you execute the query or Web application.

Enterprise Reporting, Query, and Analysis

429

Core Development Tasks Developing Business Logic

March 2006

Structure
Default values
The selected default values are displayed here.

Changing default values


If you want to change the default values for existing variables or define default values for a new variable, choose Change Default Values. The input help dialog box for selecting default values appears. The selection options that the input help dialog box offers you depend on the setting you chose on the Details [Page 417] tab page for Variable Represents.

If the variable represents a single value, you can select one default value here. If the variable represents multiple values, you can select multiple default values here. If the variable represents an interval, you can select a default value for the From value and a default value for the To value here. If the variable represents a selection option, all input help functions are available for selecting default values here. For example, you can exclude or include values from the selection. For more information, see Input Help in BEx [External]

...

Default value for formula and text variables


Only one default value is required for formula and text variables. Enter the required default value into the input field manually.

Default value for precalculated value sets


If the variable represents a precalculated value set, you have to enter the technical name of the value set created in the BEx Broadcaster as the default value. This value set contains the required precalculated values from background reporting. For more information, see Precalculating Value Sets [External].

4.2.2.7.3.6

Examples for Using Variables

In this section you can find examples for using variables.

Examples for Offset Variables


You want to use a query to carry out a comparison of two years.

Year Comparison
You want to compare the costs of a year of your choice with the costs of the previous year. 7. In the Query Designer, create a new structure and add a new selection for each year that you require. 8. Only use one key figure (for example, sales) in this example query. Add this key figure to the filter or add it to the selection. 9. Use a characteristic value variable for the characteristic Calendar Year (0CALYEAR):

Enterprise Reporting, Query, and Analysis

430

Core Development Tasks Developing Business Logic

March 2006

Select the characteristic value variables for Calendar Year and choose New Variable from the context menu (secondary mouse button). The new variable is displayed. Choose Edit from the context menu of the new variable. The variables editor appears. For more information, see Defining Variables [Page 415]. If you always want to reference the current year automatically, use the SAP exit variable 0CALYEAR (or as appropriate for another time characteristic). 10. Move the defined characteristic value variable into the selection. 11. Select the characteristic value variable and choose Restrict from the context menu (secondary mouse button). a. Select the characteristic value variable and choose Enter Variable Offsets from the context menu (secondary mouse button). b. Enter 1 as the offset and choose OK. 12. Choose OK. 13. Enter a description.

Example: Use the name of the key figure (for example, sales) for the name and use a text variable for the name of the calendar year. See Using Text Variables [Page 406]. When creating a new text variable, enter Replacement Path as the processing type and choose calendar year 0CALYEAR as the characteristic, with display as key. 14. Create a second selection with the same characteristic value variable and do not set an offset here. Also use a text variable in the description in this case. 15. Move the required characteristic into the rows. 16. Save the query. After execution, the query should appear as follows: Variable screen entry: 2002 (or no entry when using the SAP exit variable). Year Comparison Characteristic Value 1 Value 2 Value 3 Sales 2001 100,000 200,000 300,000 Sales 2002 90,000 180,000 400,000

Comparison with Cumulative Previous Year Period


Example: You want to compare the periods 1-8 of a particular year with the same periods for the previous year.
...

1. Create a new structure in the Query Designer and add a new selection. 2. Move a key figure, for example, sales, into the selection.

Enterprise Reporting, Query, and Analysis

431

Core Development Tasks Developing Business Logic 3. Use a characteristic value variable for the characteristic Fiscal Year/Period (0FISCPER):

March 2006

Select the characteristic value variables for Fiscal Year/Period and choose New Variable from the context menu (secondary mouse button). The new variable is displayed. Choose Edit from the context menu of the new variable. The variables editor appears. For more information, see Defining Variables [Page 415]. Use the SAP exit variable Current Fiscal Year/Period (0FPER) if you always want to reference the current year. If you set the variable as input-ready in the variables editor, the variables screen appears when you execute the query. You can change the default values here if necessary. 4. Move the characteristic value variable (for example, OFPER) into the selection. 5. Select the characteristic value variable and choose Restrict from the context menu (secondary mouse button). 6. Under Selection, choose Value Area and then choose the Variables tab page. 7. Add the characteristic value variable (for example, 0FPER) to the selection once again for the second value of the interval. 8. Select the characteristic value variable and choose Enter Variable Offsets from the context menu (secondary mouse button). a. Enter -3 as the offset for the From value and 0 for the To value. Choose OK. b. Choose OK. 9. Enter a description (for example, sales for the current year). 10. Choose OK. 11. Select the selection and choose Copy and then Paste from the context menu (secondary mouse button). 12. Now select the second selection and choose Edit from the context menu. 13. Select the characteristic value variable and choose Restrict from the context menu (secondary mouse button). 14. Select the characteristic value variable again and choose Enter Variable Offsets from the context menu (secondary mouse button). a. Enter -15 as the offset for the From value and -12 for the To value. Choose OK. b. Choose OK. 15. Enter a description (for example, sales for the previous year). Also use a text variable in the description in this case. 16. Choose OK. 17. Move the required characteristic into the rows. 18. Save the query. When you execute it the query should appear as follows: Variable screen entry: 01. 2002 to 08. 2002 Comparison with Cumulative Previous Year Period Characteristic Value 1 Sales 01. 08. 2001 100,000 Sales 01. 08. 2002 90,000

Enterprise Reporting, Query, and Analysis

432

Core Development Tasks Developing Business Logic

March 2006

Value 2 Value 3 ...

200,000 300,000 ...

180,000 400,000 ...

Two text variables replaced with characteristic values were used for the descriptions here. One is filled with the From value for the column with an offset of 0 and a length of 3 and the other is filled with the To value with an offset of 0 and a length of 7. For more information, see Variable Replacement Example [Page 424].

Comparison of Cumulated Values for Two Years


You may want to compare the cumulated values up to the current period of the current year with those of the previous year. For this example, use the variable 0FPER (current fiscal year period) and the variable 0P_FPER (your chosen fiscal year period). You use these two variables to set the interval limits.
...

1. In the Query Designer, create a structure with two selections: 1. Selection: Cumulative amount for current year 2. Selection: Cumulative amount for previous year

2. For the first selection (cumulative amount for current year), move the time characteristic 0FISCPER into the selection and select it. 3. Choose Restrict from the context menu (secondary mouse button). 4. Choose Value Area between as the selection and go to the tab page Variables. 5. Double click to choose the variable 0P_FPER as the From value and the variable 0FPER as the To value. The result is an interval from the chosen period to the current period. 6. Define the second selection (cumulative amount for previous year) and proceed as for the first selection. Add the variable 0P_FPER as the From value and the variable 0FPER as the To value here. Set an offset of 12 for both the From and the To values: Select the interval and choose Enter Variable Offsets from the context menu (secondary mouse button). Enter 12 for each. The result is an interval that has been moved 12 periods ahead. 7. Add the key figures and additional characteristics for the query. When you execute the query, you get a variable screen for the variable 0P_FPER. You need to enter the start period in the current fiscal year here.

You can also suppress this entry by deactivating the indicator Input-Ready in the variables editor for the variable 0P_FPER and entering a default value (for example, 001.2001 for 2001). You only have to change this value once per year. You have now defined a query that compares the cumulative values for two years.

Enterprise Reporting, Query, and Analysis

433

Core Development Tasks Developing Business Logic

March 2006

The variables delivered by SAP with SAP exit behave as follows: Variable 0FPER (current fiscal year period): Displays the values of the current fiscal year period. Variable 0P_FPER (any fiscal year period): Displays the values of any fiscal year period. You can set the fiscal year period in the variables screen when executing the query in any way you require. Variable 0FYTCFP (fiscal year up to current fiscal year period): Displays the values of the first period up to the current period of the current fiscal year. Variable 0FYTLFP (fiscal year up to previous fiscal year period): Displays the values of the first period up to the previous period (current period 1). You need to use the variables 0FPER and 0P_FPER in the above example for the comparison of cumulative values for two years. When using the variables 0FYTCFP and 0FYTLFP, only values for one month are displayed for year transitions with an offset of 12.

4.2.2.7.4

Defining Restricted Key Figures

Use
You can restrict the key figures of an InfoProvider for reuse by selecting one or more characteristics. The key figures that are restricted by one or more characteristic selections can be basic key figures, calculated key figures, or key figures that are already restricted.

Procedure
Defining a new restricted key figure
...

1. In the InfoProvider screen area, select the Key Figures entry and choose New Restricted Key Figure from the context menu (secondary mouse button). If a restricted key figure has already been defined for this InfoProvider, you can also select the Restricted Key Figures entry and then choose New Restricted Key Figure from the context menu. The entry New Restricted Key Figure is inserted and the properties for the restricted key figure are displayed in the Properties screen area. 2. Select the New Restricted Key Figure entry and choose Edit from the context menu (secondary mouse button. The Change Restricted Key Figure dialog box appears. Make the basic settings on the General tab page. The text field, in which you can enter a description of the restricted key figure, is found in the upper part of the screen.

Enterprise Reporting, Query, and Analysis

434

Core Development Tasks Developing Business Logic

March 2006

You can use text variables [Page 406] in the description. Next to that, you can enter a technical name in the Technical Name field. Underneath the text field, on the left of the Detail View, is the directory of all the objects available in the InfoProvider. The empty field for defining the restricted key figure (Details of the Selection) is on the right-hand side of the screen. 3. Using Drag&Drop, choose a key figure from the InfoProvider and restrict it by selecting one or more characteristic values. See Restricting Characteristics [Page 371].

You can also use variables in place of characteristic values. However, note that you cannot use the following variable types in restricted key figures for technical reasons: Variables with the process type Replacement with Query (see also Replacement Path: Replacement with Query [Page 425] Variables that represent a precalculated value set (see also Details [Page 417]) You can use these variable types to restrict characteristics in the rows, columns or in the filter. 4. Make any necessary settings for the properties of the restricted key figure on the other tab pages. See Selection/Formula Properties [Page 450]. 5. Choose OK. The new restricted key figure is defined for the InfoProvider.

Editing restricted key figures

Note that when you change a restricted key figure, these changes are effective in all queries that use this restricted key figure.

You can see where the restricted key figure is used. Choose Where-used List from the context menu of the restricted key figure (secondary mouse click).
...

1. In the InfoProvider screen area, select the restricted key figure and choose Edit from the context menu (secondary mouse button). 2. Make the required changes to the definition and, if required, in the properties on the associated tab page. 3. Choose OK.

Determining properties for the restricted key figure


...

1. Select the restricted key figure. The Properties dialog box is displayed in the Properties screen area. 2. Make the required settings for the description, number format, and currency translation for the restricted key figure. See Selection/Formula Properties [Page 450].

Enterprise Reporting, Query, and Analysis

435

Core Development Tasks Developing Business Logic

March 2006

Result
You have defined a restricted key figure for reuse. You can now use this restricted key figure in all queries based on this InfoProvider by moving the key figure into the rows or columns of the query using Drag&Drop. The restricted key figure is not an actual element in this query, but a placeholder referenced to the restricted key figure in the InfoProvider.

4.2.2.7.5

Defining Calculated Key Figures

Use
You can recalculate the key figures of an InfoProvider for reuse in the Query Designer using formulas. Calculated key figures consist of formula definitions containing basic key figures, restricted key figures or precalculated key figures.

Procedure
Defining a New Calculated Key Figure
...

1. In the InfoProvider screen area, select the Key Figures entry and from the context menu (secondary mouse button click), choose New Calculated Key Figure. If a calculated key figure has already been defined for this InfoProvider, you can also select the Calculated Key Figures entry and, from the context menu, choose New Calculated Key Figure. The entry New Calculated Key Figure is inserted and the properties for the calculated key figure are displayed in the Properties screen area. 2. Select the New Calculated Key Figure entry and, from the context menu (secondary mouse button), choose Edit. The Calculated Key Figure dialog box appears. Make the basic settings on the General tab page. The upper part of the screen contains a text field in which you enter a description of the calculated key figure.

You can use Text Variables [Page 406] in the description. Next to that, you can enter a technical name in the Technical Name field. Beneath this is the input field for the formula that you want to use to calculated the key figure. The bottom left screen area contains all of the operands available for defining the formula. These are: The basic key figures, calculated key figures and restricted key figures from the relevant InfoProvider. All form variables On the right side of the screen, you see the functions that are available as operators: Basic functions Percentage functions [Page 381]

Enterprise Reporting, Query, and Analysis

436

Core Development Tasks Developing Business Logic Data functions [Page 383] Mathematical functions Trigonometric functions Boolean operators [Page 386]

March 2006

Above these two areas, you see the symbols for the basic arithmetic operations. To the right there is a number block. Proceed as follows to define a formula: Choose the required operands and insert them in the Detail View field by double-clicking or by using Drag&Drop. Choose the calculation functions you want to use by either clicking on the symbols for the basic arithmetic operations, double-clicking on the functions, or using Drag&Drop. Select the numerical values for the formula by clicking on the number block.

You can also enter digits, parentheses and basic arithmetical operations using the keyboard. 3. Define your formula using the available operands and operators. With each step, the system checks the syntactic correctness of the formula. If the formula is not yet complete and syntactically correct, the erroneous point is underlined in red. The system does not check whether the formula makes sense semantically, for example, if it contains the same units. Semantic checks are performed with the Check Query function, which you can call in the Query Designer Toolbar [Page 358].

If, when defining a formula, you want to use a variable that is not contained in the operands, you must first create the variable. Highlight the Formula Variable entry and, from the context menu, choose New Formula. You reach the variable wizard. This takes you through a step-by-step process for defining a new variable. If you want to change a formula variable, select the variable and, from the context menu, choose Edit. The variables editor appears.

Note that when you execute a query, the key figures are always calculated as the same unit. A formula is semantically incorrect, for example, when you add a currency unit (such as EUR) with a weight unit (such as kg). If you want to calculate values regardless of the unit, use the function Value Without Dimension (Without Units). See Data Functions [Page 383]. 4. Enter a description for the calculated key figure. 5. Make any necessary settings for the properties of the calculated key figure in the other tab pages. See Selection/Formula Properties [Page 450] 6. Choose OK. The new calculated key figure is defined for the InfoProvider.

Enterprise Reporting, Query, and Analysis

437

Core Development Tasks Developing Business Logic

March 2006

Editing Calculated Key Figures

Note that when you change a calculated key figure, these changes are effective in all queries that use this calculated key figure.

You can see where the calculated key figure is used. Choose Where-used List from the context menu (secondary mouse click).
...

1. In the InfoProvider screen area, select the calculated key figure and, from the context menu (secondary mouse button), choose Edit. 2. Make the required changes to the formula definition or to the associated tab page in the properties. 3. Choose OK.

Determining Properties for the Calculated Key Figure


...

1. Select the calculated key figure. The Properties screen area is displayed in the properties dialog box. 2. Make the required settings for the description, display, number format, currency translation, local calculations and the aggregation behavior of the calculated key figure. See Selection/Formula Properties [Page 450]

Result
You have defined a calculated key figure for reuse. You can now use this calculated key figure in all queries based on this InfoProvider by moving the key figure into the rows or columns of the query using Drag&Drop. The calculated key figure is not an actual element in this query, but a placeholder referenced to the calculated key figure in the InfoProvider.

4.2.2.8

Query Properties

Use
You can make various settings for your query in the Query Properties dialog box.

Features
The Query Properties dialog box is divided into tab pages; each tab page offers different settings.

Tab Page: General


Description
You can enter or change the query description here.

You can use text variables [Page 406] in the description.

Enterprise Reporting, Query, and Analysis

438

Core Development Tasks Developing Business Logic You can also enter the query description when you save the query.

March 2006

Technical Name
The technical name of the query is displayed.

InfoProviders
The technical name of the InfoProvider on which the query is based is displayed.

Key Date
Every query has a key date. For time-dependent data, the key date determines the time for which the data is selected. The default value for the key date is the date on which the query is executed, that is <today>.
...

1. Choose

. The Date Selection dialog box appears.

2. Choose a date from the calendar and use the arrow button to add it to the selection window on the right. If you select 01.01.1999 for example, time-dependent data is read up to 01.01.1999. 3. Choose OK. You can also select a variable key date:
...

1. In the Date Selection dialog box, choose the Variables tab page. 2. Choose a variable and use the arrow button to add it to the selection window on the right.

For the selection, you may need to know the technical names of the variables as well as their descriptions. In the Description window on the left, choose Technical Names in the context menu (using the secondary mouse button). If you want to create a new variable, in the Description window on the left, choose New Variables in the context menu (using the secondary mouse button). The new variable is displayed. In the context menu of the new variable, choose Edit. The variables editor appears and you can create a new variable [Page 415]. If you want to change a variable, in the Description window on the left, select the variable and choose Change Variable in the context menu (using the secondary mouse button). The variables editor appears and you can change the variable. 3. Choose OK.

The key date only applies to time-dependent master data.

Last Changed
This is where you can see details of the owner of the structure, the person who last changed the structure, and the date and time when the query was changed. Tab Page: Variable Sequence Any entry variables the query contains are listed here. You can use the two arrow buttons to determine the sequence in which the variables appear in the variables screen when the query is executed.

Enterprise Reporting, Query, and Analysis

439

Core Development Tasks Developing Business Logic

March 2006

Tab Page: Display


Display Options
The following settings are possible:

Adjust Formatting after Refreshing The setting is useful in the BEx Analyzer and is therefore the default setting. The formatting for the query underlines the type of data contained in a cell and highlights the structure of the delivered results. As a rule, the position and size of the cell area in the analysis table changes when the query is refreshed. The Adjust Formatting After Refreshing function guarantees that the format is adjusted when the updated query data is refreshed. You can deactivate the function for adjusting the format, for example, if you want to display the data more quickly, or if you use a workbook with your own format template. For more information, see Workbook Settings [Page 303].

Hide Repeated Key Values Here you can determine whether or not identical key figures are to be displayed more than once in the query. The Hide Repeated Key Values setting is active by default, such that only the first key value is displayed for each characteristic and additional, identical key values are suppressed.

The key value is the value with which the characteristic is presented. This can be the characteristic description or the characteristic key. You can specify how the characteristic is presented using characteristic properties [Page 444].

In the following example, the Hide Repeated Key Values setting is activated: Region DE Order A B C USA A C Sales EUR 14,900 EUR 15,800 EUR 17,600 EUR 12,800 EUR 32,800

In the following example, the Hide Repeated Key Values setting is deactivated: Region DE DE DE USA USA Order A B C A C Sales EUR 14,900 EUR 15,800 EUR 17,600 EUR 12,800 EUR 32,800

Enterprise Reporting, Query, and Analysis

440

Core Development Tasks Developing Business Logic

March 2006

Note that the setting made to hide repeated key values when using the query as a data provider in Web applications is not evaluated. You need to make the settings again in the property dialog box of the query view. When the query is used in the BEx Analyzer, the settings you make here are taken into consideration.

Display Scaling Factors for Key Figures Key figures can have scaling factors and units/currencies. Normally, units/currencies are displayed for every key figure, but not the scaling factors. If you activate the Display Scaling Factors for Key Figures setting, an additional header row is added to the row or column header in the query. Information about the scaling factor and currency/unit appears in this additional header row, as long as it is consistent (for example, EUR 1,000). This setting is deactivated by default.

In the following example, the Hide Repeated Key Values and Display Scaling Factors for Key Figures settings are activated: Region Order Sales EUR 1,000 DE A B C F D E 14 15 17 12 32

Note that the setting selected to display the scaling factors for key figures when using the query as a data provider in Web applications is not evaluated. You need to make the setting again in the property dialog box of the query view. When the query is used in the BEx Analyzer, the settings you make here are taken into consideration.

Document Links
For metadata, master data, and InfoProvider data for a query, you can display links to documents [External] that you have created for these objects. If documents exist for these objects, the symbol appears next to these objects. You can click this symbol to navigate to where the document is displayed on the Web. Select the appropriate setting so that the document links for the desired document class are displayed. The document classes are oriented to the various categories of BI objects: InfoProvider data, metadata, and master data. See Document Classes [External]. For more information, see Using Documents in Web Applications [External].

Enterprise Reporting, Query, and Analysis

441

Core Development Tasks Developing Business Logic

March 2006

Tab Page: Rows/Columns


Results Position
This is where you specify where the result is displayed.

Rows: Above or Below Columns: Left or Right

By default, the results are displayed at the bottom right.

Suppress Zeros
You can use this setting to specify whether columns or rows containing zeros are to be displayed. The following options are available for suppression:

Do Not Suppress: Rows or columns with zeros are displayed. Active: If characteristics are in the rows and columns, any row or column with a result of zero is not displayed. The rows or columns include, for example, the values 1, -1, 1, 1 and thus the result is 0. If you select this setting, the whole row or column is hidden. Active (All Values = 0): Columns or rows that contain zero values in all cells are not displayed.

Under Effect On, define whether suppression of zero values should be applied to rows and columns, only to rows, or only to columns.

Tab Page: Value Display


Display of +/- Signs
Here you specify how the minus sign (-) is displayed. The following display options are available for negative values:

Before the Number -123.45: The minus sign (-) is positioned before the value (default setting). After the Number 123.45-. The minus sign (-) is positioned after the value. In Parentheses (123.45): Negative values are displayed in parentheses.

Zero Value Display


The following display options are available for displaying zeros:

Zero with Currency/Unit: Zeros are displayed with the currency/unit, for example, EUR 0.00. This is the default setting. Zero Without Currency/Unit: Zeros are displayed without a currency or unit entry, for example, 0.00. Zero as Space: Cells containing a zero value remain empty. Zero as Default Text: If you choose this setting, the Show Zeros As field is activated. You can now enter the required value (character, number, or letter), such as an asterisk (*). Cells that contain a zero value are filled with this value.

Enterprise Reporting, Query, and Analysis

442

Core Development Tasks Developing Business Logic

March 2006

Tab Page: Enhanced


Release for OLE DB for OLAP External reporting tools that communicate using the OLE DB for OLAP interface use queries as data sources. If you want to release this query as a data source for external reporting tools, select Allow External Access to this Query.

Queries that contain formulas with the operators %RT, %CT, %GT, SUMRT, SUMCT, SUMGT, and LEAF cannot be released for OLE DB for OLAP. These operators depend on the display of the list in the BEx Analyzer and the formulas would return unexpected values when using OLE DB for OLAP or MDX. It is possible to achieve the desired result with constant selection. For more information, see Selecting Constants [External]. For more information about using formula operators, see Defining Formulas [Page 379]. For more information about OLE DB for OLAP, see Mapping Metadata [Page 549].

Tab Page: Planning


Start Query in Display Mode
Here you can specify that the query is only started in display mode. At runtime, the user can switch on the input-ready field to use the query for manually entering plan data or executing planning functions. This guarantees that users can use the query in planning applications without locking each other out. For queries that are not input-ready, this function is always active and cannot be changed. For input-ready queries this function is not active by default, but can be switched on. Queries are input-ready as soon as they contain a structural component that has one of the following properties:

Data can be changed by planning functions Data can be changed by user input or planning functions

For more information, see Selection/Formula Properties [Page 450] (Planning tab page) and BI Integrated Planning [External].

Activities
You call the properties dialog box for a query by choosing Query Properties in the Query Designer menu bar. The Properties dialog box for the query appears in the Properties screen area. You can choose Display/Change to define whether the query properties can be Save. changed or not. You can save your settings with

4.2.2.9

Properties of Query Components

Use
The various components of a query have specific properties that depict important functions.

Enterprise Reporting, Query, and Analysis

443

Core Development Tasks Developing Business Logic

March 2006

Features
The following dialogs are available to set properties of query components:

Characteristic properties [Page 444] Attribute properties [Page 449] Selection/Formula properties [Page 450] Structure properties [Page 459] Filter properties [Page 461] Variable properties [Page 462] Condition properties [Page 462] Exception properties [Page 463] Rows/Column properties [Page 465]

Activities
You call the property dialog by selecting the corresponding query component in the query. For the row or column properties, click on the free areas of the appropriate areas. The corresponding property dialogs are shown in the Properties screen area.

4.2.2.9.1

Characteristic Properties

Use
In the Characteristic Properties dialog box for a specific characteristic, such as order type, you can set a range of functions. These settings then affect all the key figures for this characteristic in a query drilldown.

Features
The Properties of the Characteristic dialog box is divided into tab pages, each covering different settings.

Tab Page: General


Description
The name of the characteristic appears automatically. You can overwrite this text. The new text is different from the text provided in InfoObject maintenance and is used in the query display. Use Standard Text: Here you can set that the default value is always used. In this case, the standard text is the text from the characteristic that was determined in InfoObject maintenance.

Technical Name
The technical name of the characteristic is displayed.

Enterprise Reporting, Query, and Analysis

444

Core Development Tasks Developing Business Logic

March 2006

Tab Page: Display


Value Display
Under Display As, you can determine here whether and in which format you want to present the individual characteristic values of the characteristic.

No Display: The characteristic display is hidden. This function is useful, for example, with the currency/unit characteristic as the currencies are also shown in the key figures. Key and Text: The characteristic values are displayed by their technical key and text. Text: The characteristic values are displayed by their text. Key: The characteristic values are displayed by their technical key. Text and Key: The characteristic values are displayed by their text and technical key.

If you set a display type that contains text, you can choose which text type you want to set under Text Display. The following options are available:

Standard: The shortest available text for the characteristic values is used as the text. Short text: The short text for the characteristic values is used as the text. Long text: The long text for the characteristic values is used as the text. Medium text: The medium text for the characteristic values is used as the text.

In the dropdown box for display type, the system offers the setting options as follows:

No Display and Key are always offered. Key and Text, Text, Text and Key are offered in addition if any text (short, medium or long) has been created for this characteristic.

In the dropdown box for text type, the system only offers texts for selection that have been created in InfoObject maintenance for the characteristic [External]. See Tab Page: Master Data/Texts [External]. Characteristic Setting: Here you can set that the default value is always used. In this case, the default value is the setting from the characteristic that was determined in InfoObject maintenance.

Sorting
Here you can set the sorting within the characteristic according to the key or text in ascending or descending order. If a characteristic has attributes you can sort the characteristic by attribute. The attribute involved does not have to be selected for the display. Under Sort Characteristic, choose the characteristic or the required attribute; under Sort by Key or Text and choose Ascending or Descending under Sort Direction.

You want to sort your articles according to specific criteria. To do this you create an attribute for the Article characteristic that contains these criteria and you are able to sort the articles by this attribute.

Enterprise Reporting, Query, and Analysis

445

Core Development Tasks Developing Business Logic

March 2006

The values are sorted as they are defined in the query definition by default. If you have not specified a filter value in the query definition, the system sorts the values according to the key. Characteristic Setting: Here you can set that the default value is always used. In this case, the default value is the setting from the characteristic that was determined in InfoObject maintenance.

Results Rows
Here you can choose whether the results row is Always Displayed, Always Suppressed or Displayed with More Than One Single Value. Display with More Than One Single Value means that the result rows are displayed when there are at least two single value and any results row is suppressed that only aggregates one value. In such a case, the value and the result are identical and the results row repeats the same value.

Tab Page: Hierarchy


You can present the characteristic as a hierarchy. Choose to select a hierarchy [Page 376]. The hierarchy is flagged automatically as an active presentation hierarchy. If you deactivate the Activate Hierarchy Display checkbox, the characteristic is not displayed in the query as a hierarchy but as a basic list.

If you restrict the characteristic to a hierarchy node [Page 374] the node hierarchy is adopted automatically as the presentation hierarchy. You can deactivate the presentation hierarchy here if necessary.

Hierarchy Parameter
Each hierarchy has certain properties that you specify in the hierarchy definition. You can override the following hierarchy properties for the current hierarchy:

Expand to level Choose up to which hierarchy level the hierarchy is to be displayed when it is expanded. Hierarchy Setting: Here you can set that the default value is always used. In this case, the default value is the hierarchy setting from the characteristic that was determined in InfoObject maintenance.

Position of lower-level nodes Select whether the lower-level nodes are to be positioned above or below. Choose the option Above if, for example, you want to see the overall result at the bottom. Hierarchy Setting: Here you can set that the default value is always used. In this case, the default value is the hierarchy setting from the characteristic that was determined in InfoObject maintenance.

Values of posted nodes Select whether you want to always display or hide the values of posted nodes. In hierarchies, nodes always display the aggregated values of the subordinate nodes and leaves. If a node has a posted values, you cannot see this. To display this posted value, an additional leaf is inserted that has the same name as the node. This leaf displays the value posted to the node.

Enterprise Reporting, Query, and Analysis

446

Core Development Tasks Developing Business Logic

March 2006

In the following example you see that for cost center A1 an additional leaf has been added and the value of cost center A1 itself (10) is displayed. This additional leaf does not exist in the hierarchy. You can display or hide this leaf (with the value of the posted node).

Cost Center A.1. This value can be suppressed. Cost Center A.1. Cost Center A.1.1. Cost Center A.1.1.1. Cost Center A.1.1.2. Cost Center A.1.1.3.

196 10 80 50 20 10 106 55 30 21

Cost Center A.1.2. Cost Center A.1.2.1. Cost Center A.1.2.2. Cost Center A.1.2.3.

Hierarchy Setting: Here you can set that the default value is always used. In this case, the default value is the hierarchy setting from the characteristic that was determined in InfoObject maintenance.

Nodes with only one lower-level node Select whether you want to always display or hide the values of posted nodes. Hiding nodes with only one lower-level node helps you to reach the more detailed information quickly.

In the following example, Cost Center A and Cost Center A.1. contain the same information since Cost Center A has only one lower-level node in the hierarchy. If you are interested in the detailed data for the individual cost centers, you can hide the uppermost node with only one lower-level node as this does not contain any additional information.

Enterprise Reporting, Query, and Analysis

447

Core Development Tasks Developing Business Logic

March 2006

Cost Center A Cost Center A.1.

This node can be suppressed. 186 186 80 50 20 10 106 55 30 21

Cost Center A.1.1. Cost Center A.1.1.1. Cost Center A.1.1.2. Cost Center A.1.1.3.

Cost Center A.1.2. Cost Center A.1.2.1. Cost Center A.1.2.2. Cost Center A.1.2.3.

Hierarchy Setting: Here you can set that the default value is always used. In this case, the default value is the hierarchy setting from the characteristic that was determined in InfoObject maintenance.

Sort Settings
You can set the sorting within the hierarchy according to the key or text in ascending or descending order. If you do not make any entries, the values are sorted as determined in the hierarchy. Characteristic Setting: Here you can set that the default value is always used. In this case, the default value is the setting from the characteristic that was determined in InfoObject maintenance.

Tab Page: Enhanced


Enhanced Settings
Here you can set that the characteristic be restricted by exactly one value. This setting determines that the values in the filter area at runtime are always unique. This setting is especially required in planning applications. For more information see BI Integrated Planning [External]. You can also determine which data the value help in the executed query is based on: Master Data, Fact Table or Dimension Table. Generally, at runtime, the selection of filter values in the value help is determined from the data selected by the query (fact table). This means that only the values for which data has been selected in the current navigation status are displayed. In many cases, however, it can makes sense to include additional values. This means that the settings Master Data and Dimension Table are also possible. These settings enable shorter access time, but after selection of filter values, the no data found message may occur.

Enterprise Reporting, Query, and Analysis

448

Core Development Tasks Developing Business Logic

March 2006

Characteristic Setting: Here you can set that the default value is always used. In this case, the default value is the setting from the characteristic that was determined in InfoObject maintenance.

Activities
Drag a characteristic into a directory of the Query Designer (rows, columns, free characteristics or filters) and select it. In the Properties screen area, the properties dialog for the characteristic appears. You can also select multiple characteristics and set the properties simultaneously. You can use Display/Change to set whether the properties of the Save. characteristic can or cannot be changed. You can save your settings with

4.2.2.9.2

Attribute Properties

Use
You can set display functions in the Attribute Properties dialog box for a specific attribute for a characteristic.

Features
The Properties of the Attribute dialog box is divided into tab pages, each covering different settings.

Tab Page: General


Description
The name of the attribute appears automatically here. You can overwrite this text. The new text is different from the text provided in InfoObject maintenance and is used in the query display. Use Standard Text: Here you can set that the default value is always used. In this case, the standard text is the text from the characteristic that was determined in InfoObject maintenance.

Technical Name
The technical name of the attribute is displayed here.

Tab Page: Display


Value Display Under Display As, you can determine here whether and in which format you want to present the individual attribute values of the attribute.

No Display: The attribute display is hidden. Key and Text: The attribute values are shown by their technical key and by their text. Text: The attribute values are shown by their text. Key: The attribute values are shown by their technical key.

Enterprise Reporting, Query, and Analysis

449

Core Development Tasks Developing Business Logic

March 2006

Text and Key: The attribute values are shown by their text and by their technical key.

If you set a display type that contains text, you can choose which text type you want to set under Text Display. The following options are available:

Standard: The shortest available text for the attribute values is used as the text. Short text: The short text for the attribute values is used as the text. Long text: The longest text for the attribute values is used as the text. Medium Text: The medium text for the attribute values is used as the text.

In the dropdown box for display type, the system offers the setting options as follows:

No Display and Key are always offered. Key and Text, Text, Text and Key are offered additionally if any text (short, medium or long) was created for this attribute.

In the text type dropdown box, the system offers only those texts for selection that were created for this attribute in the InfoObject maintenance. See Tab Page: Master Data/Texts [External]. Characteristic Setting: Here you can set that the default value is always used. In this case, the default value is the hierarchy setting from the characteristic that was determined in InfoObject maintenance.

Technical Name
The technical name of the attribute is displayed here.

Activities
Select an attribute for a characteristic in the query. In the Properties screen area, the properties dialog for the attribute appears. You can also select multiple attributes and set the properties simultaneously. You can use Display/Change to set whether the properties of Save. the attribute can or cannot be changed. You can save your settings with

4.2.2.9.3

Selection/Formula Properties

Use
In the Selection/Formula Properties dialog box for a structural component, you can set a range of functions. These settings are valid for the structural component, irrespective of whether the structural component is in the rows or columns.

This section describes the properties of selections and formulas. Once you save a selection or a formula as a reusable object, you have a restricted key figure

Enterprise Reporting, Query, and Analysis

450

Core Development Tasks Developing Business Logic

March 2006

(selection) or a calculated key figure (formula) that you can use in other queries. The settings options for the properties of these objects are almost identical. Settings that are only possible for certain objects are highlighted.

Features
The Selection/Formula Properties dialog box is divided into tab pages, each offering different settings.

Tab Page: General


Description
The name of the key figure, the restricted key figure (selection), or the formula automatically appears here. You can also change the description here. In contrast to characteristics and attributes, structural components can contain multiple rows as the description.

The total number of all characters in all rows, including the line-end character, is restricted to 60 characters.

You can use text variables [Page 406] in the description. Use Standard Text: Here you can set that the default value is always used. The default values are as follows:

Formula: Formula <Number> Selection: Selection <Number> for an empty selection <Key Figure Description> for a selection with a key figure <First Restricted Characteristic Value Description> for a selection with characteristic values

Calculated key figure: <Technical Name> Restricted key figure: <Technical Name>

Technical Name
You can enter a technical name for the structural component. However, this is optional.

Note that the technical name must be unique across all queries.

For access from external interfaces (such as Crystal Reports, from URLs or using OLE DB for OLAP), a technical name is necessary for structural components, since the structural component is considered a table field and has to be uniquely accessible. If you do not enter a technical name, the unique ID (UID) is used for access from external interfaces to uniquely identify the

Enterprise Reporting, Query, and Analysis

451

Core Development Tasks Developing Business Logic

March 2006

structural component. However, the UID has 25 characters, which can lead to problems when you change queries. You can also change the technical name. When you do so, a warning appears that tells you that when you use the structural component in external interfaces, the references can be destroyed. The system generates the technical name for reusable objects, but you can change this name up until you save the object. Once you have saved the object, you can no longer change the technical name. The generation rule is (RKF/CKF)_<date><time>, for example RKF_20050818122045. As long as you have not saved and the generated technical name has not been changed, a warning appears that you should rename the technical name as required.

Last Changed on

This function is only available for restricted and calculated key figures. This is where you can see details of the owner and person who last changed the structure, as well as the corresponding data and time that the key figure was changed. This information can be useful since calculated and restricted key figures are reusable objects.

Tab Page: Aggregation


Aggregation

This function is only available for formulas and calculated key figures. Here you can make settings for aggregation and calculation time (for the detail level of the calculated key figure or formula). By default, the aggregation of the data to display level takes place first, followed by the calculation of the formula (= standard aggregation). The exception aggregation settings allow the formula to be calculated before aggregation, using a reference characteristic, and afterwards to be aggregated with exception aggregation. You can select the following settings in the Exception Aggregation field.

Use Standard Aggregation: You use this setting to define that aggregation will take place first, followed by calculating the formula. Therefore you do not use exception aggregation. Total Maximum Minimum Exception, If More Than One Record Occurs Exception, If More Than One Value Occurs Exception, If More Than One Value <> 0 Occurs Average of All Values Average of All Values <> 0 Average for Calendar Days

Enterprise Reporting, Query, and Analysis

452

Core Development Tasks Developing Business Logic

March 2006

Average for Working Days

You determine the ID of the factory calendar in Customizing. For more information, see the SAP Reference IMG under SAP Customizing Implementation Guide SAP NetWeaver Business Intelligence Reporting-Relevant Settings General Reporting Settings Set F4 Help and Hierarchies for Time Characteristics / OLAP Settings.

Count All Values Count All Values <> 0 First Value Last Value Standard Deviation Variance

If you use exception aggregation, you must select a characteristic from the Reference Characteristic field that the system can use to calculate the formula before aggregation. In the Reference Characteristic field, all characteristics that are available in the InfoProvider can be selected. For more information about the setting options for exception aggregation, see the documentation for InfoObject maintenance under Tab Page: Aggregation [External]. Calculate After Aggregation: This field only appears for calculated key figures and not for formulas. It is used for display and stipulates that the formula of the calculated key figure is calculated after aggregation. If you use calculated key figures that you defined in SAP BW 3.5, you can use this field to determine whether the calculation of the formula takes place before or after aggregation.

The option of calculating before aggregation is usually bad for performance because the data is read by the database at the most detailed level and the formula is calculated for every record. Often in formula calculations, the single record information for only one or two specific characteristics is required and the rest of the InfoProvider data can be aggregated. We recommend that you control the calculation level using exception aggregation with the corresponding reference characteristic. If you need more than one exception aggregation and reference characteristic, you can nest the formulas and calculated key figures in one another and specify an exception aggregation for each formula or calculated key figure. For more information, see Scenarios for Using Exception Aggregation [External].

Tab Page: Display


Display Properties
Hiding Here you can adopt the following settings to hide the selection or formula:

If you choose Always Show then the selection or formula is always visible.

Enterprise Reporting, Query, and Analysis

453

Core Development Tasks Developing Business Logic

March 2006

If you chose Hide (Can Be Shown) then the selection or formula is hidden in the report executed, but can be shown there again in future. This setting is useful for displaying only the necessary information in the start view of the report. You can show additional details if required. You can show the selection or formula in the report executed in the following ways:

in Web applications under Select Filter Value [External]

In the BEx Analyzer under Select Filter Values [External]

If you choose Always Hide, the selection or formula is not displayed. You can use this setting for help columns that are not visible in the executed report and can also not be shown.

Use Standard Value: Here you can determine that the default value is always used. In this case the default value is the setting for the key figure being used. If no key figure is found or if the key figure does not return such a setting, Always Show is used as the default value. Highlight Here you can choose whether you want to highlight the selection or formula. The type of highlighting depends on the style used in the BEx Analyzer or in the Web application. Use Standard Value: Here you can determine that the default value is always used. In this case the default value is the setting for the key figure being used. If no key figure is found or if the key figure does not return such a setting, Do Not Highlight is used as the default value.

Number Display
Number of decimal places You can set the number of decimal places. The number can have either no decimal places or up to nine decimal places (0, 0.0, 0.00... to 0.000000000). Use Standard Value: Here you can determine that the default value is always used. In this case, the default value is the setting from the key figure that was determined in InfoObject maintenance. If no key figure is found, the Query Designer cannot determine a default value. This is indicated by Standard Value Not Found. Scaling factors You can set a scaling factor of 1 to a billion. If, for example, you set 1,000, the value 3,000 is shown in the report as 3. Use Standard Value: Here you can determine that the default value is always used. In this case, the default value is the setting from the key figure that was determined in InfoObject maintenance. If no key figure is found, the Query Designer cannot determine a default value. This is indicated by Standard Value Not Found. +/ - sign change Select whether the +/- signs are to be kept or if they should be reversed. Upon changing the signs a positive number receives a minus as a sign (for example, 85 becomes 85) or a negative number receives a plus (for example, -38 becomes +38).

The reversal of plus and minus signs is purely a display function. If, for example, the key figure is added to a formula, it is calculated with its correct values. Use Standard Value: Here you can determine that the default value is always used. In this case the default value is the setting for the key figure being used. If no key figure is found or if

Enterprise Reporting, Query, and Analysis

454

Core Development Tasks Developing Business Logic

March 2006

the key figure does not return such a setting, Do Not Change Signs is used as the default value. See also: Priority Rule with Formatting Settings [External]

Tab Page: Planning


Here you can determine the changeability of data for BI integrated planning.

Changing Data
The following settings options are available:

Data Cannot Be Changed: The data is available for BI Integrated Planning as display data. Data Can Be Changed by Planning Functions: The data is locked from a technical point of view, and can be changed using planning functions. However it is not input-ready for manual planning. Data Can Be Changed by User Input or Planning Functions: The data is locked from a technical point of view, and is input-ready for manual planning. Planning functions can also be used.

The system status can override the setting. Also note that the changeability settings of the data of a structural component made here can be overridden by starting the query with the setting Start Query in Display Mode (see Query Properties [Page 438] Planning Tab Page). If you set the structural component so that the data can be changed by user input or planning functions, but the setting Start Query in Display Mode is active in the query properties, the query is not input-ready when it is started. At runtime the user can activate the ready for input settings and they will come into effect for the structural component. For more information see BI Integrated Planning [External].

Tab Page: Enhanced


UID
In this field, the unique ID (UID) that is used for unique identification is displayed. This field is only used for information purposes. For example, you can use the UID in URLs of the Web API to address this element. However, we recommend that you use technical names, because UIDs can change when an object is deleted and then created again.

Selecting Constants

This function is only available for selections and restricted key figures. You can select a selection as constant. This means that the selection cannot be changed by navigation or filtering at runtime and can therefore be used as a reference size. For more information, see Selecting Constants [External].

Formula Collision

This function is only available for formulas and calculated key figures.

Enterprise Reporting, Query, and Analysis

455

Core Development Tasks Developing Business Logic

March 2006

When you define two structures that both contain formulas it is unclear to the system how to calculate the formulas at the point where both formulas intersect.

The following example clarifies the concept of formula collision: Column 1 Row 1 Row 2 Row 1 + Row 2 Value A Value C A+C Column 2 Value B Value D B+D Column 1 x Column 2 AxB CxD ? Formula Collision?

In this example, there are two rows and two columns with simple values. The third row is a simple summation formula and the third column is a simple multiplication. In the cell in which the row and column formulas meet, it is not clear which calculation should be made. If you calculate according to the column formula in this cell, the cell contains (A+C)x(B+D). If you calculate according to the rows formula in this cell, the cell contains (AxB)+(CxD). The result gives a different value. If a formula collision occurs, you can, as described in the example above, determine which formula is used in the calculation. You can make the following settings in the Trigger Formula Collision field:

Nothing defined If you do not make a definition, the formula that was last saved and defined takes priority in a formula collision.

Result of this formula The result of this formula has priority in a collision

Result of competing formula The result of a competing formula has priority in a collision

Collisions always occur when point and dash calculations or functions are mixed in competing formulas. If there is only dash calculation or point calculation in both formulas, both calculation directions give the same result. Therefore, no settings are required for formula collision.

Tab Page: Conversion


Currency Translation

This function is only available for selections and restricted key figures. You create translation keys for currency translation under SAP Menu Modeling Object Maintenance Currency Translation Keys. For more information, see Creating Currency Translation Keys [External]. You can set a target currency for a structural component in the Query Designer.

Enterprise Reporting, Query, and Analysis

456

Core Development Tasks Developing Business Logic

March 2006

Select a translation key in the Translation Key dropdown box. Depending on how the currency translation key has been created, you have the following options:

Select the Target Currency When Translating The target currency is not fixed in the translation key but can be determined when translating. Select the required translation key and enter the required currency in the Target Currency dropdown box. You can also select a currency from the dropdown box. You can also use the symbol to call up the input help dialog box and select a variable target currency. You click on the black arrow to reach the context menu and can then choose New Variable to create new variables or Edit to change existing variables. Both choices take you to the variables editor [Page 415]. When you execute the query, the variables screen appears. You can choose the target currency here.

Fixed Target Currency The target currency was determined the translation key. Select the required translation key with the fixed target currency. In the Target Currency dropdown box, the fixed target currency for this translation key appears.

InfoObject Determines Target Currency The target currency is determined in the translation key so that it is determined from an InfoObject. Select the required translation key with the target currency from the InfoObject. The text From InfoObject appears in the Target Currency field when you select this translation type.

Target Currency from Variable. In the translation type, a variable was specified for 0CURRENCY. In the Target Currency field, the text from Variable appears during selection of this translation type.

You can find additional information on currency translation under Currency Translation in the Business Explorer [External].

Quantity Conversion

This function is only available for selections and restricted key figures. You create translation keys for unit conversion under SAP Menu Modeling Object Maintenance Unit Conversion. For more information, see Creating Quantity Conversion Types [External]. You can set a target unit of measure for a structural component in the Query Designer. Select a translation key in the Quantity Translation Key dropdown box. Depending on how the quantity translation key was created, you have the following options:

Select the Target Quantity Unit When Translating The target quantity unit is not fixed in the translation key but can be determined when translating. Select the required translation key and enter the required unit in the Target Quantity Unit dropdown box. You can also use the symbol to call up the input help dialog box and select a variable target currency. You click on the black arrow to reach the context menu and can then choose New Variable to create new variables or Edit to change existing

Enterprise Reporting, Query, and Analysis

457

Core Development Tasks Developing Business Logic

March 2006

variables. Both choices take you to the variables editor [Page 415]. When you execute the query, the variables screen appears. You can choose the target quantity unit here.

Fixed Target Quantity Unit The target quantity unit was determined in the translation key. Select the required translation key with the fixed target quantity unit. The fixed target quantity unit (for example, Gram) for this translation key appears in the Target Quantity Unit dropdown box.

InfoObject Determines Target Quantity Unit The target quantity unit was set in the translation key so that it is determined from an InfoObject. Choose the required translation key with the target quantity unit from the InfoObject. The text From InfoObject appears in the Target Quantity Unit field when you select this translation type.

Target Quantity Unit from Variable A variable was specified for 0UNIT in the translation type. The text From Variable appears in the Target Quantity Unit field when you select this translation type.

For more information, see Quantity Conversion [External].

Tab Page: Calculations


Local Calculations
You use this function to recalculate the results rows and single values that are displayed in the query according to particular criteria. Calculate Results As... [External] Calculate Single Values As... [External] Also apply to results You can also use the chosen recalculation on the results rows under Calculate Result As... or Calculate Single Values As...

Note: The following functions cannot be used for hierarchy lists, that is, with an active presentation hierarchy, and do not have an effect on the characteristic with the hierarchy: Cumulated You use this function to cumulate the individual cells of an area. The first value is added to the second value, the result is added to the third value, and so on. In the columns, the cells are cumulated from top to bottom, and in the rows, the cells are cumulated from left to right. With blocks of single values, meaning a drilldown in both the rows and the columns, the values are cumulated from top to bottom and from left to right. Calculate Result as Calculate Single value as Ranked list / Ranked list (Olympic) Calculate Cumulated

Note that cumulation only operates with characteristic values and not with the structural elements of a characteristic structure. The Cumulated function is only

Enterprise Reporting, Query, and Analysis

458

Core Development Tasks Developing Business Logic

March 2006

effective if you have a characteristic instead of a characteristic structure in the drilldown. However if you have two structures the key figure structure and a characteristic structure then you cumulate using cell-specific definitions. See Defining Exception Cells [Page 388]. Calculation direction Default calculation directions are not always as expected. You can change the calculation direction as required:

Use the default direction (from top to bottom and from left to right) Calculate along the rows (from top to bottom) Calculate along the columns (from left to right)

The Calculate Along the Columns setting is useful, for instance, for all queries for which a time dimension is drilled down in the columns, and that generate a cumulated revenue. This is shown in the following example query:
Key figure in the columns Amount May 1999 561,176.72 DM 529,412.00 DM 709,412.08 DM 1,800, 000.80 DM

Region AUS/NRD DE/BAW DE/BAY DE/SAC Total resu lt

Business year/p eriod AUS/NRD Baden-Wrttemberg Bayaria Saxony

June 1999 1,102, 729.84 DM 1,068, 745.64 DM 1,428, 523.60 DM 3,599,999.08 DM

Sept ember 1999 49.996.60 DM 1,102,729.84 DM 1,068,745.64 DM 1,428,523.60 DM 3,649,995.68 DM

Total resu lt 49,996.60 DM 1,102,729.84 DM 1,068,745.64 DM 1,428,523.60 DM 3,649,995.68 DM

Cumulate along the column s

Activities
Select the structural component. The Properties dialog box for this structural component appears in the Properties screen area. You can also select multiple structural components of the same type and set their properties simultaneously. You can use Display/Change to set whether the properties of the structural component can be changed or not. You can save your Save. settings with

4.2.2.9.4

Properties of the Structure

Use
In the Properties of the Structure dialog, you can change the description of a structure and get information on the technical name and the last changes made to the structure.

Features
The Properties of the Structure dialog box is divided into tab pages, each covering different settings.

Enterprise Reporting, Query, and Analysis

459

Core Development Tasks Developing Business Logic

March 2006

Tab Page: General


Description
The name of the structure appears automatically here. You can overwrite this text. Use Standard Text: Here you can set that the default value is always used. In this case, the default value is Key Figures for key figure structures and Structure for characteristic structures.

Technical Name
If the structure has been saved as a reusable structure, the technical name of the structure is displayed here and you can no longer change it. You can enter a technical name for local structures. However, this is optional.

Note that the technical name must be unique across all queries.

For access from external interfaces (such as Crystal Reports, from URLs or using OLE DB for OLAP), a technical name is necessary for structures, since the structure is considered a table field and has to be uniquely accessible. If you do not enter a technical name, the unique ID (UID) is used for access from external interfaces for uniquely identifying the structure. However, the UID has 25 characters, which can lead to problems when you change queries. You can change the technical name. When you do so, a warning appears that tells you that when you use the structure in external interfaces, the references can be destroyed.

Applying Zero Row/Column Suppression to This Structure Also


If you made a setting for zero row/column suppression in the query properties, this setting is not transferred automatically to the structures that you use in the query. If you do not want to suppress rows or columns that contain zeros for this structure, select Also Apply Zero Row/Column Suppression to This Structure. For more information about the setting options for Suppressing Zero Rows/Columns, see Query Properties [Page 438].

Last Changed
This is where you can see details of the owner and person who last changed the structure, as well as the corresponding data and time that the structure was changed. This information can be useful since structures deal with reusable objects.

Enterprise Reporting, Query, and Analysis

460

Core Development Tasks Developing Business Logic

March 2006

Tab Page: Enhanced


UID
In this field, the unique ID (UID) that is used for unique identification is displayed. This field is only used for information purposes. For example, you can use the UID in URLs of the Web API to address this element. However, we recommend you use technical names, because UIDs can change when an object is deleted and then created again.

Activities
Select a structure. In the Properties screen area, the properties dialog for the structure appears. You can also select multiple structures and set the properties simultaneously. You can use Display/Change to set whether the properties of the structure can or cannot be Save. changed. You can save your settings with

4.2.2.9.5

Properties of the Filter

Use
In the Properties of the Filter dialog, you get information on the description, the technical name and the last change to the filter.

Features
Tab Page: General
Description
The name of the filter is displayed here. Chang the description using Display/Change.

Technical Name
The technical name of the filter is displayed.

Last Changed on
This is where you can see details of the owner and person who last changed the structure, as well as the corresponding data and time that the key figure was changed.

Activities
In the Properties screen area, choose the filter from the dropdown box under Properties. The properties of the filter are displayed.

Enterprise Reporting, Query, and Analysis

461

Core Development Tasks Developing Business Logic

March 2006

4.2.2.9.6

Properties of the Variable

Use
In the Properties of the Variable dialog box, you can make a range of settings.

Features
The Properties of the Variable dialog box is divided into tab pages, each covering different settings. The settings are context sensitive for the respective variable type and have the same settings that are provided for defining the variables with the variables editor. For more information, see Defining Variables [Page 415].

Activities
Select the variable. In the Properties screen area, the properties dialog for the variable appears. You can use Display/Change to set whether the properties of the variable can or Save. cannot be changed. You can save your settings with

4.2.2.9.7

Properties of the Condition

Use
In the Properties of the Condition dialog, you can activate or deactivate the condition, change the description and make settings for the characteristic assignment.

Features
The Properties of the Condition dialog box is divided into tab pages, each covering different settings.

Tab Page: General


Here you can activate or deactivate the condition with Activate Condition. Under Description, you can change the description of the condition.

Tab Page: Characteristic Assignment


You can choose from the following setting options:

All Characteristics in Drilldown Independent This setting allows you to apply a condition in a very general way. Depending on which characteristics you use in the drilldown, you will obtain varying results.

Characteristics that are already used in an active condition for characteristic combinations are excluded from these. For more information, see Ranked List Condition: Top 5 Products [External] and Ranked List Condition for All Characteristics in Drilldown Independent: Top 3 Products and Top 3 Sales Channels [External].

Enterprise Reporting, Query, and Analysis

462

Core Development Tasks Developing Business Logic

March 2006

This option is optimized for ranked list conditions, but can also be used for threshold conditions with relative values.

Most Detailed Characteristic Along the Rows This option is optimized for threshold values. The condition is applied to the most detailed characteristic of the rows.

Most Detailed Characteristic Along the Columns This option is optimized for threshold values. The condition is applied to the most detailed characteristic of the columns.

Single Characteristics and Characteristic Combinations This setting allows you to evaluate the condition only for characteristics or characteristic combinations defined for certain drilldowns only. You can select any characteristic (of the characteristics used in the query in Rows, Columns or in the Free Characteristics) or a characteristic combination. If you only want to evaluate the condition when a certain characteristic is present in the drilldown, select this characteristic. If you want to evaluate the condition for characteristic combinations, select multiple characteristics. For more information, see Ranked List Condition for Characteristic Combination: Top 10 Combinations of Product and Sales Channel [External].

Activities
Select the required condition in the Conditions in the screen area. In the Properties screen area, the properties dialog for the condition appears. You can also select multiple conditions and set the properties simultaneously. You can use Display/Change to set whether the properties of the condition can or cannot be changed. You can save your settings with Save.

4.2.2.9.8

Properties of the Exception

Use
In the Properties of the Exception dialog, you can activate or deactivate the exception, change the description and make settings for the properties of the exception.

Features
The Properties of the Exception dialog box is divided into tab pages, each covering different settings.

Tab Page: General


Here you can activate or deactivate the condition with Activate Exception. Under Description, you can change the description of the exception.

Enterprise Reporting, Query, and Analysis

463

Core Development Tasks Developing Business Logic

March 2006

Tab Page: Definition


Exception Is Defined for
You define the key figures. The exception is analyzed based on these key figures. The exception can affect all structure elements of a structure or only a selected structure element.

Time of Analysis
You can set whether the analysis of the exception takes place before or after a local calculation. See Local Calculations [External].

Tab Page: Cell Restriction


Standard Operator
In the cell restriction of the exception, you determine the cells that the exception is to evaluate. Exception Affects All Values: This setting is especially suitable for relative key figures. Trend exceptions typically affect all values. Exception Affects Only Results: This setting is especially suitable for absolute key figures. Status exceptions typically affect all results.

Tab Page: Display


You can set whether the exception affects the data cells or the characteristic cells. According to your setting, the highlighting of the exception appears on the numbers for the selected key figure or the text for the most detailed characteristic value.

Presentation on Data Cells


If the exception is to affect data cells, choose active. When presenting exceptions on the data cells, for each structure of the query, you can choose whether the exception is displayed on the analyzed structure element, on another structure element or on all structure elements.

Presentation on Characteristic Cells


If the exception is to affect characteristic cells for the most detailed characteristic value, choose active. When you are presenting the exception on the characteristic cells, you can choose whether the exception is displayed on the rows, on the columns or on both the rows and the columns.

Activities
Select the required condition in the Exceptions in the screen area. In the Properties screen area, the properties dialog for the exception appears. You can also select multiple exceptions and set the properties simultaneously. You can use Display/Change to set whether the properties of the exception can or cannot be changed. You can save your settings with Save.

Enterprise Reporting, Query, and Analysis

464

Core Development Tasks Developing Business Logic

March 2006

4.2.2.9.9

Properties of the Rows/Columns

Use
In the Properties of the Rows or Properties of the Columns dialog, you can specify whether all objects of the rows or columns (structure, characteristics with or without display hierarchies) are displayed as individual hierarchies.

Features
Tab Page: General
Display As Hierarchy
If you want to display objects of the rows or columns as a hierarchy, select active.

Expand to
Here you can choose up to which hierarchy level the hierarchy is to drilled down to in the initial view.

Activities
Click on the free areas in the current area, rows or columns. In the Properties screen area, the properties dialog for the rows or columns appear. With Display/Change you can set whether the properties of the rows or columns can or cannot be changed. You can save your Save. settings with

Example
You can use this function to display multiple drilldowns, for example, Country, Region, Town, although there is no display hierarchy.

4.2.2.10

Tabular Query Display

Use
You can use all queries defined in the BEx query designer for OLAP reporting and also for Tabular Reporting [External].

Features
By (de)selecting the Tabular Display mode when defining a query, you can create a query for OLAP reporting or for tabular reporting. The OLAP reporting mode is the default mode; you see the row/column view. When you save the query, both display types are automatically saved in a query object in the database. If you define the query in one mode, the system automatically generates a standard presentation for the other mode. In addition, all existing queries automatically have a default tabular display.

Enterprise Reporting, Query, and Analysis

465

Core Development Tasks Developing Business Logic

March 2006

Queries that have two structures are only available in the multidimensional display (row/column view) and are suitable only for OLAP reporting. Characteristics and key figures are displayed in the columns in the tabular display. Unlike with OLAP reporting, there are no free characteristics and no rows. You can use filters in the tabular display and assign characteristics, key figures and attributes freely in the columns. For example, you can put a key figure column between two characteristic columns. The column display is determined when the query is designed and cannot be altered. In tabular reporting, the interaction options are limited to reporting on filters, sorting by and navigation in hierarchies. Navigation functions that would change the geometry of the tabular list (that is the number and position of the columns), such as swapping or adding drilldowns, are not permitted in tabular reporting. Tabular display of queries can be used for Enterprise Reporting [Page 271] (for example, for list-like display of material lists). With reports in Enterprise Reporting, the design of layout and styles and easy print options are important. Switching between the two display types: When you switch a query defined for OLAP reporting to the tabular view, all InfoObjects are moved automatically from the rows into the columns. Similarly, when you switch a query that was defined in the tabular display to a row/column view of the rows, all key figures are displayed in the columns. The filter settings remain the same in both cases. Changes to the definition affect both display types: If you remove an InfoObject from the query definition in one mode, the change is also made in the other mode. There the InfoObject is also removed from the query. Changes to the position of objects affect only the selected display type: If you change the position of the InfoObject in the columns in the tabular display, this does not affect the row/column view for OLAP reporting.

Activities
To switch between the modes, in the menu bar of the Query Designer, choose View Tabular View or Rows/Columns.

4.2.2.11

Functions on the BI Server

Use
With regard to queries, there are certain functions that you use on the BI server and do not use in the Frontend. You cannot call these functions in the Business Explorer tools. You call them from the SAP Easy Access Menu of your BI system.

Features
You call the following functions from the SAP Easy Access Menu of the BI system under SAP Menu Business Explorer Query:

Copying Queries between InfoCubes [Page 467] Deleting Query Objects [Page 468] Editing Sender/Receiver Assignments to the R/RI in the BI System [Page 531]

Enterprise Reporting, Query, and Analysis

466

Core Development Tasks Developing Business Logic

March 2006

4.2.2.11.1

Copying Queries Between InfoCubes

Use
With this function you can copy queries and their sub-objects (structures, calculated key figures and restricted key figures) between different InfoCubes.

The target InfoCube, that is, the InfoCube of the query copies, must contain all the InfoObjects of the source InfoCube (InfoCube of the original queries).

Procedure
...

1. In the SAP Easy Access Menu of the BI system, choose SAP Menu Business Explorer Query Copy. Double-clicking on Copy Queries brings you to the popup Copying Queries Between InfoCubes. 2. Select the required source and target InfoCube. 3. Choose Continue. This brings you to a selection box with all the queries of the source InfoCube. 4. Select a query from those available.

You have the following options for selecting multiple queries. To make several selections from the list, select the required queries with a mouse click and the Ctrl key. If you want to select several queries that follow each other in the list, you can select whole blocks by holding down the Shift key.

5. Choose Transfer Selections.

Make note of the following if you are working with reusable subobjects such as variables, structures, calculated key figures and restricted key figures:

Variables are not dependent on InfoCubes, so variables are not copied. If you have selected several queries to be copied and they refer to sub-objects that follow each other in the list, only one copy is made for each of the sub-objects. The references of the copied queries remain. New sub-objects are created when queries are copied again. This means the references to queries that have already been copied are lost.

Result
The copied queries and the copied sub-objects have their own names. The new names are derived from the name of the original object and the added elements _<number>.

Enterprise Reporting, Query, and Analysis

467

Core Development Tasks Developing Business Logic

March 2006

This does not affect variables, since they are not copied.

Example
The queries weekly report, monthly report and annual report use company code as a variable and the calculated key figure contribution margin. If you now copy the queries weekly report and monthly report into another InfoCube, the queries weekly report_1 and monthly report_1 as well as the calculated key figure contribution margin_1 are created. The new queries now refer to the new key figure contribution margin_1 and the variable company code. If you then copy the queries quarterly report and annual report, a new calculated key figure, contribution margin_2, has to be created as a copy of contribution margin. Quarterly report_1 and annual report_1 then refer to contribution margin_2 and not contribution margin_1. Company code is still used as a variable.

4.2.2.11.2

Deleting Query Objects

Prerequisites
You have already defined at least one query, or a structure, or a restricted or calculated key figure.

Procedure
...

1. In the SAP Easy Access Menu of the BI system, choose SAP Menu Business Explorer Query Delete Objects. This brings you to a selection screen. 2. Choose the type of object to be deleted (query, structure, restricted key figure or calculated key figure). 3. Where necessary, restrict your search further, for example, to a certain InfoProvider, to certain technical names or to the last person to make a change. 4. Choose Execute. You get a list of all query objects that match the selection criteria. The list contains the technical names of the query objects, the name, and the long description of the InfoProvider, for which the objects are defined. 5. Select the objects that you want to delete.

Choose 6. Choose Transfer.

to select all of the objects.

Option of Deleting Workbooks after Deleting Queries


After you have deleted a query, you can decide whether you also want to delete all the workbooks that contained a query which has now been deleted. All users can delete workbooks from any of their favorites and roles. This means there is no risk of accessing workbooks with deleted queries in.

Enterprise Reporting, Query, and Analysis

468

Core Development Tasks Developing Business Logic

March 2006

Result
The query objects you specified are deleted.

4.2.3
Purpose

Customer and Partner Content

Content that customers or consultancy partners of SAP Business Warehouse deliver to their business areas or customers themselves is referred to as customer or partner content. The functionality of the customer or partner content enhances and expands the options for use of the Business Content delivered by SAP. The concept and technical conversion of customer and partner content are largely similar. You can find more information about customer content under Customer Content [Page 469]. You can find more information about the features that distinguish partner content from customer content under Partner Content [Page 525].

Integration
The documentation for the customer or partner content requires knowledge of the following sections of the documentation to its thematic similarity:

Business Content (Versions) [External] Transport System [External]

These sections describe the standard functionality without considering specific features of customer or partner content.

4.2.3.1

Customer Content

Purpose
Customers and partners of SAP BW can develop their own content and deliver it to their business units. In the following text we refer to these business units as customers of SAP BW. This means that SAP BW customers can also modify and change SAP Business Content to a certain extent. However, whenever new SAP Business Content is delivered you have to compare the different versions manually.

Features
Customer content covers the following areas:

Structure of customer-specific system landscape (see System Landscape [Page 470]) Delivery of SAP Business Content by SAP Development of customer-specific content by customers Changing SAP Business Content Delivery of customer content by customers to their own customers.

Enterprise Reporting, Query, and Analysis

469

Core Development Tasks Developing Business Logic

March 2006

Constraints
Namespace for Developing BI Objects

You can use your own namespace (see Using Namespaces for Developing BW Objects [Page 475]).

Note Special Features When Transporting Roles [Page 496]. We recommend that you use the following schema when allocating the namespace: delivery namespace /ABC/ customer namespace /ABC/C_. This corresponds to the SAP namespaces for roles (delivery namespace SAP_BW_ customer namespace SAP_BWC_). However this means that you cannot create roles that begin with the letter C.

Delivery of BI Objects
We recommend that you deliver customer content using the Add-On Assembly Kits instead of using transports, as described in the following documentation. You use this tool to combine the BI objects that you have developed into one Add-On. Furthermore it allows you to determine the installation requirements (such as a certain requisite SAP Release) in the systems of your customers. You can further simplify the maintenance of the content you deliver by providing your own release and support package status for the delivery. You can then always see which content version is installed in your customer systems. The Add-On Assembly Kit is not part of SAP NetWeaver and has to be purchased separately. No additional tools are required in your customers systems: The transactions for implementing your Add-Ons are available in all SAP systems.

If you want SAP to certify your content, send an email to the Integration and Certification Center (icc@sap.com). Here you can purchase the Add-On Assembly Kit together with an Add-On certification contract. If you do not want SAP to certify your content, you can purchase the Add-On Assembly Kit from the Add-On Assembly Kit Implementation Service (AAKIS). For more information, see SAP Service Marketplace at service.sap.com/slo Repository Harmonization Detailed Information AAKIS.

4.2.3.1.1

System Landscape

Purpose
You need at least one BW system for Content development in order to deliver SAP Business Content and develop your own Content and deliver it as customer Content. If you want to develop extractors and DataSources you also need an OLTP system for Content development. SAP recommends that you connect a Content test system to each Content development system. In the BW Content test system you check whether customer-specific Content can be activated. You deliver a consolidated status from the test system to the OLTP and BW systems, for example, to your customers central system, as the delivery transport. A Content development system is an OLTP or BW system which is set as a Content system in its system settings.

Enterprise Reporting, Query, and Analysis

470

Core Development Tasks Developing Business Logic

March 2006

An OLTP Content development system must have the lowest source system release of all the customer systems to which the customer wants to deliver Content. You can also set up a user for whom the system behaves as a Content system by setting the appropriate parameters for this user.

For more information, see System Settings in OLTP Systems [Page 499] and System Settings in BW Systems [Page 472]. The following graphic shows the system landscape described:

BW0 Content Development System

BW1 Content Test System

Customer OL2 Development System

Customer OL3 Integration System Customer

OL0 Content Development System

OL1 Content Test System

Delivery Transport Customer Content Development

Do not transport out of the Content development system but out of the Content test system. Only transports that have been released exist in this system so unlike in the Content development system, the objects in this system are consistent. To deliver Content, collect the Content requests in the Content test system and build one or more delivery transports from them. Merge the transport requests run in this system in the target request. The programs required to do this are available in the Transport Organizer Tools (SE03).

For more information, see Transport Organizer [External], in particular Transport Organizer (Enhanced View) [External]. The right-hand side of the graphic shows a normal customer system landscape (consisting of three levels) to which SAP BW customers deliver customer Content. A system landscape of this type consists of one OLTP and one BW system as the development, integration (or consolidation), and productive systems. You can develop the landscape further according to the needs of the individual customer, for example, by connecting a separate training system parallel to the production system.

Enterprise Reporting, Query, and Analysis

Customer OL4 Production System

OLTP

Customer BW4 Production System

Customer BW3 Integration System

Delivery Transport

Customer BW2 Development System

BW

471

Core Development Tasks Developing Business Logic

March 2006

4.2.3.1.2

System Settings in the BW System

Purpose
Using special system settings you are able to use a system as a content development system and determine user-specific system responses.

Process
...

1. Activate all required Business Content Objects with the BW-specific transport system. Active Objects (A-TLOGO) should generally be created in package $TMP. You can find additional information under both Transferring Business Content [Page 344] and Standard andBW Transport Connection (A Comparison) [External]. 2. Set the system setting for your BW system to content system. On the Administrator Workbench: Business Content screen, choose Edit Content System Administration. The Content System Administration screen opens (transaction RSOCONTENT). Set the indicator for System Is Content Development System. Your BW system is now a content system.

We recommend that you do not reset these system settings after having created objects. 3. We recommend that you activate the standard transport system so that new objects are automatically recorded. You can find additional information under both Standard and BW Transport Connections (A Comparison) [External] and Activating/ Deactivating Standard Transport Systems [External] . 4. If not all Business Content objects were activated or SAP has delivered new Business Content, you can reactivate the Business Content in your content system. As the Business Content view is not active in a content system, you have to set up a specific user, for whom the system responds as if it were not a BW content development system. Furthermore we recommend that you deactivate the standard transport system for this user. In doing so you are able to ensure that objects are not inadvertently transported into the A version and delivered. a. Call up the user maintenance transaction (SU01). You can find additional information under Creating and Maintaining User Master Records [External]. b. Assign a blank character as the parameter value for the parameters RSOISCONTENTSYSTEM and RSOSTANDARDCTOACTIVE for the user who is to activate the Business Content.

With regard to these parameters, the following are possible:


If the parameters are not entered, the system settings are effective for the user. If the parameters are entered, the system settings are no longer effective for the user.

Enterprise Reporting, Query, and Analysis

472

Core Development Tasks Developing Business Logic

March 2006

RSOISCONTENTSYSTEM: According to the value entered for this parameter the system is either treated as a BW content development system (parameter value: X) or is not treated as such (parameter value: blank character). RSOSTANDARDCTOACTIVE: According to the value entered for this parameter the standard transport system is either activated (parameter value: X) or deactivated (parameter value: blank character).

4.2.3.1.3

Delivery of Business Content by SAP

Purpose
The standard procedure used in the delivery of Business Content by SAP is the model for the delivery of Content by customers and partners. The basis of this process is the versioning of BW objects: SAP delivers Business Content objects in the SAP Delivery Version (D version). The objects are imported into the customers system in the D version. If the customer changes Business Content objects these are saved in the M version. You need to transfer these objects into the active version (A version) in order to be able to work with them.

You can find additional information on object versions and the delivery process for Business Content from SAP under Business Content (Versions) [External] Upgrading SAP Business Content has no effect on the BW objects that you already use productively, since only the D version is overwritten. The following graphic shows how SAP Business Content objects are used in a customer system with a double delivery:

Enterprise Reporting, Query, and Analysis

473

Core Development Tasks Developing Business Logic

March 2006

Version
M(odified)

1 1
A(ctive)

1 1 1 1

2 1 2 1 1 2

2 1 2 1 3 2

4 2 2 1 3 2

4 2 4 2 3 2

D(elivery

1 1

1 1

1 1

1. Installation Change of Business Content (copy) 1. Delivery by SAP

2. Installation of Business Content (Merge)

2. Delivery by SAP

Process
In the SAP Content delivery system, BW objects are copied automatically into the D version when you activate them. There are two logical transport objects for each BW object: An A object and a D object. In accordance with the system settings, the system writes the suitable TLOGO object to the transport request. When a Content system is involved, the system chooses the D TLOGO object.

You can find additional information on transport-relevant metadata object types in the Business Information Warehouse under Transport-Relevant Metadata Object Types [External]. The following graphic shows the delivery process for SAP Business Content:

Enterprise Reporting, Query, and Analysis

474

Core Development Tasks Developing Business Logic

March 2006

SAP Content Delivery System M(odified) A(ktive) D(elivery) create activate 1 1 1 1 1 1 1 1 change Import Customer System M(odified) A(ktive) D(elivery) 1 1 Content: activate 1 1 1 1 1 1 change 4 4 1 1 1 1 2 2 1 1 1 1

The A version is copied automatically into the D version only in the content delivery system Export (D Object)

In the customer system, changes to the BW objects are saved in the active version. However, they are not automatically copied to the D version when you activate them.

4.2.3.1.4

Using Namespaces for Developing BI Objects

Use
To avoid naming conflicts with a customers local objects, customer content has to be developed in its own namespace. You can either use your own namespace or an agreed upon subarea of the standard customer namespace (A* to Z*): 1. Scenario: Your own namespace for developing customer content We recommend that you use your own namespace. Namespaces in the form /ABC are reserved for customer content development. To designate a BI object as having been developed in a namespace of this type, enter the technical name of the object together with the namespace.

An InfoObject can have the technical name /ABC/MATERIAL, for example. For customers, using a special namespace for developing customer content is optional.

Partners have to develop their partner content in their own development namespace. 2. Scenario: Standard namespace for developing customer content

Enterprise Reporting, Query, and Analysis

475

Core Development Tasks Developing Business Logic

March 2006

As a customer you can also develop customer content in the standard customer namespace (A* to Z*). In this case, however, you have to make sure that the content objects and the recipients personal objects are located in different subareas of your namespace.

You can split your standard customer namespace so that, for example, A* to D* is reserved for customer content development and E* to Z* is reserved for the development of personal objects. In the source system note that for the application component hierarchy, the default customer namespace Y* and Z* is available. The rest of this topic further explains how you can set up and use your own namespace for developing customer content, as detailed in the first (recommended) scenario.

Prerequisites
In order to apply for namespaces you require an ABAP development license (ABAP/4 Development Workbench License).

For more information on applying for a namespace, see SAP Note 84282.

Procedure
...

1. Apply for a development namespace in the Service Marketplace at service.sap.com/namespaces. 2. Apply for a generation namespace as well as a development namespace. You apply for this in the same way as you apply for the development namespace.

If you are using more than one development namespace, you require a generation namespace for each one. The name of the generation namespace must correspond to the following rules: The name can have a maximum of seven characters, including a slash ("/"). The name has to start with the letter B and then consist only of numbers.

/B2345/ or /B24/ The descriptive text starts with BWGEN. Finally the namespace to which it is assigned is specified.

"BWGEN generation namespace for /ABC/ company ABC ...". The shorter the name of the generation namespace, the more significant characters you have available for the technical name of the BI object. 3. Release the development namespace and the generation namespace in BI and the OLTP system. (Use the same namespaces in both systems). To do this, enter the namespace and the repair license in the namespace table in your development system. From the Transport Organizer Tools (transaction SE03), choose

Enterprise Reporting, Query, and Analysis

476

Core Development Tasks Developing Business Logic

March 2006

Administration Display/Change Namespace. The View Display Namespaces in the Repository: Overview screen appears. (In the OLTP system the paths may differ from release to release.) Unlike the development namespace, you only enter the generation namespace with role C (customer). Therefore you only need a repair license.

You can only create generated objects in the generation namespace. If you create your own, non-generated objects in the generation namespace there is a danger that these may be overwritten by objects generated in the BI system. For this reason you should only ever use the development namespace for nongenerated objects. 4. Enter the namespace in your BI system. You can edit BW namespaces in transaction Maintain BW Namespaces (transaction RSNSPACE). Because this transaction uses a transport connection, your entries are written to a request and can therefore be transported to a target system. The system writes partner and customer namespaces such as /ABC/ to table RSPSPACE. Table RSNSPACE contains the BI standard namespaces such as /BI0/ and /BIC/. In the OLTP system, set the namespaces to changeable. You make this setting in Transport Organizer Tools (transaction SE03) Administration Setting System Change Option. The System Change Option screen appears. Here you can set the namespaces to Changeable. (In the OLTP system the paths may differ from release to release.) 5. When you use a namespace you should create a package with the same namespace prefix (such as /ABC/PACK).

Result
You have created a development namespace and a generation namespace. Note that the length of the names of BI objects that are located in these namespaces is restricted. The following table contains some examples. Prerequisite: These examples are based on the assumption that your development namespace has N characters and your generation namespace has G characters. (Note that the slashes count as well, for example namespace /ABC/ has five characters). Maximum Length of Names of BI Objects BI Object Type Maximum Length Acc. to Namespace

Enterprise Reporting, Query, and Analysis

477

Core Development Tasks Developing Business Logic

March 2006

InfoObject

The maximum length corresponds to the smaller of either: 14 characters - G or 14 characters N.

If you are not using analysis authorizations (see Authorizations [External]) but are using the reporting authorizations of the previous authorization concept, the following length restrictions also apply for authorization-relevant characteristics: With authorization-relevant characteristics /ABC/NAME, the field name for the authorization fields must not have more than 10 characters. If the field name of characteristic /B24/<NAME> is longer, you have to define a shorter authorization field name explicitly in InfoObject maintenance. For more information about the previous concept of reporting authorizations, see Previous Concept for Reporting Authorizations [External]. InfoCube DataStore Object InfoSource InfoSet DataSource 14 characters G 13 characters G 25 characters G 14 characters G 30 characters G

Also note that existing BI objects cannot be copied into the namespace automatically. To put an existing object in the namespace you have to create a new object in the namespace as a copy of the required object.

See also:

Special Features When Transporting Roles [Page 496]

4.2.3.1.5

Object Changeability in a Customer Content System

Use
Because changes to objects from SAP Business Content require a comparison and thus require manual efforts, we recommend that you do not change objects if at all possible. Nevertheless if you do want to change SAP objects, we recommend that you limit this to a few very important objects (see Content Delivery by Customers [Page 479] and InfoArea, Application Components and InfoPackage Group [Page 497]). To prevent customer changes from getting lost with a new delivery of SAP Business Content, the BW Content System does not allow objects delivered by SAP to be changed as a default. The following exceptions to this rule exist in a customer content system. Object changeability in a customer content system The following objects can be changed in a customer content system:

Objects in the namespace of the role P (Producer) Objects in standard customer namespace (A* to Z*)

Enterprise Reporting, Query, and Analysis

478

Core Development Tasks Developing Business Logic Changeability for other objects

March 2006

You can set other objects imported into your system to changeable by making entries in Content System Administration (see Activities).

Prerequisites
You have set the customer development system as a content development system. You can find more information under System Settings in the BW System [Page 472].

Activities
... ...

1. On the Administrator Workbench: Business Content screen, choose Edit Content System Administration. The Content System Administration screen opens (transaction RSOCONTENT). 2. Choose Switch External Content Objects to Changeable. The Changeable Objects in Customer/Partner Content System screen appears. 3. Enter those objects that should be changeable into the table with their Object Type and Object Name. Generic entries (with */?) are also possible.

For example, if you want to change all objects that begin with the character string 0AB to changeable, enter 0AB* into the Object Name field. 4. Choose the mode of changeability. The following mode are available: Object Is Not Changeable. This option is the recommended default setting. Object Changeable, No CTO Connection (D Version unchanged): Only use this option for testing purposes, for example, if you want to set an object to changeable, without transporting it immediately with the Change and Transport Organizer (CTO). Object Changeable, with CTO Connection (D Version Will Be Adapted): In order to be able to set objects to changeable and to transport them in exceptional cases, we recommend this option.

4.2.3.1.6

Content Delivery by Customers

Purpose
1. Scenario The simplest scenario is made up of the following processes:

You develop your own Content. You do not use Business Content delivered by SAP or only in an unchanged form. You deliver only your own Content to your customers.

2. Scenario

Enterprise Reporting, Query, and Analysis

479

Core Development Tasks Developing Business Logic

March 2006

You also changes the Business Content delivered by SAP and deliver the modified Business Content to your customers. However, this more complex scenario requires additional manual work.

We recommend that you change no objects or very few of them (see Object Changeability in a Customer Content System [Page 478]).

Prerequisites
You have set up the customer system as a Content development system (see System Settings in the BW System [Page 472]). You have transferred all required SAP Business Content objects from Content with the special user. (See System Settings in the BW System [Page 472]).

Process
1st Scenario: Developing Your Own Customer Content
You need to follow the following procedure when delivering customer Content you have developed yourself.
...

1. Create the required objects in your Content development system and activate those of which are firstly created in the M version (1. M-Version 1. A-Version). The system copies the activated objects automatically into the D version (1st D-Version).

If you want to transport the objects that you have already created before you have set the system setting for your BW system to content system, all you have to do to is activate them by copying them to the D version. 2. The system wrote your Content objects to the transport requests as the standard transport system has been activated. Release these requests. Your Content objects are transported from the Content development system into the Content test system. 3. Deliver the objects in the D version from the Content test system with a delivery transport (see System Environment [Page 470]). Make sure that no A-TLOGO objects are transported. Additional changes (2nd M Version) do not affect the delivery as long as these objects are not activated. The following graphic illustrates this process:

Enterprise Reporting, Query, and Analysis

480

Core Development Tasks Developing Business Logic

March 2006

Customer Content System (Central) M(odified) A(ctive) D(elivery) create Import Business Area M(odified) A(ctive) D(elivery) 1 1 Activate Content 1 1 1 1 1 1 Change 4 4 1 1 1 1 activate 1 1 1 1 1 1 1 1 change 2 2 1 1 1 1 Export (D Object)

The following graphic illustrates the delivery of customer Content that was developed in an individual customer namespace /ABC/ (see Using a Namespace for the Development of BW Objects [Page 475]). The objects are exported in the D version. The InfoObject 0MATERIAL are only used, and not delivered.

Customer Content System (Central)


InfoCube /ABC/IC1

Export (D Object)
InfoCube /ABC/IC1 InfoObject /ABC/IO01

InfoObject 0MATERIAL

InfoObject /ABC/IO01

Import Business Area


InfoCube /ABC/IC1

InfoObject 0MATERIAL

InfoObject /ABC/IO01

Enterprise Reporting, Query, and Analysis

481

Core Development Tasks Developing Business Logic

March 2006

2nd Scenario: Adapting SAP Business Content


In many cases, it is more effective to use/adapt Business Content delivered by SAP instead of using ones own Content as a basis. Within customer Content, you can deliver the adapted Business Content to your customers. The delivery procedure is very much the same as described under scenario 1. However, you also need to change the objects you want to adapt to changeable in table RSOCONTCHNGABLE (see Object Changeability in a Customer Content System [Page 478]). Delivering Modified Business Content after Importing an SAP Support Package or after an Upgrade

Note that after upgrading again or after importing an SAP support package, changes you made as a customer to any BC object delivered by SAP are lost when SAP delivers this object again.

We recommend the following procedure:


...

a. Import the SAP support package into your Content development system. b. Build a correction-delivery transport. c. As quickly as possible after importing the SAP support package, deliver your correction-delivery transport from the Content system into the junior systems. The following graphic looks at the recommended procedure in detail:
...

Customer Content System (Central) M(odified) A(ctive) D(elivery) 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 Merger (Special Users) - optional 4 4 4 4 3 3 Activate 4 4 4 4 4 4

Change Business Content Objects

Update Delivered SAP Business Content

The procedure depicted in the graphic is made up of the following steps: 1. Activate all Business Content objects delivered by SAP (1st A version). 2. Make the required changes (2nd M version).

Enterprise Reporting, Query, and Analysis

482

Core Development Tasks Developing Business Logic

March 2006

3. Activate the changed objects (2nd A version). The system copies the activated objects automatically into the D version (1st D-Version). 4. You can deliver your customer Content in the D version (2nd D version). 5. If SAP chooses to redeliver Business Content in a support package or in an upgrade (3rd D version), you need to reproduce your objects in the D version.

In the Business Content function area of the Administrator Workbench, choose the view Objects in BW Patch. Check to see which objects SAP has delivered in the current support package. Within an upgrade, it is probably the case that most of the objects are delivered again. To reproduce your objects in the D version, you can proceed in various ways: Without Merge Usually, the customer only needs his own version (2nd version). In this case, all that is required is to reactivate the objects (with a normal user). As a result, the D version delivered by SAP is automatically overwritten (this is the 3rd D version). However, using this procedure means that all enhancements made by SAP are lost. With Merge If you want to keep enhanced made and delivered by SAP, you can merge the new Content version (3rd D version) with the active version (2nd A version). This is then the 4th M version. Check which objects SAP has just delivered. You only need to include an object in your correction request when you have made changes to it. The following table gives you an overview of the object types for which merge is automatically available. If automatic merge is not available, you need to manually compare the two versions (2nd A version and 3rd D version) and adapt them where necessary. Availability of Automatic Merge for Object Types With Automatic Merge Report-report interface, RRI recipient of the InfoCube, RRI recipient of query. DataSource / FileSource InfoCube InfoObject Without Automatic Merge Aggregate Application components Crystal Report Query element: Query, structure, restricted and calculated key figures, variables Update rules InfoArea InfoPackage InfoPackage Group InfoSet, Classic InfoSet InfoSet query

InfoObject Catalog Data Mining: Mining model, Model source MultiProvider ODS Object Process Chains Transfer rules

Enterprise Reporting, Query, and Analysis

483

Core Development Tasks Developing Business Logic

March 2006

InfoSource Source system Query view Reporting Agent: Reporting Agent scheduling package, reporting agent setting Role Currency translation type Web item Web template Workbook

Note: You need to merge the versions with the preferred user for which the system is not a Content system and the standard transport system has been deactivated (see System Environment [Page 470]). If objects are to be written not to package $TMP but to another transportable package, the requests for this user are not released and transported. Afterwards, you need to once more activate the Content with a normal user, so that the objects are copied into the D version. If the activation is not to take place as no changes were made, you may need to make a pseudo change to the objects. 6. Upon activation, objects are written to tone or more transport requests. Transport the transport request(s) into the test system, and create a correction delivery transport from it. 7. Deliver your correction delivery transport to all junior systems as quickly as possible after the SAP support package has been installed.

4.2.3.1.7

Transport and Delivery of Source System-Dependant Objects

Use
To facilitate understanding of this topic, this section contains information on transports in general. It is not objects themselves that are transported into a BW system but the meta information that is required to generate an object in the target system. Source system-dependant objects are notably dependant on circumstances in the target system. They can be distributed, even physically, to a BW system and a source system. As a result, particular requirements often exist in relation to source system-dependant objects, such as the following: An object that was created in the original system for a source system A, should be created in the target system for another source system B

Enterprise Reporting, Query, and Analysis

484

Core Development Tasks Developing Business Logic

March 2006

As the definition of a connection to a source system always depends on both sides, the source system and the BW system, an object that was created in both the source and target systems for one and the same source system physically has two different connections to this system.

Therefore, with source system-dependant objects, a logic runs that defines the name of, and connection to the source system for which the import and activation of the content is to be executed. Delivery (content-specific) As with the delivery of SAP Business Content, the name of the source system is normally also of little relevance with the delivery of customer Content. This is because the customer has other source systems connected as the Content development system. Therefore the source systems of source system-dependant objects are made anonymous before delivery and replaced by their release status. This means source system-dependant objects need to be delivered with their own tables. These carry the release instead of the source system in their key. These tables are called shadow tables. Transport (general) The key (name) of the source system-dependant objects in the target system differs from the key for the object in the original system. This means the meta information cannot be imported in the same version as it exists in the original system (A or M version). In the event, there could be other objects in the target system that have the same key as the object in the original system. Therefore source system-dependant objects are imported in their own version, the T (transport) version. After-import methods act on the T version and generate the modified and active version from this.

Features
The following table offers an overview of the different types of source system-dependant objects: Source system-dependant objects Type of Object Source system-dependant object, carries the source system directly in its key Example Transfer rule DataSource BBS receiver for the InfoCube BBS receiver for the query Source system-dependant object, carries the source system in its key in coded form Source system-dependant object, carries a GUID [External] (Globally Unique Identifier) in its key Source system-independent object, refers to a source system-dependent object Transfer Structure InfoPackage

Process chain Process chain variants (PSA processes)

In the first three cases the keys change. In this way, a distinction can be made between their D and A tables.

Enterprise Reporting, Query, and Analysis

485

Core Development Tasks Developing Business Logic See also:

March 2006

Transfer Rule and DataSource [Page 486] Transfer Structure [Page 488] InfoPackage [Page 490] Process Chains and Process Chain Variants [Page 492]

4.2.3.1.7.1

Transfer Rule and DataSource

Definition
Transfer rules (active object: ISMP/ delivery object: SHMP) and DataSources (active object: ISFS/ delivery object: SHFS) are source system-dependent objects that carry the source system directly in their keys.

You can find additional information on these BW objects under Processing Transfer Rules [External] and DataSource [External].

Structure
Key fields of a transfer rule (ISMP/ SHMP) Version A (active) / M (modified) / T (Transport) ISMP D (Delivery / Content) - SHMP Key Fields DataSource, source system, object version DataSource, source system release

The T version is used for a normal transport. The source system codes are converted by the RSLOGSYSMAP table. Features transporting Content objects: Transfer rules (SHMP) are the only Content objects, as far as the InfoSource is concerned, that have an after-import method. This after-import method multiplies the release-dependent shadow table (not the source system-dependent shadow table) and so finds the best Content release for each source system. In this way, Content is generated for each source system. The system executes the same logic when a new source system is connected. The appropriate Content for this system is likewise generated from the shadow table.

This multiplication is carried out by the function module RSAOS_PSEUDO_DVERSION_UPD. Subsequently, the Content version of an object caries the source system in its key. When the Content is activated, the objects for this source system can be activated. Key fields of a DataSource (ISFS/ SHFS) Version Key Fields

Enterprise Reporting, Query, and Analysis

486

Core Development Tasks Developing Business Logic

March 2006

A (active) / M (modified) / T (Transport) ISFS D (Delivery / Content) - SHFS

DataSource, source system, object version DataSource

As a DataSource (SHFS) in the BW is only delivered for file or BAPI systems, the release for these objects, unlike transfer rules, always remain initial. Therefore the source system release does not exist as its own field in the key. You can find additional information on the delivery of DataSources in the OLTP system under Delivery and Use Customer Content in the Source System [Page 504].

Example
The following example aims to show what you need to pay attention to, as far as transfer rules are concerned, regarding customer Content and the delivery of source systemdependent objects having the source system in their keys. The Content development system is connected to the following source systems:

Source system Q1, Release 3.1 Source system Q2, Release 4.5 Source system Q3, Release 4.5

The target system of the customer is connected to the following source systems:

Source system X1, Release 3.1 Source system X1, Release 4.0

The left-hand side of the following graphic shows the code conversion from the A version to the shadow version in the Content development system. As a result of this code conversion, the source system is replaced by its release. As Q2 and Q3 have the same release status, the shadow version only contains two data records. The shadow table is generated automatically when this is activated.

Avoid using the same DataSource with the same names, in different source systems that have the same release status. In this case only one delivery object is generated in the shadow table. This is compiled from the information in the different source systems. If this leads to a conflict, the most recently activated object has priority. This is also true for the Transfer Structure [Page 488].

We recommend that you always set up a customer content development system for each customer release. The shadow version is delivered 1:1. The right-hand side of the graphic shows the processes in the customer system. The D version is generated from the shadow version in the first afterimport step. The system searches for the appropriate release in the content for source system X1 and finds 3.1. As there is no release 4.0 in the Content, the system takes the next release back, which is 3.1. By activating the Content the D version is copied into the A version.

As a customer, code upwards compatibility (additive).

Enterprise Reporting, Query, and Analysis

487

Core Development Tasks Developing Business Logic

March 2006

Content A Version
LOGSYS 0CUSTOMER 0CUSTOMER 0CUSTOMER Q1 Q2 Q3 0CUSTOMER 0CUSTOMER

A Version
LOGSYS X1 X2

Shadow Version
SAPREL 0CUSTOMER 0CUSTOMER 3.1 4.5

Shadow Version
SAPREL 0CUSTOMER 0CUSTOMER 3.1 4.5

Content Activation D Version


LOGSYS 0CUSTOMER 0CUSTOMER X1 X2

Content Delivery

After-Import Method

See also:

Transport and Delivery of Source-System Dependent Objects [Page 484]

4.2.3.1.7.2

Transfer Structure

Definition
The transfer structure (active object: ISTS / delivery object: SHTR) is a source systemdependant object. It does not carry the source system directly, but uses a transfer structure prefix that is coded in its key.

You can find additional information about this BW object under Transfer Structure [External].

Structure
Key Fields of a Transfer Structure (ISTS / SHTR) Version A (active) / M (modified) / T (Transport) - ISTS D (Delivery / Content) - SHTR Key Fields DataSource with coded connection, object version DataSource, source system release

Enterprise Reporting, Query, and Analysis

488

Core Development Tasks Developing Business Logic

March 2006

As a transfer structure (A/ M version) carries a transfer structure prefix in its key, its name is replaced with the name of the transfer rule for which it is valid, before delivery. This is the virtual key. As a result, a transfer structure in the D version also has the release in its key.

More detailed information on this conversion is given in the example below. As the target tables in the customer system do not carry the source system in a key, the shadow tables of the transfer structure are not physically multiplied, as those in the transfer rule are. With a transfer structure, this multiplication, (the replacement of the release status by the respective source system), takes place while the objects are being collected for content activation. The object collector then operates with virtual transfer structure names that have no physical correspondent. The system finds the transfer structure prefix, and with it the new name for the transfer structure, by identifying the source system. When the system reads the transfer structure suitable for this source system from the Content, it takes the transfer structure with the nearest lower release to the release for the source system.

Example
The following example aims to show what you need to be aware of when delivering transfer structures within partner Content. The Content development system is connected to the following source systems:

Source system Q1, Release 3.1 Source system Q2, Release 4.5 Source system Q3, Release 4.5

The transfer structure does not have the source system (field LOGSYS) in its key, but the name of the DataSource. This is the expanded transfer structure prefix name. The table RSBASIDOC shows to which source system with which release status a transfer structure prefix is assigned. Table RSBASIDOC SLOGSYS Q1 Q2 Q3 SAPREL 3.1 4.5 4.5 TSPREFIX QA QB QC

The customers target system is connected to the following source systems:


Source system X1, release 3.1, transfer structure prefix XA Source system X2, release 4.0, transfer structure prefix XB

The left-hand side of the following graphic shows the code conversion from the A version to the D version in the Content development system. Note that only the first column (TRANSTRU) is a key field. The system writes the name of the DataSource (OLTPSOURCE) to the field TRANSTRU in the D version and accesses the release status of the source system (SAPREL) from the transfer structure prefix. As a result the name of the transfer structure is replaced in the D version with the name of the transfer rule for which the transfer structure is valid. As Q2 and Q3 have the same release status, the D version only contains two data records.

Enterprise Reporting, Query, and Analysis

489

Core Development Tasks Developing Business Logic

March 2006

Avoid using the same DataSources with the same names, in different source systems that have the same release status. See the notes in the section Transfer Rule and DataSource [Page 486]on this. The D version is delivered 1:1. The code conversion on the right-hand side corresponds, in principle, to that of the transfer rule. Here, however, it actually shows the features described above (virtual transfer structure name).

Content

A-Version
OLTP SOURCE LOG SYS

A-Version
TRANSTRU OLTP SOURCE LOG SYS

TRANSTRU

0CUSTOMER_QA 0CUSTOMER Q1 0CUSTOMER_QB 0CUSTOMER Q2 0CUSTOMER_QC 0CUSTOMER Q3

0CUSTOMER_XA 0CUSTOMER X1 0CUSTOMER_XB 0CUSTOMER X2

D Version
TRANSTRU 0CUSTOMER 0CUSTOMER SAPREL 3.1 4.5

Content Activation D Version


TRANSTRU 0CUSTOMER 0CUSTOMER SAPREL 3.1 4.5

Content Delivery

See also:

Transfer Rule and DataSource [Page 486] Transport and Delivery of Source System-Dependent Objects [Page 484]

4.2.3.1.7.3

InfoPackage

Definition
An InfoPackage (active object: ISIP/delivery object :SHIP) is a source-system dependent object that has the GUID as key. There is one object for each source system.

You can find additional information about this BW object under Maintaining an InfoPackage [External].

Enterprise Reporting, Query, and Analysis

490

Core Development Tasks Developing Business Logic

March 2006

Structure
Key Fields of an InfoPackage (ISIP/SHIP) Version A (active) / M (modified) / T (Transport) - ISIP D (Delivery /. Content) - SHIP Key Fields GUID GUID Data Fields Source System Source system release

As the source system does not exist in the key, but is contained within the data part, the InfoPackage objects is also delivered as a shadow table.

Example
The following example aims to show what you need to be aware of when delivering InfoPackages within partner Content. The Content development system is connected to source system Q1. There is exactly one InfoPackage with GUID1 for this source system. In the customer system, this InfoPackage is to be activated for several source systems with the same release status:

Source system X1, Release 4.0 Source system X2, Release 4.0

Accordingly, the InfoPackage is copied into the A version twice. The logic behind this is the same as for transfer rules (see Transfer Rules and DataSource [Page 486]). Conversion is carried out by RSSM_SHIP_PSEUDO_DVERSION_WIR. The copies contains GUID3 and GUID4.

Content A Version
GUID GUID1 LOGSYS Q1

A Version
GUID GUID3 GUID4 LOGSYS X1 X2

Content Activation Shadow Version


GUID GUID2 SAPREL 4.0

Shadow Version
GUID GUID2 SAPREL 4.0

D Version
GUID GUID3 GUID4 LOGSYS X1 X2

Content Delivery
When SAP delivers again, you need to know from which InfoPackage GUID3 and GUID4 are derived. This information is stored in table RSSHIPDVERS:

Enterprise Reporting, Query, and Analysis

491

Core Development Tasks Developing Business Logic Table RSSHIPDVERS LOGDPID_SH GUID3 GUID4 LOGSYS X1 X2 LOGDPID GUID2 GUID2

March 2006

See also:

Transport and Delivery of Source-System Dependent Objects [Page 484]

4.2.3.1.7.4

Process Chain and Process Variant

Definition
Process chains (active object: RSPC / delivery object: DSPC) and process variants (active object: RSPV / delivery object: DSPV) are not source-system-dependent objects. However, they can reference source-system-dependent objects.

For more information about these BW objects, see Process Chains [External] and Processes [External].

Structure
Process chains and process variants are normal transport objects. The key of these objects is the same key in the target and original system. However, process chains and process chain variants can reference source-system-dependent objects.

A process chain that references source-system-dependent objects (which have a GUID in the key) has this GUID in the VARIANT data field (see graphic). When Content is activated the keys of these fields are reassigned in the same way as the corresponding source-system-dependent object. The same differences exist between the A and D versions of the process chains and process variants. The following graphic shows the individual steps in reassigning keys in the example above. GUID1 references the InfoPackage. When you copy this into the D version, GUID1 is converted to GUID2. As in the example given in InfoPackage [Page 490], GUID2 is copied to GUID3 and GUID4 for the different customer source systems.

Enterprise Reporting, Query, and Analysis

492

Core Development Tasks Developing Business Logic

March 2006

Content A Version
CHAIN_ID PK1 VARIANT GUID1 CHAIN_ID PK1 PK1

A Version
VARIANT GUID3 GUID4

Content activation: caution when using several source systems D Version


CHAIN_ID PK1 VARIANT GUID2 CHAIN_ID PK1

D Version
VARIANT GUID2

Content Delivery

Example
The following example shows what you need to bear in mind when activating process chains using customer Content. All the source systems that you have selected as default systems are included when you activate a process chain in the customer system. For example, if you selected one SAP source system with release 4.0B and one with release 4.5B in the Select Source Systems as Default dialog, the object collector collects one InfoPackage for each source system. If you activate a process chain with this same setting, both InfoPackages are transferred to the process chain:

Enterprise Reporting, Query, and Analysis

493

Core Development Tasks Developing Business Logic

March 2006

Start Process Initial data load

InfoPackage for data load 2LIS_11_V_SSL_INIT_R3 4.0B

InfoPackage for data load 2LIS_11_V_SSL_INIT_R3 4.5B

ODSO data generated from LOADING 0PAK_DWUH3S0N8VJRIBNDFI31RP9HO

Further processing generated from ODSACTIVAT 0PAK_DWUH3S0N8VJRIBNDFI31RP9HO

SAP recommends that you only activate process chains for one source system as otherwise the subsequent process steps may be executed more than once (if the process chain is a periodic process chain) or too early (after the first InfoPackage is processed).

1. Scenario: Customer system with one source system


Choose the source system before you activate the Content.

2. Scenario: Customer system with several source systems


This involves additional manual efforts for the customer. They have to re-enter the relations in process chain maintenance after the event. Variant 1:
...

1. Select the relevant source system before you install the Content. 2. Collect the InfoPackage and activate it with the selected source systems. 3. Choose one of the source systems before installing the Content. 4. Collect the process chains and activate them with the selected source system. 5. Call up process chain maintenance. Add the InfoPackage process type Load Data to the process chain for the source system that you did not select before you activated the process chain. Add the process type AND (Last) and include the necessary relations so that the new InfoPackages are included. The following graphic shows how an InfoPackage is added subsequently for the source system at release 4.0B:

Enterprise Reporting, Query, and Analysis

494

Core Development Tasks Developing Business Logic

March 2006

Start Process Initial data load

InfoPackage for data load 2LIS_11_V_SSL_INIT_R3 4.0B

InfoPackage for data load 2LIS_11_V_SSL_INIT_R3 4.5B

AND 1

ODSO data generated from LOADING 0PAK_DWUH3S0N8VJRIBNDFI31RP9HO Further processing generated from ODSACTIVAT 0PAK_DWUH3S0N8VJRIBNDFI31RP9HO

Variant 2:
...

1. Select the relevant source system before you install the Content. 2. Collect the process chains and activate them with the selected source systems. 3. Call up process chain maintenance. Delete the relations that come from the Data Load process. Add the process type AND (Last) and include the necessary relations so that the new InfoPackages are included.

Content Development System


Avoid changing the source system release after delivering your customer Content. This can cause errors in a customer system with just one source system. The D version in the customer system is replaced when a new delivery takes place; however the old active version is retained when you activate because the source system is not the same.

See also:

Transport and Delivery of Source-System-Dependent Objects [Page 484] Transfer Rules and DataSources [Page 486] Transfer Structure [Page 488] InfoPackage [Page 490]

4.2.3.1.7.5

Error when Activating Partner Content

When delivering source-system objects within partner Content, errors may occur which require a specially adapted error analysis due to special features of these objects.

Enterprise Reporting, Query, and Analysis

495

Core Development Tasks Developing Business Logic Difficulties in Collecting Objects

March 2006

Transport objects for transfer rules (SHMP) and InfoPackages (SHIP) are shadow delivery objects. If you activate the delivered partner Content in the Business Content function area of the Administrator Workbench, the system searches in the D versions as if there shadow tables were not delivered. This is made possible due to the fact that after-import methods copied the shadow tables into the D version tables. Carry out the following checks if difficulties arise when collecting objects: Does the D version exist in the partner system? Yes. The problem lies in the object itself. No. Does the object appear in the shadow table? Yes. The after-import method has not been executed successfully. Copy again. You can use special function modules to do so. For transfer rules: RSAOS_PSEUDO_DVERSION_UPD writes a D version from the shadow tables and deletes the obsolete D version. For InfoPackages: RSSM_SHIP_PSEUDO_DVERSION_WIR creates the D version for an InfoPackage. No. A delivery error arose. Check whether the shadow table and the object exist in the Content delivery and development system and in the transport requests.

See also:

Transfer Rule and DataSource [Page 486] InfoPackage [Page 490]

4.2.3.1.8
Delivery

Features when Transporting Roles

Roles are not BW-specific objects and therefore do not exist in different versions (A/D). Instead, the delivery version and the active customer version are identified by namespaces. The delivering party determines a namespace in which they develop their Business Content.

SAP Business Content roles are identified by the prefix SAP_BW_ and are copied to the SAP_BWC_ namespace when you activate Business Content (see Transporting Roles [External]). If the delivering SAP BW customer uses a registered namespace (such as /ABC/) (see Using Namespace for Developing BW Objects [Page 475]), they must also use this namespace for the roles that they deliver. The system recognizes roles in this namespace as Content roles. These roles are copied to a customer namespace when they are activated from the Content.

Enterprise Reporting, Query, and Analysis

496

Core Development Tasks Developing Business Logic

March 2006

This customer namespace is proposed by the delivering party but can be changed by the customer. Activities You can make various settings in Content System Administration (transaction RSOCONTENT) depending on whether you are working in a Content system or a customer system. Choose Namespaces for Roles. You reach the screen Customer Namespaces for BI Content. In a Content system you can create new delivery namespaces. These are automatically written to transport requests. You propose a customer namespace with the first delivery. Changes to the customer namespace are not effective if the delivery namespace has already been transported to the customer. The set customer namespace remains the active one for your customer. In a customer system you can change the customer namespaces for roles. SAP recommends that changes are only made at the start of a project when roles have not yet been transferred from the Content.

If you change a customer namespace after roles have been transferred from Content, the relations between the transferred roles and the roles to be delivered are lost. A second customer version is generated if you transfer a new role of this type from the Content.

4.2.3.1.9

InfoArea, Application Component and InfoPackageGroup

Development and Delivery of Partner Content


1. Scenario: Nodes as Subnodes of the Root of the Tree on Required Position Create one or more nodes as subnodes for your partner content object by calling up the context menu for the root node of the relevant tree in the Modeling function area of the Administrator Workbench in the content development system. You can create however many additional nodes under this node.

You can find additional information under InfoArea, Application Component and InfoPackageGroup [Page 527] for the partner Content. 2. Scenario: Nodes as Subnodes of the Root of the Tree on Required Position If you create a node in the corresponding Administrator Workbench tree for your partner Content object, the system also registers nodes which mark their position in the hierarchy at the same time. Details Name Parent Child Description Superordinate application component (parent node) Subordinate application component Field name in table RSAPPL APPLNM_P APPLNM_C

Enterprise Reporting, Query, and Analysis

497

Core Development Tasks Developing Business Logic (child node) The system (only) enters the first subnode, even if there are several nodes. Next Next application component (neighbor node) APPLNM_N

March 2006

If you insert a node, under which your partner Content objects hang, in a particular position on the child level under the root node of the respective tree, the system inserts your partner Content node as NEXT in the predecessor node.

With the delivery of partner Content, the system tries to add a partner Content node in accordance with the table entries. If the tree in the partner system is structured differently than in the partner Content development test system, and as a result, the node cannot be assigned, the system then decides to insert the node under Non Assigned Nodes. The following graphic illustrates the relations between different objects for this node, under which all partner Content objects are placed, using the example of node Content1. Content1 should be inserted after node SAPI:

0SAP

Parent SAP1 Content1

Content1 inserted as Next in SAP1

Customer

Content11 Content12

Child

SAP2

Next

To enable the system to insert the node Content1 in the field APPLNM_N of its predecessor node SAP1 in table RSAPPL, you first need to set SAP1 to changeable. Do this by assigning the value 2 to the field CONTENT_CHANGE in table RSOCONTCHNGABLE: External Objects Also Changeable in D Version- CTO Connection. In this way, you ensure that the table entry (Content 1 as NEXT in SAP1) is also delivered to all junior systems. You can find additional information under Object Changeability in a Partner Content System [Page 478].

Enterprise Reporting, Query, and Analysis

498

Core Development Tasks Developing Business Logic

March 2006

4.2.3.1.10

Comparing ABAP Code

Routines in Transfer and Update Rules The Business Information Warehouse does not allow code to be compared in routines. In cases where you need to manage extensive ABAP code, we advise you to outsource this code to a function module. Code in function modules can be compared using the AAK. If you are interested in owning this product, speak to your SAP representative.

See also:

Start Routine in Transfer Rules [External] Creating a Transfer Routine [External] Update Routines and Start Routines [External] Creating Update Routines [External]

4.2.3.2

Customer Content in the OLTP System

Purpose
SAP BW customers are also able to develop their own Content in SAP source systems, referred to as OLTP systems in the following, and deliver this Content to their business areas. In the following text we refer to these business areas as Customers

Integration
If you want to deliver Customer Content, you have to deliver both Customer Content in the OLTP system as well as Customer Content in a BW system. Instructions on how to develop Content in a BW system can be found under Customer Content [Page 469] and Partner Content [Page 525]. The following documents are also relevant for the development of Customer Content in the OLTP system:

System Environment [Page 470] Namespace for the Development of BW Objects [Page 475]

Restrictions
If you want to deliver Customer Content in the OLTP system, you need to deliver your own Customer Content. You are not allowed to change Business Content delivered by SAP.

4.2.3.2.1

System Settings in the OLTP System

Purpose
You are able to define an OLTP system as a content development system using particular system settings. You can also create system requirements for generating customer content.

Enterprise Reporting, Query, and Analysis

499

Core Development Tasks Developing Business Logic

March 2006

Process
...

1. Define your OLTP system as a content development system. To do this, select the Content Development field in Content Settings Maintenance (transaction RSA0) and save these settings. 2. To develop an application component hierarchy, specify the desired identification (/ABC/APCO for example) in the Application Components - Hierarchies field in Content Settings Maintenance. The name specified here acts as the default pre-setting for the system. 3. Create a development class or a package with a name space prefix (/ABC/PACK, for example). You then assign the objects that you create to this development class or package. 4. Ensure that the system type is defined as CUSTOMER in the global system parameters. You are able to check this by executing the function module TR_SYS_PARAMS in the function builder (Tools ABAP Workbench Development).

4.2.3.2.2

Business Content Delivery in OLTP Systems by SAP

Purpose
The standard procedure used in the delivery of Business Content by SAP is the model for the delivery of Content by partners and partners. The basis of this process is also object versioning in the OLTP system. The DataSources delivered with Business Content by SAP appear in a delivery (D) version. If you want to use a Business Content DataSource to transport data from an OLTP system into a BW system, you need to transfer this DataSource from the D version into the active version (A version). The DataSources have been assigned to application components in the OLTP system. You also need to transfer the merged application component hierarchies from the D into the A version of the merged application component hierarchy (APCO_MERGED). This enables the DataSources to be displayed in this hierarchy in the OLTP system and in the source system view of the BW Administrator Workbench - Modeling. Upgrading SAP Business Content has no effect on objects that you already use productively, since only the D version is overwritten.

When activating Business Content application component hierarchies and DataSources, the active partner version is however overwritten when the D version is transferred. The extract structure (object type R3TR TABL) and extractor (object type: LIMU FUNC) behave differently. These objects do not have a D and A version. For this reason, we recommend a versioning with Content generation. This prevents incompatible changes to the productive scenario from arising. The following graphic shows how SAP Business Content objects (DataSources and application component hierarchies) are used in a partner system with a double delivery:

Enterprise Reporting, Query, and Analysis

500

Core Development Tasks Developing Business Logic

March 2006

Version
A(ctive)

1 1
D(elivery

1 1 1 1

2 1 1 2

2 1 3 2

3 1 3 2

3 2 3 2

1 1

1 1

1st Activation Change of Business Content 1st Delivery by SAP

2nd Activation of Business Content

2nd Delivery by SAP

Process
In the SAP Content delivery system, the A and D version of DataSources and application component hierarchies are stored in identical forms. There are two transport objects for each object: An A and a D object. In accordance with the system settings, the system writes the suitable object to the transport request. When a Content development system is involved, the system chooses the D object. The next graphic illustrates how Business Content (DataSources and application component hierarchies) is delivered by SAP.

Enterprise Reporting, Query, and Analysis

501

Core Development Tasks Developing Business Logic

March 2006

SAP Content Development System


A(ctive) D(elivery) 1 1 Create 1 1 1 1 1 1 2 2 Change 2 2 2 2

SAP Content Delivery System


A(ctive)
D(elivery) 1 1

1 1 1 1

Transport from Development System

Export (D Object) Customer System A(ctive) D(elivery) 1 1 Import 1 1 1 1 2 2 1 1

Activate Content

Change

For objects which are seen as Content objects in a system (with a changeable namespace and where the system is a Content development system), the system automatically activates the DataSource in an after-import method for the D version. You can find information about the activation of Business Content in the OLTP system for a business area under Transferring Application Component Hierarchies [Page 511] and Transferring Business Content DataSources [Page 511]. In a partner system, BW object changes are saved in the active version. The D version remains unchanged.

4.2.3.2.3

Creating Partner Content in the OLTP System

Purpose
Creating DataSources and an application component hierarchy in your own namespace enables you to deliver Business Content in the OLTP system.

Prerequisites

You have applied for the namespace for the development and generation of objects, released it in the OLTP system and set it to changeable. You can find additional information here: Using a namespace for the development of BW Objects [Page 475]. You have already made system settings in the OLTP system [Page 499].

Process
Creating a Partner DataSource
You can create a generic DataSource as a partner DataSource. You can find information about this procedure here: Maintaining Generic DataSources [Page 512].

Enterprise Reporting, Query, and Analysis

502

Core Development Tasks Developing Business Logic

March 2006

When creating a DataSource in a Content development system, the system creates an A and D version. The DataSource is stored in identical form in both the A and D versions. There is only one version for the extract structure of the DataSource. When you generate a DataSource, and in turn an extract structure, the system writes the following transport objects to a transport request: Transport object R3TR OSOD /<Namespace>/<DataSource> Description D-version of DataSource

/ABC/DATASOURCE1 R3TR TABL /<Namespace>/ES<DataSource><four-character counter> or R3TR TABL /ABC/<freely-chosen name of extract structure> Extract structure

/ABC/DATASOURCE1 The active version of the DataSource (object type: OSOA) is not linked with the transport system and is not delivered. SAP supports the creation of partner DataSources, which extract using database tables and views or using a function module. When extracting using a view/table, note the following: When extracting using a view/table, the system generates a proposal for the extract structure name when you enter a name for the DataSource: /<Namespace>/ES<DataSource><fourcharacter pointer>, z. B. /ABC/ESDATASOURCE10001.

You can change the name of the extract structure. This is important when you want to make incompatible changes to the extract structure (such as changing a field type) and the productive scenario is to remain in place in the delivered system. In the screen to create a DataSource, enter a new name for the extract structure. After generating the changed DataSource, the extract structure is regenerated under this name. When extracting using a function module, note the following: In this case, the system does not generate a proposal for the extract structure. Enter the name of the extract structure that you have previously created in your namespace in the ABAP Dictionary. If you choose to make incompatible changes to the extract structure (such as changing a field type), create an extract structure with a new name in the ABAP Dictionary (as a modified copy of the old structure). In this way, you also ensure that the productive scenario remains in place in the delivered system and that the extract structure is not overwritten.

Creating a Partner Application Component Hierarchy


...

1. Enter transaction code rsa8 in the command field. The Selection of a Hierarchy dialog box appears. 2. Enter the name of the hierarchy if not already proposed.

Enterprise Reporting, Query, and Analysis

503

Core Development Tasks Developing Business Logic 3. Choose Create.

March 2006

4. Choose Create. Other information about editing application component hierarchies can be found under Editing DataSources and Application Component Hierarchies [Page 521]. After saving the hierarchy, the system writes the transport object R3TR DSAD /ABC/<Application component hierarchy> to a transport request. Upon saving the system creates a D version and an identical A version for the application component hierarchy, which can only be transported in its entirety, as was the case for DataSources.

If you only want to deliver individual DataSources, you do not need to have your own application component hierarchy. Check whether an existing application component is suitable for the grouping and delivery of your DataSources. DataSources that have not been assigned to an application component appear in the application component hierarchy under the node NODESNOTCONNECTED. They can be edited and used in the standard way. If, when changing a system for example, you want to keep the D version of a hierarchy, you need to execute report RSA1APDC before editing the hierarchy. This report generates an A version from the imported D version.

Result
The D versions of the generated DataSources and application component hierarchies, as well as the extract structures and, where applicable, function modules, appear in a transport request. These can be transported into the Content test or delivery system and from here delivered to partners or business areas.

4.2.3.2.4

Delivery and Use of Partner Content in the OLTP System

Purpose
You can use this process to enable your business areas or other partners to import/use partner Content. The basis of the process is object versioning for partner Content as well. (See Delivery of Business Content in the OLTP System by SAP [Page 500]).

Prerequisites
Prerequisites in the development and test/delivery system for partner Content.

You have already made system settings in the OLTP system [Page 499].

Prerequisite in the partner system into which Content is imported:

You have ensured that the OLTP system in which the delivered Content is to be delivered, is not defined as a Content development system. This can be checked in the Maintenance of Content Settings (transaction rsa0). You have created the namespace as changeable in the OLTP system (role C). You have ensured that a generation namespace has been released in the BW system in which the DataSources are to be copied. You have created and released the same generation namespace in the OLTP system.

Enterprise Reporting, Query, and Analysis

504

Core Development Tasks Developing Business Logic Also see: Using Namespaces for the Development of BW Objects [Page 475]

March 2006

Process
...

1. Deliver the objects (DataSources and application component hierarchies in the D version, extract structures and extractors) from the Content test/delivery system with a delivery transport (see System Environment [Page 470]). Note: With objects in the A and D versions, the system only writes the D versions of the object to the transport request. You ensure this by selecting the Content Development field in the Maintenance of Content Settings screen (transaction RSA0) in the system. 2. After the import of the D versions, your partners (business area) can activate the DataSources and application component hierarchies and use them as with the Business Content provided by SAP.

Using application component hierarchies delivered as partner Content: All application component hierarchies in the D version are merged in a hierarchy upon activation in the OLTP system (transport object R3TR DSAA APCO_MERGED). This hierarchy also contains the partner Content hierarchy. The merged hierarchy is copied as a single object in BW. The partner application component hierarchy is therefore not displayed as a separate object in the BW system. The following graphic illustrates the process for DataSources and application component hierarchies.

Customer Content Development System


A(ctive) D(elivery) Create 1 1

Customer Content Delivery System A(ctive) D(elivery) 1 1

1 1 1 1

1 1 2 2 Change

2 2 2 2

1 1 1 1

Transport from Development System Export (D Object)

Business Area A(ctive) D(elivery) 1 1

Import 1 1 1 1 2 2 1 1

Activate Content

Change

For objects which are seen as Content objects in a system (with a changeable namespace and where the system is a Content development system), the system automatically activates the DataSource in an after-import method for the D version. You can find information about the activation of Business Content in the OLTP system for a business area under Transferring Application Component Hierarchies [Page 511] and

Enterprise Reporting, Query, and Analysis

505

Core Development Tasks Developing Business Logic

March 2006

Transferring Business Content DataSources [Page 511]. Object changes are saved in the active version in this system. The D version remains unchanged.

4.2.3.2.5

unctions in the SAP Source System

Use
The BI Service API (SAPI) is a technology package in the SAP source system that enables the close integration of data transfer from SAP source systems into a BI system. The SAPI allows you to

make SAP application extractors available as a basis for data transfer into BI carry out generic data extraction use intelligent delta processes access data in the source system directly from BI (VirtualProvider support)

With transaction SBIW, the SAPI provides an implementation guide in the SAP source system that includes the activities necessary for data extraction and data transfer from an SAP source system into BI. Irrespective of the type of SAP source system, Customizing for extractors comprises activities that belong to the scope of SAPI:

general settings for data transfer from a source system into BI the option of installing BI Content delivered by SAP the option of maintaining generic DataSources the option of postprocessing the application component hierarchy and DataSources on a source system level

In addition to the activities that are part of the scope of SAPI, Customizing for extractors for OLTP and further SAP source systems may contain source-system specific settings for application-specific DataSources.

Features
General Settings
General settings include the following activities:

Maintaining control parameters for data transfer [Page 507] Restricting authorizations for extraction [Page 509] Monitoring the delta queue [Page 509]

Installing BI Content Delivered by SAP


DataSources delivered with the BI Content by SAP and those delivered by partners appear in a delivery version (D version). If you want to use a partner or BI Content DataSource to transfer data from a source system into BI, you need to transfer this DataSource from the D into the active (A) version.

Enterprise Reporting, Query, and Analysis

506

Core Development Tasks Developing Business Logic

March 2006

In the source system, the DataSources are assigned to specific application components. If you want to display the DataSources in BI in the DataSource tree of the Data Warehousing Workbench according to this application component hierarchy, you need to transfer them from the D version into the A version in the source system.

Transferring data from an OLTP system or other SAP source systems Note: You need to make settings for some BI Content DataSources before you can transfer data into BI. These settings are listed in transaction SBIW in the Settings for Application-Specific DataSources section. You can only find this section in those SAP source systems for which it is relevant. The following activities are associated with installing BI Content:

Transferring application component hierarchies [Page 511] Installing Business Content DataSources [Page 511]

Generic DataSources
Regardless of the specific application, you can use generic data extraction to extract data from any transparent tables, database views or SAP Query functional areas. You do not need to program in ABAP. You can also use function modules for generic data extraction. In this way, you can use your own DataSources for transaction data, master data attributes or texts. The data for such DataSources is read generically and then transferred into BI. Generic DataSources allow you to extract data which cannot be supplied to BI either with the DataSources delivered with BI Content or with customer-defined DataSources of the application. For more information, see Maintaining Generic DataSources [Page 512].

Postprocessing DataSources
You can adapt existing DataSources to suit your requirements as well as edit the application component hierarchy for the DataSources. For more information, see Editing DataSources and Application Component Hierarchies [Page 521].

4.2.3.2.5.1

Maintaining Control Parameters for Data Transfer

Procedure
Maintain entries for the following fields:
...

1. Source system Enter the logical system of your source client and assign it a control parameter of your choice. For information about source clients, see the source system under Tools Administration Management Client Management Client Maintenance. 2. Maximum size of the data package

Enterprise Reporting, Query, and Analysis

507

Core Development Tasks Developing Business Logic

March 2006

When transferring data into BW, the individual data records are sent in packages of variable size. You can use this parameter to control how large such a data package typically is. If no entry is maintained, the data is transferred with the default setting of 10,000 kBytes per data package. However, the required memory depends on not only the data package size setting, but also on the width of the transfer structure, the required memory of the affected extractor, and, for large data packages, the number of data records in the package. 3. Maximum number of rows in a data package For large data packages, the required memory mainly depends on the number of data records that are transferred with this package. You can use this parameter to control the maximum number of data records the data package contains. By default, the system transfers a maximum of 100,000 records per data package. The maximum main memory required per data package is approximately 2 X Max. Rows X 1000 bytes. 4. Frequency By specifying a frequency, you determine after how many data IDocs an Info IDoc is to be sent, or how many data IDocs are described by an Info-IDoc. The frequency is set to 1 by default. This means that an Info IDoc follows after each data IDoc. In general, you should choose a frequency between 5 and 10, but not greater than 20. The larger the package size of a data IDoc, the smaller you should set the frequency. As a result, when uploading data you should get information about the data load status in relatively short spaces of time. In the BW monitor you can see from each info IDoc whether the load process was successful. The traffic light is green in the monitor if this is the case for all data IDocs described in an Info IDoc. Among other things, info IDocs contain information about whether the data IDocs were correctly uploaded. 5. Maximum number of parallel processes for the data transfer An entry in this field is only required as of Release 3.1I. Enter a value greater than 0. The maximum number of parallel processes has been set to 2 by default. The optimal choice of the parameter depends on the configuration of the application server that you are using for the data transfer. 6. Target system of a batch job Enter the name of the application server on which the extraction job is to be processed. To determine the name of the application server, choose Tools Administration Monitor System Monitoring Server. The Host column displays the name of the application server. 7. Maximum number of data packages in a delta request You can use this parameter to restrict the number of data packages in a delta request or in the repeat of a delta request (repair). Only use this restriction if you are expecting delta requests with a very large volume of data so that, despite an appropriate data package size, more than 1000 data packages could be generated in a request. For an initial value or for the value 0 there are still no restrictions. Only a value greater than 0 causes the number of data packages to be restricted. For consistency however,

Enterprise Reporting, Query, and Analysis

508

Core Development Tasks Developing Business Logic

March 2006

this number is not always strictly adhered to. The actual restriction can, depending on how much the data in the qRFC queue is compressed, deviate by up to 100 from the specified border.

4.2.3.2.5.2

Restricting Authorizations for the Extraction

Use
You can use this function to exclude DataSources from the extraction. The result is that the data stored in these DataSources cannot be transferred into BW. Use this function to exclude DataSources for individual BW systems from the extraction. If you want to exclude a DataSource from the extraction for all connected BW systems, in the post-processing of DataSources, choose DataSources and the Application Component Hierarchy [Page 521] and delete the DataSource.

Procedure
...

1. Choose New Entries. 2. Choose the DataSource that is to be excluded from the extraction. 3. Choose the BW system in which no further data is to be extracted for this DataSource. 4. In the field Extr. Off, specify that the DataSource is to be excluded from the extraction. 5. Save those entries and specify a transport request.

4.2.3.2.5.3

Checking the Delta Queue

Use
The delta queue is a data store in the source system into which data records are automatically written using an update process in the source system (such as with FI documents) or using extraction using a function module after a data request from the BW (such as LIS extraction prior to BW 2.0). With a delta request, the data records are transferred from the Scheduler into BW. The data is stored in compressed form in the delta queue. It can be requested from several BW systems. The delta queue is also repeat enabled. In other words, the delta queue stores data from the last extraction process. The repeat mode of the delta queue is specific to the target system. With changes to the extract structure for a DataSource that took place between writing the data into the delta queue and reading of the queue data (for example with an upgrade), you can see from the data stored in the queue in which structure it was written to the delta queue. The queue monitor now contains fields that are now field that were not filled before and/or fields that were filled before but which are now unfilled. You can use this function to check the delta queue.

Enterprise Reporting, Query, and Analysis

509

Core Development Tasks Developing Business Logic

March 2006

Functions
The status symbol indicates whether or not update into a delta queue is activated for a DataSource. The delta queue is activated if the status symbol is green. In other words, it is filled with data records when an update or data request takes place from the BW. Prerequisite for a delta update is a successful execution of the delta method initialization in the BW Scheduler. You can carry out the following activities:

Display data records Display the current status of the delta-relevant field Refresh Delete the queue Delete queue data

Activities
Display data records
...

1. To check how much data and what type of data is contained within the delta queue, select the delta queue and choose Display Data Records. 2. A dialog appears in which you can specify the data records display. a. You can select the data packages whose data records you want to see. b. You can display specific data records of the data package for display. c. You can use the simulation of the extraction parameters to select how the data records are to be displayed. 3. To display the data records, choose Execute.

Display the current status of the delta-relevant field


In the delta queue, you can display the current value of the delta-relevant field for DataSources that support generic deltas. Do so by choosing the button Detail in the Status column. The value displayed contains the largest value with reference to the delta-relevant field for the previous extraction. It is the lower limit for the next extraction.

Refresh
If you select refresh,

new activated delta queues are displayed, new data records written to the delta queue are taken into account and all data records that have since been deleted when the system read the data records, are not displayed.

Delete queue data


To delete the data in a delta queue, select the delta queue and, from the context menu, choose Delete Data. Deleting data from the delta queue does not require the delta method to be reinitialized to write DataSource data records into the delta queue.

Enterprise Reporting, Query, and Analysis

510

Core Development Tasks Developing Business Logic

March 2006

Note that data that has yet to be read from the delta queue is also deleted. As a result, any existing delta update is invalidated. So, only use this function when you know what you are doing!

Delete the queue


You can delete the entire queue via Queue Delete Queue. You need to reinitialize the delta method before you can write data records for the associated DataSource into the delta queue.

4.2.3.2.5.4

Transferring the Application Component Hierarchy

You can use this function to transfer and activate the application component hierarchy delivered by SAP or by partners. After the DataSources are copied into BW, this application component hierarchy is displayed with the transferred DataSources in the source system view of Administrator Workbench Modeling. Choose the DataSource Overview via the context menu (right-mouse click) for the source system.

When activating the Business Content application component hierarchy, the active version is overwritten after transfer of the Content version. Information about how the transferred application component hierarchy can be changed can be found under Editing DataSources and the Application Component Hierarchy [Page 521].

4.2.3.2.5.5

Installing Business Content DataSources

Use
You can use this function to transfer and activate DataSources delivered within Business Content, and, if necessary Partner DataSources delivered in their own namespaces. After doing so, you can extract and transfer data from all activated DataSources, replicated in BW in all connected BW systems.

Activities
The Install DataSources from Business Content screen displays the DataSources in an overview tree according to the application components assigned to you.
...

1. Select the nodes in the application component hierarchy for which you want to transfer DataSources into the active version. Do so by positioning the cursor on the node and choosing Highlight Subtree. The DataSources and sub-trees underneath are selected. 2. Choose Highlight Delta. DataSources for which the system detected differences between the active and the delivered version (from extractor changes for example) are highlighted in yellow. 3. To analyze the differences between active and delivered versions of a particular DataSource, select the DataSource and choose Version Comparison. The application log contains further information regarding the version comparison.

Enterprise Reporting, Query, and Analysis

511

Core Development Tasks Developing Business Logic

March 2006

4. To transfer a DataSource from the delivery version into the active version, select it in the overview tree using the button Highlight Subtree and choose Transfer DataSources. The error log appears if an error occurs. Regardless of whether data has been successfully transferred into the active version or not, you can also call up the log via Display Log. With a metadata upload, that is when replicating DataSources in BW, the active version of the DataSource is made known in BW.

When activating Business Content DataSources, the system overwrites the active customer version with the SAP version.

You can only search for DataSources or other nodes in expanded nodes. Information about how you can change the transferred DataSources can be found under Editing DataSources and Application Components [Page 521].

4.2.3.2.5.6

Maintaining Generic DataSources

Use
Independently of application, you can create and maintain generic DataSources for transaction data, master data attributes or texts from any kinds of transparent tables, database views, InfoSets of the SAP query or using a function module. As a result, you can make use of the generic extraction of data.

Procedure
Creating a Generic DataSource
...

1. Select the DataSource type and give it a technical name. 2. Choose Create. The creating a generic DataSource screen appears. 3. Choose an application component to which the DataSource is to be assigned. 4. Enter the descriptive texts. You can choose any text. 5. Choose from which datasets the generic DataSource is to be filled. a. Choose Extraction from View, if you want to extract data from a transparent table or a database view. Enter the name of the table or the database view. After generation, you get a DataSource whose extract structure is congruent with the database view or the transparent table view. For more information about creating and maintaining database views and tables, see the ABAP Dictionary Documentation. b. Choose Extraction from Query, if you want to use a SAP query InfoSet as the data source. Select the required InfoSet from the InfoSet catalog.

Enterprise Reporting, Query, and Analysis

512

Core Development Tasks Developing Business Logic Notes on Extraction Using SAP Query [Page 520]

March 2006

After generation, you now have a DataSource whose extract structure matches the InfoSet. For more information about maintaining the InfoSet, see the System Administration documentation. c. Choose Extraction using FM, if you want to extract data using a function module. Enter the function module and extract structure. The data must be transferred by the function module in an interface table E_T_DATA. Interface Description and Extraction Process Flow [Page 517] For information about the function library, see the ABAP Workbench: Tools documentation. d. With texts, you also have the option of extraction from domain fixed values. 6. Maintain the settings for delta transfer where appropriate. 7. Choose Save. When extracting, look at SAP Query: Assigning to a User Group [Page 520].

Note when extracting from a transparent table or view: If the extract structure contains a key figure field, that references to a unit of measure or currency unit field, this unit field must appear in the same extract structure as the key figure field. A screen appears in which you can edit the fields of the extract structure. 8. Editing the DataSource: Selection When scheduling a data request in the BW Scheduler, you can enter the selection criteria for the data transfer. For example, you may want to determine that data requests are only to apply to data from the previous month. If you set the Selection indicator for a field within the extract structure, the data for this field is transferred in correspondence with the selection criteria in the scheduler. Hide field You should set this indicator to exclude an extract structure field from the data transfer. As a result of your action, the field is no longer made available in BW when setting the transfer rules and generating the transfer structure. Inversion Reverse postings are possible for customer-defined key figures. For this reason, inversion is only possible for certain transaction data DataSources. These include DataSources that have a field that is indicated as an inversion field, for example, the field update mode in the DataSource 0FI_AP_3. If this field has a value, then the data records are interpreted as reverse records in BW. Set the Inversion indicator if you want to carry out a reverse posting for a customer-defined field (key figure). The value of the key figure is then transferred in inverted form (multiplied by 1) into BW.

Enterprise Reporting, Query, and Analysis

513

Core Development Tasks Developing Business Logic

March 2006

Field only known in exit You can enhance data by extending the extract structure for a DataSource using fields in append structures. The indicator Field only known in Exit is set for fields of an append structure. In other words, by default these fields are not passed onto the extractor from the field list and selection table. Deselect the Field Only Known in Exit indicator to enable the Service API to pass on the append structure field to the extractor together with the fields of the delivered extract structures in the field list as well as in the selection table.

9. Choose DataSource Generate. The DataSource is now saved in the source system.

Maintaining Generic DataSources

Change the DataSource To change a generic DataSource, in the initial screen of DataSource maintenance, enter the name of the DataSource and choose Change. You can change the assignment of a DataSource to an application component as well as the texts of a DataSource. Double-clicking on the name of the table, view, InfoSet or extract structure takes you to the appropriate maintenance screen. Here you can make changes required to add new fields. You can fully swap transparent tables and database views, but not InfoSets. If you return to the DataSource maintenance and choose Create, the screen for editing a DataSource appears. To save the DataSource in the SAP source system, choose DataSource Generate. If you want to test extraction in the source system independently of a BW system, choose DataSource Test Extraction.

Delta DataSource On the Change Generic DataSource screen, you can delete any DataSources that are no longer relevant. If you are extracting data from an InfoSet, delete the associated query. If you want to delete a DataSource, this must not be connected to a BW system.

For more information about extracting using SAP Query, see Extraction using the SAP Query [Page 519].

4.2.3.2.5.6.1

Delta Transfer into BW

The following update modes are available in the Business Information Warehouse scheduler: Full update A full update requests all data that meet the selection criteria you set in the scheduler.

Delta update A delta update only requests data that has appeared in the source system since the last load.

Initializing the delta process You need to initialize a delta process before it can work. The initialization selections are taken for the loading of delta records.

Enterprise Reporting, Query, and Analysis

514

Core Development Tasks Developing Business Logic

March 2006

With large data volumes, a performance-optimized extraction from the source system is only feasible using a delta process. In the maintenance of the generic DataSource, you can set up a delta for master data attributes and texts. You can also set up a generic delta using a (delta-relevant) field with a value increasing monotonously.

Setting Up an ALE Delta for Master Data Attributes or Texts


Master data attributes or texts for which the delta transfer is to be used must meet two prerequisites:
...

1. Data must be extracted generically using a transparent table or a database view. 2. A change document object must be available that is able to update the complete key for table used in the data extraction (or the table for the view) in combination with one of the tables based on the change document object. The required control entries are delivered for the most important master data attributes or texts. By including a maintenance interface for control entries in the maintenance of generic DataSources/InfoSources, you can use the delta transfer for other master data attributes or texts. To generate the control entry for master data attributes/texts necessary for BW, proceed as follows:
...

1. For an attribute or text DataSource, choose DataSource ALE Delta. 2. Enter the table and the change document object that you want to use as a basis for the delta transfer. An intelligent F4 help for the Table Name field searches all possible tables for a suitable key. 3. Confirm your entries. With a usable combination of table and change document object, the extraction structure fields are listed in the table below. The status in the first column displays whether a field leads to a transfer of the delta record when master data is changed in this field. 4. Save the settings to generate the required control entry. Delta transfer is now possible for master data/texts. After the DataSource has been generated, you can see this from the selection of the Delta Update field in the screen DataSource: Edit Customer Version.

You need two separate entries if you want to transfer delta records for texts and master data attributes.

Generic Delta
If a field exists in the extraction structure of a DataSource that contains values which increase monotonously over time, you can define delta capability for this DataSource. If such a deltarelevant field exists in the extraction structure, for example a timestamp, the system determines the data volume transferred in the delta mode by comparing the maximum value transferred with the last load with the amount of data that has since entered the system. Only the data that has newly arrived is transferred. To get the delta, generic delta management translates the update mode into a selection criterion. The selections of the request are enhanced with an interval for the delta-relevant

Enterprise Reporting, Query, and Analysis

515

Core Development Tasks Developing Business Logic

March 2006

field. The lower limit of the interval is known from the previous extraction. The upper limit is taken from the current value, for example the timestamp at the time of extraction. You can use security intervals to ensure that all data is taken into account during extractions (see below). After the data request was transferred to the extractor and the data was extracted, the extractor then informs generic delta management that the pointer can be set to the upper limit of the previously determined interval.

The delta for generic DataSources cannot be used with a BW system release prior to 3.0. In older SAP BW releases, the system does not replicate DataSources for master data and texts that were delta-enabled using the delta for generic DataSources.

Determining the Generic Delta for a DataSource


...

1. Choose Generic Delta. 2. In the subsequent dialog box, specify the delta-determining field and the type for this field. 3. Maintain the settings for the generic delta: a. Enter a security interval. The purpose of a security interval is to make the system take records into account that appear during the extraction process but which could not be extracted (because, for example, they have not been saved) during the next extraction. You have the option of adding a security interval to the upper limit/lower limit of the interval.

A security interval should only be specified for the lower limit when the delta process results in a new status for changed records (when the status is overwritten in BW). In this case, duplicate data records that could arise in such a security interval have no affect on BW. b. Choose the delta type for the data to be extracted. You use the delta type to determine how the extracted data is interpreted in BW and into which data targets it can be updated. With the Additive Delta delta type, the record to be loaded for summarizable key figures only returns the change to the respective key figure. The extracted data is added in BW. DataSources with this delta type can supply ODS objects and InfoCubes with data. With the delta type New Status for Changed Records, every record to be loaded returns the new status for all key figures and characteristics. The values in BW are overwritten. DataSources with this delta type can write the data into ODS objects and master data tables. c. Determine whether the DataSource supports real-time data acquisition. 4. Save your entries. Delta transfer is now possible for this DataSource. After generating the DataSource, you can see this from the selection of the Delta Update field on the DataSource: Customer Version screen.

Enterprise Reporting, Query, and Analysis

516

Core Development Tasks Developing Business Logic

March 2006

In systems from Basis Release 4.0B, you can display the current value of the delta-relevant field in the delta queue.

Example for Determining Selection Intervals for a Generic Delta


Security interval upper limit The delta-relevant field is a timestamp. The timestamp that was read last is 12:00:00. Delta extraction begins at 12:30:00. The security interval for the upper limit is 120 seconds. The selection interval for the delta request is: 12:00:00 to 12:28:00. Upon completion of the extraction, the pointer is set to 12:28:00. Security interval lower limit The delta-relevant field is a timestamp. After images are transferred. That is, in BW the record is overwritten with the status after the change, for example for master data. Any data records that are transferred twice do not effect BW. The last read timestamp is 12:28:00. Delta extraction begins at 13:00. The security interval for the lower limit is 180 seconds. The selection interval for the delta request is: 12:25:00 to 13:00:00. Upon completion of the extraction, the pointer is set to 13:00:00.

4.2.3.2.5.6.2

Function Module: Interface Description and Procedure

A description of the interface for a function module that is used for generic data extraction:

Importing Parameter
I_DSOURCE type SRSC_S_IF_SIMPLE-DSOURCE DataSource I_INITFLAG type SRSC_S_IF_SIMPLE-INITFLAG Initialization call I_MAXSIZE type SRSC_S_IF_SIMPLE-MAXSIZE package size I_REQUNR type SRSC_S_IF_SIMPLE-REQUNR request number

Tables
I_T_SELECT type SRSC_S_IF_SIMPLE-T_SELECT I_T_FIELDS type SRSC_S_IF_SIMPLE-T_SELECT E_T_DATA

Exceptions
NO_MORE_DATA ERROR_PASSED_TO_MESS_HANDLER

Details on Individual Parameters

I_INITFLAG This parameter is set to X when the function module is called up for the first time, then to .

I_MAXSIZE

Enterprise Reporting, Query, and Analysis

517

Core Development Tasks Developing Business Logic This parameter contains the number of lines expected within a read call.

March 2006

Extraction Process
...

The function module is called up again and again during an extraction process: 1. Initialization call: Only the request parameters are transferred to the module here. The module is as yet unable to transfer data. 2. First read call: The extractor returns the data typified with the extract structure in an interface table. The number of rows the system expected is determined in the request parameter (I_MAXSIZE). 3. Second read call: The extractor returns the data enclosed within the first data package in a separate package with I_MAXSIZE rows. 4. The system calls up the function module again and again until the module returns the exception NO_MORE_DATA. Data cannot be transferred in the call in which this exception is called up.

Example
An example of a function module that meets these demands is RSAX_BIW_GET_DATA_SIMPLE. A simple way of creating a syntactically correct module is to copy it into its own function group and then to cope the rows of the top-include of function group RSAX (LRSAXTOP) into the top-include of its own function group. Afterwards, the copied function module must be adjusted to the individual requests.

4.2.3.2.5.6.3

Testing Extraction

Use
You can use this function to test extraction from DataSources that were created using the maintenance for the generic DataSource. After the test extraction, you can display the extracted data and the associated logs.

Procedure
...

1. Choose DataSource Test Extraction. A screen appears in which you can set parameters and selections for the test extraction. 2. Enter a request no. for the test extraction via a function module. 3. Enter how many data records are to be read with each extractor call. 4. The extractor is called up by the Service API until no more data is available. In the Display Extr. Calls field, you can specify the maximum number of times the extractor is to be called. This enables you to restrict the no. of data packages when testing the extraction. With a real extraction, the system transfers data packages until is no longer able to find any more data.

Enterprise Reporting, Query, and Analysis

518

Core Development Tasks Developing Business Logic

March 2006

5. Depending on the definition of the DataSource, you can test the extraction in various update modes. For DataSources that support the delta method, you can also test deltas and repeats as well as the full update. The modes delta and repeat are only available for testing when the extractor supports a mode in which the system reads the data but does not modify the delta management status tables.

To avoid errors in BW, the timestamp or pointer that was set in delta management must not be changed during testing. Before you are able to test the extraction in a delta mode in the source system, you need to have carried out an initialization of the delta method or a simulation of such an initialization for this DataSource.

You can test the transfer of an opening balance for non-cumulative values. 6. Specify selections for the test extraction. Only those extract structures fields you have selected in DataSource maintenance can be selected. To enter several selections for a field, insert new rows for this field into the selection table. 7. Choose whether you want to execute the test extraction in debug mode or by tracing an authorization trace. If you test the extraction in the debug mode, a breakpoint is set just before the extractor initialization call. For information on the debugger, see ABAP Workbench: Tools. If you set an authorization trace, you can call it after the test by choosing Display Trace. 8. Start the extraction.

Result
If the extraction was successful, a message appears that specifies the number of extracted records. The buttons Display List, Display Log and Display Trace (optional) appear on the screen. You can use Display List to display the data packages. By double-clicking on the number of records for a data package, you get to a display of the data records. Choose Display Log to display the application log.

4.2.3.2.5.6.4

Extraction Using the SAP Query

The SAP query is a comprehensive tool to define reports. It uses many different forms of reporting. It allows users to define and execute their own evaluations of data in the SAP system without knowing anything about ABAP. To determine the structure of evaluations, texts are entered in the SAP query, field and options are also selected. The selection of relevant fields is made easier by using InfoSets and functional groups.

Enterprise Reporting, Query, and Analysis

519

Core Development Tasks Developing Business Logic

March 2006

An InfoSet is a special view on a set of data (logical database, table join, table, sequential file). It serves as a data source in the SAP query. An InfoSet determines the tables and fields of these tables are included within an evaluation. InfoSets are usually based on logical databases. The maintenance of InfoSets represents a component of the SAP query. When an InfoSet is created, a data source is selected in an application system. As the number of fields of a data source can be very high, fields can be combined into logical units, the functional groups. Functional groups are groups of different fields for a logical unit within an InfoSet. Fields that are to be used in an extract structure must be assigned to a functional group. All fields of all functional groups for this InfoSet are available for generic data extraction. SAP Query is important for the Business Information Warehouse in the definition of the extract structure by selecting fields of a logical database, a table join or other datasets in an InfoSet. You can use generic data extraction for master- or transaction data from any InfoSet. A query is generated for an InfoSet that gets data and transfers this data to the generic extractor. Thus, InfoSets are an additional, easily manageable data source for generic data extraction. They allow you to use logical databases of all SAP applications, table joins, and further datasets as data sources for BI. For more information about SAP Query, in particular InfoSets, see the SAP Query documentation -> System Administration. In the following section, the terms SAP Query and InfoSet are used independently of the source system release. SAP Query is the same as an ABAP Query or ABAP/4 query, dependent on the source system release. The InfoSet is also called a functional area in some source system releases.

4.2.3.2.5.6.4.1
Client Dependency

Notes for Extraction Using the SAP Query

Only the InfoSets that you have created globally, that is, independent of client, are available. You can set this global area in the initial screen of InfoSet maintenance, under Environment Work Areas.

Size Limits When Performing Extraction with SAP Query InfoSets


When extracting using an InfoSet, the system firstly collects all data in the main memory. Afterwards, this data is transferred to the BW system via the Service API interface. The size of the main memory is important with this type of extraction. It is suited to limited data volumes. As of SAP Web Application Server 6.10, extraction of mass data is possible for certain InfoSets (tables or table joins). See also: Extraction Using SAP Query [Page 519]

4.2.3.2.5.6.4.2

SAP Query: Assignment to a User Group

If you want to extract your data from an InfoSet, the InfoSet must be assigned to a user group before the DataSource can be generated. This is necessary as the extraction is processed

Enterprise Reporting, Query, and Analysis

520

Core Development Tasks Developing Business Logic

March 2006

from an InfoSet using a query that comprises all fields of the InfoSet. In turn, this query can only be generated when the InfoSet is assigned to a user group.

Releases up to 3.1I
In releases up to 3.1I, a screen appears in which you have to specify a user group as well as a query name. The user group must be specified using the value help. In other words, it must already have been created. You can get more information about creating user groups in the SAP Query documentation, in the section System Management Functions for Managing User Groups. A separate query is required for an InfoSet each time it is used in a DataSource. For this reason, enter a query name that was previously not in the system. The query is generated after you confirm your entries.

Releases from 4.0A


In releases as of 4.0A, the InfoSet for the extract structure of the new DataSource is automatically assigned to the pre-finished system user group. A query is automatically generated by the system.

4.2.3.2.5.7

Editing DataSources & Application Component Hierarchies

Use
To adapt existing DataSources to your requirements, you can edit them in this procedure before transporting them from a test system into a productive system. In this procedure, you can also postprocess the application component hierarchy.

Procedure
DataSource
Transporting DataSources Select the DataSources that you want to transport from the test system into the productive system and choose Transport. Specify a development class and a transport request so that the DataSources can be transported. Maintaining DataSources To maintain a DataSource, select it and choose Maintain DataSource. The following editing options are available:

Selection When scheduling a data request in the BW scheduler, you can enter the selection criteria for the data transfer. For example, you can determine that data requests are only to apply to data from the previous month. If you set the Selection indicator for a field within the extraction structure, the data for this field is transferred in correspondence with the selection criteria in the scheduler.

Hide field

Enterprise Reporting, Query, and Analysis

521

Core Development Tasks Developing Business Logic

March 2006

You set this indicator to exclude an extraction structure field from the data transfer. The field is then no longer available in BW when setting the transfer rules or when generating the transfer structure.

Inversion Reverse postings are possible for customer-defined key figures. Therefore inversion is only active for certain transaction data DataSources. These include DataSources that have a field that is indicated as an inversion field, for example, the field update mode in the DataSource 0FI_AP_3. If this field has a value, then the data records are interpreted as reverse records in BW. Set the Inversion indicator if you want to carry out a reverse posting for a customerdefined field (key figure). The value of the key figure is then transferred in inverted form (multiplied by 1) into BW.

Field only known in exit You can enhance data by extending the extraction structure for a DataSource using fields in append structures. The Field Only Known in Exit indicator is selected for fields of an append structure, that is, by default these fields are not passed on to the extractor from the field list and selection table. Deselect the Field Only Known in Exit indicator to enable the BW Service API to pass on the field of the append structure to the extractor together with the fields of the delivered extraction structures in the field list and selection table.

Enhancing the extraction structure If you want to transfer additional information for an existing DataSource from a source system into BW, you first need to give the DataSource extraction structure additional fields. To do this, create an append structure for the extraction structure (see Adding Append Structures [External]).
...

1. Choose the button Enhance Extr. Str., to access field maintenance for the append structure. The name of the append structure is taken from the extraction structure name in the customer namespace. 2. Enter the fields you want to add, together with their subordinate data elements, into the field list. You can use all functions for field maintenance for tables and structures for this. 3. Save and activate your append. 4. Go back to the DataSource display and make sure that the Hide Field indicator is not selected for the newly added fields. Function enhancement To fill the append structure fields with data, you need to create a customer-specific function module. For information about enhancing the SAP standard with customer-specific function modules, see Enhancing the SAP Standard in SAP Library. The SAP enhancement RSAP0001 is available to enhance DataSources for the SAP Business Information Warehouse. This enhancement contains the following enhancement components: Transaction data Attributes, texts Hierarchies exit_saplrsap_001 exit_saplrsap_002 exit_saplrsap_004

For more information, see Enhancing DataSources [Page 523].

Enterprise Reporting, Query, and Analysis

522

Core Development Tasks Developing Business Logic

March 2006

As of Release 6.0, the Business Add-In (BAdI) RSU5_SAPI_BADI is available. You can display the BAdI documentation in the BAdI definition or BAdI implementation.

Application Component Hierarchy

To create a same-level or subordinate node for a particular node, place the cursor over this node and click on Object Create Node. You can also create subordinate nodes by choosing Object Create Children. To rename, expand, or compress a node, place your cursor over the node and click on the appropriate button. To move a node or subtree, select the node you want to move (by positioning the cursor over it and choosing Select Subtree), position the cursor on the node onto which the selected node is to be positioned. Then, choose the Reassign button. If you select a node with the cursor and choose Set Segment, this node is displayed with its subnodes. You can go to the superordinate nodes for this subtree using the appropriate links in the row above the subtree. If you select a node with the cursor and choose Position, the node is displayed in the first row of the view. All DataSources for which a valid (assigned) application component could not be found are placed under the node NODESNOTCONNECTED. The node and its subnodes are only built at transaction runtime and refreshed when the display is saved. NODESNOTCONNECTED is not persistently saved to the database and is therefore not transferred in a particular status into other systems by the transport of the application component hierarchy. Note: Hierarchy nodes created under NODESNOTCONNECTED are lost upon saving. After saving, the system only displays nodes under NODESNOTCONNECTED that were moved under this node with DataSources.

A DataSource hangs under an application component X. You transfer a new application component hierarchy from Business Content that does not contain application component X. In this application component the DataSource is then automatically placed under the node NODESNOTCONNECTED. Note: Changes to the application component hierarchy are only valid until the next transfer from Business Content.

4.2.3.2.5.7.1

Enhancing DataSources

Use
The SAP enhancement RSAP0001 is available if you want to fill fields that you have added to the extraction structure of a DataSource as an append structure. This enhancement is made up of the following enhancement components: Data Type Transaction data Attributes, texts Enhancement Component exit_saplrsap_001 exit_saplrsap_002

Enterprise Reporting, Query, and Analysis

523

Core Development Tasks Developing Business Logic

March 2006

Hierarchies See also:

exit_saplrsap_004

Changing the SAP Standard [External] Customer Exits [Page 630]

Prerequisites
You have enhanced the extraction structure of the DataSource with additional fields.

Procedure
Note: As soon as an SAP enhancement is assigned to one project, it can no longer be copied to another project. 5. In Customizing, choose the extractors (transaction SBIW in source system) Postprocessing DataSources Edit DataSources and Application Component Hierarchy. 6. Highlight the DataSource that you want to enhance and choose DataSource Function Enhancement. The project management for SAP enhancements screen appears. 7. Specify a name for your enhancement project in the Project field. 8. Choose Project Create. The Attribute Enhancement Project <Project Name> screen appears. Note: If a project has already been created for the SAP enhancement, use the existing project and continue with step i). 9. Enter a short description for your project. 10. Save the attributes for the project. 11. Choose Goto Enhancement Assignment. 12. In the Enhancement field, enter the name of the SAP enhancement that you want to edit, in this case RSAP0001. You can combine several SAP enhancements in one enhancement project. To display the SAP documentation for an SAP enhancement, highlight the SAP enhancement and choose Goto -> Display Documentation. 13. Save your entries. If a project already exists for the SAP enhancement, you cannot save your entries. Go back to the initial screen and enter the existing project. Continue with step i). 14. Return to the start screen. 15. Select the Component subobject. 16. Choose Change. The system displays the SAP enhancements you have entered with the corresponding components (in this case, function exit).

Display Documentation.

To display the documentation for a component, select the component and choose Goto

Enterprise Reporting, Query, and Analysis

524

Core Development Tasks Developing Business Logic

March 2006

17. Select the component (for example, EXIT_SAPLRSAP_001) that you want to edit and choose Edit Select. The system displays the function module prepared by the SAP application developer. Use the include program contained in this module to transfer your functionality to the module. 18. Call the include program by double-clicking on it. The ABAP editor appears.

a. Enter the source text for your function in the editor and save your include program.
...

The system asks whether you want to create an include program.

a. Confirm that you want to create an include program. b. Specify the program attributes and save them. c. Choose Goto Source Code. The ABAP editor appears. d. Enter the source text for your function in the editor and save your include program. 19. Return to the start screen. 20. Activate your enhancement project by choosing Project Activate Project. See also: Creating Additional Projects [External] Creating Customer-Specific Function Modules [External]

Result
The enhancement is activated and at the runtime of the extractor, the fields that have been added to the DataSource using the append structure are filled with data.

4.2.3.3

Partner Content

Purpose
Content that consultancy partners of SAP Business Information Warehouse deliver to their customers is referred to as partner content. The concept and technical implementation of customer and partner content largely correspond to one another. For more information about partner content, see the customer content [Page 469] documentation. This and the following sections document only those partner content features that differ from customer content features.

Features
Partner content covers the following areas:

Structure of the system landscape (see System Landscape [Page 470]) Development of customer-specific content by partners

Enterprise Reporting, Query, and Analysis

525

Core Development Tasks Developing Business Logic


March 2006

Delivery of SAP Business Content and partner content by partners to their customers Option of certification for partner content through SAP

Certification of Partner Content


Certification of partner content allows you to officially document the technical quality of your content for your customers. The certification awarded by SAP is a guarantee that the partner content can be imported and installed without errors. It also ensures that SAP content objects are not inadvertently shipped again by partners. If you want SAP to certify your content, send an e-mail to the Integration and Certification Center (icc@sap.com). You can purchase the contract for add-on certification from this center. The certification confirms that the following conditions are met:

Error-free import and installation of the partner content Shipment of content is made using the Add-On Assembly Kit and does not contain SAP objects Content tested successfully by the partner Documentation and maintenance provided by the partner Release and maintenance strategies published by the partner

SAP provides generic text cases to support this testing. When the certification process is complete, your content is awarded the SAP certified integration logo. Your partner content is listed in the SAP Online Partner and Product Directory. You can add a link with detailed information about your content.

Constraints
SAP Business Content
You can use the Business Content delivered by SAP but you cannot change it.

Namespace for Developing BI Objects

You must use your own namespace (see Using Namespaces for Developing BW Objects [Page 475]).

Note also Features when Transporting Roles [Page 496]. We recommend that you use the following schema when allocating the namespace: delivery namespace /ABC/ customer namespace /ABC/C_. This corresponds to the SAP namespaces for roles (delivery namespace SAP_BW_ customer namespace SAP_BWC_). However, this means that you cannot create roles that begin with the letter C.

Delivery of BI Objects
We recommend that you use Add-On Assembly Kits to deliver your partner content. Using this tool, you can combine the BI objects that you have developed into one add-on. Furthermore, you can specify installation requirements (such as particular SAP releases) in the systems of your customers. You can also simplify the maintenance of your delivered content by providing your own release and support package status for each delivery. This allows you to see which content version is installed in your customer systems.

Enterprise Reporting, Query, and Analysis

526

Core Development Tasks Developing Business Logic

March 2006

The Add-On Assembly Kit is not part of SAP NetWeaver and must be purchased separately. No additional tools are required in your customers systems: The transactions for implementing your add-ons are available in all SAP systems.

If you want SAP to certify your content, send an e-mail to the Integration and Certification Center (icc@sap.com). You can use this address to purchase the Add-On Assembly Kit together with an add-on certification contract. If you do not want your content to be certified, you can purchase the Add-On Assembly Kit from the Add-On Assembly Kit Implementation Service (AAKIS). For more information, see SAP Service Marketplace at service.sap.com/slo Repository Harmonization Detailed Information Add-On Assembly Kit Implementation Service.

See also:

InfoAreas, Application Components, and InfoPackage Groups [Page 527]

4.2.3.3.1

InfoAreas, Application Components, and InfoPackage Groups

Development and Delivery of Partner Content The Business Information Warehouse allows you to organize objects into a tree structure by using hierarchy objects:

InfoAreas [External] (in InfoObject and InfoProvider trees): for InfoObjects (in InfoObject catalogs) and InfoProviders Application components (in InfoSource trees): for InfoSources InfoPackage Groups [External] (in InfoPackage group trees): for InfoPackages. In Show InfoPackage Groups you are able to show the InfoPackage group tree alongside the InfoSource tree.

If you want to deliver your objects along with these hierarchy objects, note the following: Create just one node as the subnode for your partner content object by calling up the context menu for the root node of the relevant tree in the Modeling function area of the Administrator Workbench, in the content development system. (In general this node is inserted as the last node.) You can create however many additional nodes under this node. By doing this you ensure that the nodes for your partner content objects are transported into the customer system correctly. The following graphic shows two trees, in the content systems of different partners, that have both been created as subnodes for the root node of a partner content node.

Enterprise Reporting, Query, and Analysis

527

Core Development Tasks Developing Business Logic

March 2006

0SAP

0SAP

SAP1

SAP1

Partner2

SAP2

Content2

Content1

Partner1

Content11 Content12

Imports into the Customer System The customer is able to import content from one or more partners. The content node is inserted under the root node for the relevant tree. If the customer is importing content from various partners these are inserted randomly. The customer can then arrange individual nodes as desired. The following graphic shows the tree in the customer system after both sets of partner content have been imported:

0SAP Content1

Partner1

Content11 Content12

Partner2

Content2 SAP1 SAP2

Enterprise Reporting, Query, and Analysis

528

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.2.3.3.2

Documents for Content Objects

Use
You can create information for the content objects with the methods for document management in the Business Information Warehouse and can then deliver them together with the objects. The versioning concept ensures that no information is lost in the customer system when there is a repeat delivery by the partner: If the partner delivers a document again that a partner has changed on his end, the customer document will not be overwritten. Instead a new version (with its own PHIO) will be delivered. The last changed version is always displayed in the customer system. You can manually translate the documents.

Features
You can create exactly one document for an object. Indicate this on the Logical Document Properties tab page as online documentation (see Creating Documents [External]). In order to be able to include the documents inplace in the generated documentation, these may only be in HTML or in TXT format. If you choose another format (e.g. Word), only a link is displayed in the generated documentation. You can select the corresponding Mime type on the General tab page.

4.3

Using Connectivity and Interoperability

Purpose
Using the Report-Report Interface
The report-report interface allows you the flexibility to call a jump target (receiver) online from a BEx query (sender) within or outside of the BI system. For more information, see Report-Report Interface [Page 530].

Interfaces for Front-End Tools


The following interfaces are available for connecting third-party front-end tools to BI:

OLE DB for OLAP (ODBO) OLAP BAPI (Business Application Programming interface) XML for Analysis (XML/A)

For more information, see Open Analysis Interfaces [Page 545].

BI Java SDK Connectors


You use the BI Java SDK to create analytical applications with which you access both multidimensional (Online Analytical Processing or OLAP) and tabular (relational) data. You can also edit and display this data.

Enterprise Reporting, Query, and Analysis

529

Core Development Tasks Using Connectivity and Interoperability

March 2006

Although the main objective of the SDK is to simplify programming in the Java environment, you can also use the Application Programming Interfaces (APIs) to access non-BI and nonOLAP data sources, such as relational JDBC data sources. This allows programmers to work with a uniform approach throughout the entire development cycle of an application. A driver-based architecture supports access to various data formats using various protocols. For more information, see Open Standards in the SDK [Page 609]. The APIs of the BI Java SDK allow you to connect applications that you create using the SDK with various data sources. For more information, see BI Java Connectors [Page 614]. You can access data providers from third parties that have an XMLA or ODBO interface in the BEx Report Designer, BEx Web Application Designer and in the BEx Web Analyzer. For more information, see Access to External Data Sources [Page 628].

4.3.1
Use

Report-Report Interface

The report-report interface allows you the flexibility to call a jump target (receiver) online from a BEx query (sender) within or outside of the BI system. Jump targets that have been assigned to a BEx query can be selected in BEx Web applications and in the BEx Analyzer. You access them from the context menu under the Goto function.

BEx Web Application, BEx Query

Goto

SAP
Transaction or ABAP report in an SAP system (CRM, ERP etc.)

Web address BEx Web Application, BEx Query

Prerequisites
To use the RRI in a BEx Query or Web application, you first have to make the necessary settings with sender/receiver assignment. See Editing Sender/Receiver Assignments for the RRI in the BI System [Page 531].

Enterprise Reporting, Query, and Analysis

530

Core Development Tasks Using Connectivity and Interoperability

March 2006

Features
Queries, transactions, reports and Web addresses can be jump targets. The parameterization of the target action is taken from the context of the cell that you have jumped from. You can set parameters for calling a BEx Query or a BEx Web Application using input variables that are filled from the selection conditions and the element definitions of the selected cells in the sender query.

Process Flow when Calling the RRI:


When it is called, the RRI first collects the following information from the cells of the sender query:

the global filter: the rows and columns of the query definition; see also the documentation on defining queries [Page 368]sapurl_link_0002_0002_007. variables the dynamic filter: the values in the navigation block of the query (filter that can be changed by navigation) including hierarchies [Page 376]; see also the documentation on navigation panes [Page 314] in the BEx Analyzer filter from the selected restricted key figure [Page 434] filter from the selected drilldown characteristics (see also Navigation and Navigation Functions [External])

The RRI provides this information to the receiver as the valid selections. For more information on how this occurs and what you need to note, see Receiver [Page 533].

Example
For your cost center report (Sender), you want to request master data from an SAP system (Receiver). For a BEx Query with the up-to-date sales figures for your customer (Sender), you want to request up-to-date stock market data on your customer listed on the stock exchange from the Internet.

4.3.1.1

Editing Sender-Receiver Assignments to the RRI in the BI System

Use
You use the sender-receiver assignment to make the necessary settings for connecting a query to the report-report interface (RRI) in BEx. You can assign receiver reports to a sender report, that is, a BEx query, both within the BI system and to another SAP system.

Creating Sender/Receiver Assignments


...

1. In the SAP Easy Access Menu of the BI system, choose SAP Menu Business Explorer Query Jump Targets. You reach the Sender-Receiver Assignment Maintenance screen. 2. Select one of the two tab pages and enter the required data.

Enterprise Reporting, Query, and Analysis

531

Core Development Tasks Using Connectivity and Interoperability

March 2006

Tab Page Query InfoCube

What You Need to Know Enter the technical name of the sender query or select a query using value help. If you want to assign the same jump target to all queries for an InfoProvider, enter the technical name of the required InfoProvider or select it using value help. Create. You reach the Maintain Sender-Receiver Assignment dialog box.

3. Choose

4. Under Report Type, choose a receiver. You have the following options: BEx Query (see BEx Query as Receiver [Page 541]) BEx Web Application BI Crystal Report InfoSet query (queries on Classic InfoSets) Transaction (see Create Transaction as Receiver [Page 537]) ABAP/4 Report Web address (see Create Web Address as Receiver [Page 538])

To learn about features of the various types, see Receivers [Page 533]. 5. Choose a Target System. You have the following options: a. Local: The jump target is within the BI system. b. Source system: The jump target is outside of the BI system. One source system as a target system: Specify the name of the source system. You can also choose the source system using input help. All source systems as target systems: Choose All Source Systems. Specify the source system in which you want to choose the required report initially. Log on to this source system. 6. In the Report field, enter a description for the receiver report. Once you have saved your entry, this description is displayed as the Report Title. 7. Choose Install. You reach the Sender-Receiver Assignment Maintenance screen.

8. Save your entries. 9. For special cases, you can still maintain the assignment details. See also Maintain Assignment Details [Page 534].

Changing Sender/Receiver Assignments


Once you have created a receiver, you can make the following changes in the fields in the table that are ready for input. Group Description Report title What You Need to Know Specify a name.

Enterprise Reporting, Query, and Analysis

532

Core Development Tasks Using Connectivity and Interoperability

March 2006

Source system InfoSource

Choose the required source system using input help. You can assign all source systems by entering *. If an InfoProvider is filled from several InfoSources, you can specify from which InfoSource you want to extract data. In the InfoSource column, choose the InfoSource you want to use using input help.

If you also want to change the Report Type, Target System or Report settings, choose Change. You reach the Sender-Receiver Assignment Maintenance screen. Make the required changes and choose Transfer.

Deleting Sender/Receiver Assignments


...

1. If you want to delete an assignment, select the corresponding row entry in the Receiver table. 2. Choose Delete. The system deletes the selected assignment.

Transporting Sender/Receiver Assignments


You get to the transport connection using the Transport Wizard. You can use it to transport sender-receiver assignments that you created. All jump targets are then transported together. Queries as sender are collected by the object collector as necessary objects, and receivers as optional objects.

Result
Jump targets that have been assigned to a BEx query can be selected in Web applications and in the BEx Analyzer. You access them from the context menu under the Goto function. See also: BEx Analyzer: Goto [External] Web Applications: Goto [External]

4.3.1.1.1

Receivers

Features
In the following, we will explain how to deal with the peculiarities of the various receivers.

BEx Query
When the RRI is called, the sender query transfers the following filters to the receiver query:

Global filters Navigation block values (dynamic filters exclusively from the presentation hierarchies) Filters from the selected, restricted key figure Filters from the selected drilldown characteristics

The system fills the variables and then the navigation block. In doing so, a unique characteristic assignment has to be possible. Selections from different InfoObjects can then be transferred if the InfoObjects reference the same basic characteristic. Hierarchy nodes are expanded in selections and can then be transferred to the respective InfoObjects.

Enterprise Reporting, Query, and Analysis

533

Core Development Tasks Using Connectivity and Interoperability

March 2006

If the sender and receiver include the same variables, the variables are handled separately again. For more information, see BEx Query As a Receiver [Page 541].

Web Application
For Web applications, the same applies as for BEx Queries. If a Web application contains multiple queries, the RRI is called for each query separately.

Crystal Report
When calling the RRI with a Crystal Report as the receiver, only the variables are filled. There is no transfer of filters as with BEx Queries.

Transaction and ABAP/4 Report


Calling the RRI with a transaction or an ABAP/4 Report as the receiver is done with the RRI from the SAP NetWeaver Application Server. This is possible in an ERP system, a CRM system or within the BI system. The selections are prepared by the BI system that does not recognize the transaction or the report. The assignment is transferred from the RRI of the SAP NetWeaver Application Server using inverse transformation rules. There must also be a complete chain from the DataSource of the source system to the InfoSource, through transformations up to the InfoProvider. This does not mean that data absolutely has to be loaded using this chain. If this chain does not exist, the RRI cannot transfer the selections to the source system. Calling the RRI only works for fields with dictionary reference. For ABAP reports, this means that the parameter has to be PARAMETERS param LIKE <table_field> . For transactions, this means that the Dynpro has to have a dictionary reference. Not every transaction can be called with the RRI of the SAP Application Server. For some transactions (such as SV03), you need to program a utility program if you still want to call it using the RRI. See also Creating a Transaction As a Receiver [Page 537].

InfoSet Query
The same applies to InfoSet queries as does for transactions and ABAP/4 reports.

Web Address
When calling the RRI with a Web address as receiver, the assignment details have to be maintained. You have to specify the name of the input field in the field name column. URL variables cannot be used. See also Creating a Web Address As a Receiver [Page 538].

4.3.1.1.2

Maintaining Assignment Details

Use
The maintenance of assignment details is an expert function. Before BW 3.0A, a BAdI or user exit was available for this type of assignment. This is now obsolete and only exists for reasons of compatibility.

Enterprise Reporting, Query, and Analysis

534

Core Development Tasks Using Connectivity and Interoperability

March 2006

In general, you should be able to use the RRI to create the sender-receiver assignment, without having to specify any other assignment details. In certain cases, however, it may be necessary to maintain these assignment details, such as

If you do not want to transfer certain selections, for example differing date information If an assignment is not clear, for example, if the vendor needs to be assigned to the purchaser.

The system does not check the assignment details you maintained to make sure they make sense.

Prerequisites
You have created a sender-receiver assignment.

Procedure
...

1. Select your sender-receiver assignment in the Receiver table. 2. Choose Assignment Details. The Field Assignments dialog box appears.

3. If you want to make changes to the individual fields, choose the required settings using input help. You can assign the processing method (type) of selections for characteristics and the permitted Selection Type, as well as designate the field as Required Entry Field. You can choose between the following input options: Processing Method (Type) Generic (default) Effects Selections are automatically transferred from the ReportReport Interface to the jump target. We recommend that you first execute the jump with this setting and that you only make other settings when the jump does not display the required result. Only then is the full functionality of the RRI available. Selections are transferred directly to the specified variables. In the Field Name column, you have to enter the technical name of the variables. The Data Element, Domain and Parameter ID columns are automatically filled from the properties of the variables. This processing method is only applicable for BEx Queries. It is useful when an assignment is not unique and a specific characteristic is to be transferred explicitly. The characteristics assigned to one another have to have the same (noncompounded) key. For example, the characteristics 0MATERIAL and 0MATPLANT can be assigned to one another.

V Variable

Enterprise Reporting, Query, and Analysis

535

Core Development Tasks Using Connectivity and Interoperability

March 2006

I InfoObject

Selections are transferred directly to the specified characteristic. In the Field Name column, you have to enter the technical name of the characteristic. The Data Element, Domain and Parameter ID columns are automatically filled from the properties of the characteristic. This processing method is only applicable for BEx Queries. It is useful when an assignment is not unique and a specific characteristic is to be transferred explicitly. The characteristics assigned to one another have to have the same (noncompounded) key. For example, the characteristics 0MATERIAL and 0MATPLANT can be assigned to one another.

3 Table field

Selections are transferred directly to the specified field. This setting is only useful for non-BI jump targets. The Field Name, Data Element and Domain columns have to be filled correctly. It also makes sense to fill the column Parameter ID with the correct parameter ID. You can usually find the parameter ID in the ABAP dictionary entry for the data element. See also Creating a Transaction As a Receiver [Page 537].

P URL parameters

This setting is only useful for the Web Address jump target. Specification of a field name is then mandatory. See also Creating a Web Address As a Receiver [Page 538].

Delete X

All selections for this characteristic are deleted and not transferred to the jump target. This setting is useful when you do not want to transfer certain selections. For example, you may not want selections for a characteristic to be transferred to a characteristic that has the same reference characteristic.

Choosing a selection type is worthwhile when the jump target is a longer-running query or transaction. When you choose a selection type with the Required Entry indicator, during the jump you can prevent a report that was called from starting if it does not fulfill certain conditions. In this way, you avoid putting unnecessary load on the system. Before the jump, the system checks whether the selection that is marked as a required entry is present in the jump target; otherwise the jump is not executed.

For example, for a jump to an ERP system in the transaction MM03, you can mark the InfoObject Characteristic with selection type P Parameter as a required entry field. The jump is only executed when the InfoObject Material is found in the ERP system. Permitted Selection Type * (default) Effects No restriction of the selection type. Single values, intervals, free selection options and hierarchy nodes can be transferred. In the report-report interface, only one single value is permitted. In the report-report interface, a list of values is permitted.

P Parameters E Individual values

Enterprise Reporting, Query, and Analysis

536

Core Development Tasks Using Connectivity and Interoperability

March 2006

I Interval S Selection option

In the report-report interface, only one single interval is permitted. Single values, intervals and free selection options (such as >, <, <>,) can be chosen. Hierarchy nodes are expanded in lists of single values. Only hierarchy nodes are permitted.

H Hierarchy nodes

When the system calls the receiver, the settings made in the Field Assignments dialog box are set. The system proposes all other field assignments generically. 4. Choose Close. The assignment details you defined are saved and are taken into account when the jump target is called.

4.3.1.1.3

Creating a Transaction as a Receiver

Use
You can assign a transaction as a receiver to a sender query in the BI system.

Prerequisites

If you want to jump from a Web application to a transaction or ABAP/4 report using the RRI, an ITS for the target system has to be assigned beforehand. See also Web Applications As Sender [Page 544]. The value of the input field to be supplied must be known at the time of the jump (for example by entering a single value on the selection screen of the sender or by the cursor position at the time of the jump). Sender and receiver fields that correspond to one another generally must link to the same data element or at least to the same domain, otherwise the values cannot be assigned to one another. The assignment of sender and receiver fields must always be a 1:1 assignment. For example, the transactions called from the start screen cannot have two input fields of the same data type. Then it is not clear which of the fields is to be supplied, which means neither of them is supplied. There has to be a complete chain from the DataSource of the source system to the InfoSource, through update rules up to the target. See also the section Transaction and ABAP/4 Report in Receiver [Page 533].

Procedure
For the Normal Case:
...

1. Specify a query or an InfoProvider as sender and choose 2. Choose Transaction as the report type for the receiver.

Create.

3. Choose a target system, either local for a transaction within the BI system or Source System for a transaction in another SAP system. 4. Specify the required transaction as the receiver report.

Enterprise Reporting, Query, and Analysis

537

Core Development Tasks Using Connectivity and Interoperability

March 2006

5. Choose

Install. You return to the Maintain Sender-Receiver Assignments screen.

For Special Cases:


For most transactions, the sender-receiver assignment works without more detailed specifications. For some transactions, however, it is necessary to make a detailed assignment. One reasons for this can be that the transaction uses a hidden initial screen and does not fill the parameters using the MemoryID of the data element. Proceed as follows after you have created the sender-receiver assignment as described above.
...

1. Select your sender-receiver assignment and choose Maintain Assignment Details [Page 534].

Assignment Details. See also

2. As the type, choose Table Field. The columns Field Name, Data Element, Domain and Set-/Get Parameter become input ready. 3. Specify the field name, data element, domain and parameter ID for the receiver transaction. You need to know this information because input help is not available. You can usually find the parameter ID in the ABAP dictionary entry for the data element. If this does not always make jumping to the transaction possible, it may be necessary to program a short ABAP start program. For more information on how to do this, see SAP Note number 383077 (RRI: Transaction call failed).

4.3.1.1.4

Creating a Web Address As a Receiver

Use
You can assign a Web address as a receiver to a sender query in the BI system.

Prerequisites
It may be necessary to insert an InfoObject that contains the value to be transferred into your sender query. See also the Examples for Jumping to Web Pages [Page 539].

Procedure
...

1. You are on the Maintain Sender-Receiver Assignments screen. Specify a query or an InfoProvider as sender and choose Create. 2. Choose Web Address as the report type for the receiver. 3. Enter the required Web address for the receiver report using input hlep. This Web address has to link directly to the input field. Examples for Jumping to Web Pages [Page 539] explains how to determine this.

If this Web page changes, you need to change your sender-receiver assignment accordingly. 4. Choose Install. You return to the Maintain Sender-Receiver Assignments screen. Assignment Details.

5. Select your sender-receiver assignment and choose

Enterprise Reporting, Query, and Analysis

538

Core Development Tasks Using Connectivity and Interoperability

March 2006

Now the system sets URL Parameter as the processing method (type) and it sets selection type to Parameter. 6. Enter the name of the input field in the Field Name column. Examples for Jumping to Web Pages [Page 539] explains how to determine this. 7. Choose Close. You return to the Maintain Sender-Receiver Assignments screen. 8. You can change the title of the report. This title is then displayed in the query as the jump target via the context menu. Save your entries.

Result
You can call the Web address from your query or Web application with the associated search term using Jump. The search parameter is then filled with the key for the associated InfoObject and the search results are displayed on the Web page.

Example
See Examples for Jumping to Web Pages [Page 539].

4.3.1.1.4.1

Examples for Jumping to Web Pages

Jump to CNN Money


You want to display the price of a customers stocks in a query. Goto the CNN Money Web page from the customers context menu.

Query definition:
Add the characteristic Stocks Search Item, which is a navigation attribute of Customer, to your query. You have to be able to drilldown to this characteristic in the query. It is transferred as a parameter when the report-report interface is called. Set the properties of the characteristic so that it is not to be displayed.

Enterprise Reporting, Query, and Analysis

539

Core Development Tasks Using Connectivity and Interoperability

March 2006

You have to define the characteristic Stocks Search Item so that the key of the characteristic transfers the exact search item.

No text can be transferred, only the key. In this case, the three-character long acronym for the company is transferred:
Aktiensuchbegriff CAT IBM SAP

The length of the characteristic has to be defined as three characters long. Otherwise all preceding spaces are filled with zeros.

Determining the Web address and field name:


To jump to the Web page with the search item, you need the Wed address of the page that is referred to in the input field of the stocks search item and the name of the input field. You have two options:
...

1. Look at the HTML code for the Web page: This is the appropriate section from the source code for the CNN Money Web page. The required parameters are highlighted in red. The URL that sends the data is after the tag form. The naming of the expected parameter comes after the tag input, in the attribute name. <form action="http://quote.money.cnn.com/quote/quote" method="get"> <td width="60" valign="bottom"> <img src="http://i.cnn.net/money/images/searchbar/enter_symbol.gif" alt="" width="49" height="16" hspace="3" vspace="0" border="0"></td> <td width="55" valign="bottom"> <input type="text" name="symbols" value="" size="5" maxlength="38" style="font-size: 11px"></td> ... 2. Execute the action on the Web page with a stocks search item. On the Web page, enter SAP, for example, in the search field and press enter. Copy the URL from the new window: http://quote.money.cnn.com/quote/quote?symbols=SAP You will see the query string after the question mark. All parameters name=value are listed here. Single parameters are separated by &.

Sender-receiver assignments:
Proceed as in Creating A Web Address as a Receiver [Page 538]. Specify the Web address that was determined previously http://quote.money.cnn.com/quote/quote.

Enterprise Reporting, Query, and Analysis

540

Core Development Tasks Using Connectivity and Interoperability

March 2006

In the assignment details for the InfoObject Stocks Search Item, specify the field name that was determined previously, SYMBOLS. You can set the Required Entry indicator so that the Web page is only ever called if the stocks search item is found on the Web page. Enter CNN Money as the title of the report.

Jump to Google
You want to research information on the Internet in a query for a customer. Goto the Google search engine from the customers context menu.

Query definition:
Define your query as described above with a characteristic that has the search item as its key.

Sender-receiver assignments:
Proceed as in Creating A Web Address as a Receiver [Page 538]. Determine the Web address that links to the entry field for the search as described above. In this case it is: http://www.google.com/search?. Enter Google as the title of the report. Enter q as the field name in the assignment details. This is the name of the entry field that you have already determined as described above. The key of the corresponding InfoObject is transferred to the Web page when the report-report interface is called.

4.3.1.2

BEx Query as Recipient

Use
You can assign a BEx Query in BI as recipient to another BEx Query as sender.

Features
In order to be able to call a query as a recipient with the RRI you need to be aware of a few guidelines during query definition.

General

Characteristics that are to be filled from the sender query must be defined as free characteristics. A hierarchy node restriction can also be transferred to free characteristics as a property, for example. Changeable variables for the recipient query are not filled by the RRI. Selections for various InfoObjects are transferred when the InfoObjects have the same reference characteristic.

See also the section BEx Query under Receivers [Page 533].

Using Hierarchies
When using hierarchies in the query, you should be aware of the following cases:

Enterprise Reporting, Query, and Analysis

541

Core Development Tasks Using Connectivity and Interoperability

March 2006

Sender and receiver queries use the same hierarchy or hierarchies that are based on the same basic characteristic. Jumping from one node in the hierarchy of the sender query to the same node of the hierarchy in the receiver query works as usual. The hierarchy settings are transferred with the RRI. Sender and receiver queries use different hierarchies: The hierarchy setting for the receiver query remains unchanged and the selections for the RRI are deleted. The system filters by leaves in the node.

A few InfoObjects are different from one another, but they are treated as assignable by the system. This is a special development for Business Content. For example, values are transferred from account number (0ACCOUNT) to cost element (0COSTELMNT) or to general ledger account (0GL_ACCOUNT). For more information, see the Example for a BEx Query As a Receiver [Page 542]. The receiver query uses a hierarchy, but the sender query does not: If the selections of the RRI only consist of single values, the hierarchy setting for the receiver query remains unchanged; otherwise the hierarchy is deactivated. The sender query uses a hierarchy, but the receiver query does not: The hierarchy is set to inactive.

Hierarchies and Compounded Characteristics


With hierarchies for compounded characteristics, you have to create a variable for the basic characteristic of the hierarchy for the receiver query so that the values can be transferred correctly. If you were to define the query without these variables, the dynamic filter would be used and the hierarchy would be deactivated due to the compounding of the InfoObject. When you use this non-changeable variable, the RRI can transfer the value to this variable and the hierarchy remains active.

Example
As a special case with different hierarchies and compounded characteristic, see the example Example for BEx Query as Receiver [Page 542].

4.3.1.2.1

Example of a BEx Query as a Receiver

The following example contains two peculiarities: The queries linked using the RRI use different hierarchies, and the basic characteristic of the hierarchy in the receiver query is a compounded characteristic. From a query on a cost element, you want to display the corresponding account. The queries are based on two different InfoCubes. The sender query uses a hierarchy that is based on the basic characteristic cost element (0COSTELMNT). The receiver query uses a hierarchy that is based on the characteristic account number (0ACCOUNT).

Enterprise Reporting, Query, and Analysis

542

Core Development Tasks Using Connectivity and Interoperability

March 2006

Hierarchies that are based on different characteristics cannot normally be transferred. However this a special case: The characteristics cost element (0COSTELMNT) and account number (0ACCOUNT) have the same key and are recognized by the system as similar characteristics whose values can be transferred to one another. The same link exists between account number (0ACCOUNT) and general ledger account (0GL_ACCOUNT). If this was not the case, the hierarchy in this example could not be transferred with the RRI.

Defining your receiver query:


As the hierarchy basic characteristic is a compounded characteristic (account number is compounded to chart of accounts), you have to create a variable for characteristic account number so that the values can be transferred correctly.

If you define the query without this variable, the dynamic filter will be used and the hierarchy will be deactivated because the InfoObject is compounded. By using this variable, which cannot be changed, the RRI can transfer the value to this variable and the display hierarchy remains active. Create a variable with the following properties for characteristic account number: Variable type Processing type Variable represents Variable value is Ready for input Changeable with query navigation Characteristic value variable Manual entry / Default value Selection option Optional Switched on Switched off

Creating sender/receiver Assignments


Create a sender/receiver assignment for both of your queries. You do not need to maintain the assignment details.

Executing the jump


When the hierarchies for both queries are structured in the same way, the jump from the sender query to the receiver query appears as follows:

Enterprise Reporting, Query, and Analysis

543

Core Development Tasks Using Connectivity and Interoperability

March 2006

Receiver Query Account Number


Personnel Costs Personnel Costs fixed 47110000

Balance
$500000,00 $490000,00 $490000,00

Sender Query Cost Element


Personnel Costs Personnel Costs fixed

Goto
Amount
$500000,00

$490000,00 Salaries $490000,00 Personnel Costs variable $10000,00 Travel Costs $10000,00 $1000,00 $1000,00 $500,00 $500,00 Building Costs fixed Electricity Water

Building Costs

When the hierarchies for both queries are structured in the same way, the jump from the sender query to the receiver query appears as follows:
Receiver Query Account Number Building Costs Electricity Electricity/4712000 Other Water/4713000 Sender Query Cost Element Personnel Costs Personnel Costs Fixed Amount $500000,00 $490000,00 Balance $500000,00 $490000,00 $490000,00 $10000,00 $10000,00

Salaries $490000,00 Personnel Costs Variable $10000,00 Travel Costs $10000,00 Building Costs Building Costs Fixed Electricity Water $1000,00 $1000,00 $500,00 $500,00

Goto

4.3.1.3

Web Applications As Sender

If you want to jump from a Web application to a transaction or ABAP/4 report using the RRI, first you need to install an Internet Transaction Server (ITS) for the target system. The transaction or ABAP report is than displayed in the SAP GUI for HTML, which is part of the ITS. The ITS is also used for jump targets within the BI server. However, this does not have to be installed separately because it is automatically included in a BI system. The URL for starting a transaction in SAP GUI for HTML is generated by the BI server.

Enterprise Reporting, Query, and Analysis

544

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.1.4

iView As Receiver

You can use the RRI within the portal. In sender/receiver assignment, you select Web Address as the receiver. The iView accessed can contain a BEx Web Application as well as a transaction. However, when creating sender/receiver assignment, there are a few things you need to be aware of so that when jumping you remain within the portal. For more information, see Jumping Using the Report-Report Interface in the Portal [External].

4.3.2
Purpose

Open Analysis Interfaces

SAP NetWeaver Business Intelligence provides an open architecture in many areas: You can extract data from different systems into a BI system and you can evaluate this data in your reporting using various front-end tools. The Business Explorer, the front-end component in BI, provides flexible reporting and analysis tools to support strategic analysis and decision making in your organization. For more information, see:

Query Design: BEx Query Designer [Page 353] Web Application Design: BEx Web Application Designer [Page 11] Analysis & Reporting: BEx Web Applications [External] BEx Mobile Intelligence [External] Analysis & Reporting: BEx Analyzer [External] Crystal Reports Integration [External] Collaboration & Distribution: Integration to the Enterprise Portal [External]

The following interfaces are available to connect third-party front-end tools to BI:

OLE DB for OLAP (ODBO) OLAP BAPI (Business Application Programming interface) XML for Analysis (XML/A)

All these interfaces are based on MDX (Multi-Dimensional Expressions). For more information, see MDX as Basis for the Interfaces [Page 547].

Integration
The following graphic illustrates the integration of the interfaces in BI:

Enterprise Reporting, Query, and Analysis

545

Core Development Tasks Using Connectivity and Interoperability

March 2006

Data Objects

Business Explorer OLAP Processor Enterprise Portal InfoProvider

Virtual Objects
MultiProvider InfoSet

XML/A OLE DB for OLAP BAPI ThirdParty Tools

Third-party front-end tools can send query requests to the MDX processor in the BI system via the available interfaces. This processor forwards the request to the OLAP processor. The OLAP processor accesses InfoProviders. These InfoProviders either contain the data objects themselves (InfoProviders of type target, such as InfoCube, DataStore object and InfoObject), or reporting-relevant views of data objects (MultiProviders, VirtualProviders, InfoSet).

MDX Processor

Features
The following table gives an overview of the available interfaces: OLE DB for OLAP (ODBO) Technical Basis COM (Component Object Model) protocol MDX is query request language RFC (Remote Function Call) protocol MDX is query request language XML is exchange format HTTP-/SOAP protocol MDX is query request language OLAP BAPI XML for Analysis (XML/A)

Prerequisites Driver installed on client system Platform Independence Only MS Windows platforms Unicode Capability Unicode not enabled The caller specifies the required Codepage [External] when establishing the RFC connection. Fully unicode enabled, by default UTF-8 (Unicode Transformation Format, 8 bit display). All platforms supported by SAP All platforms Access library available from all SAP platforms

Enterprise Reporting, Query, and Analysis

546

Core Development Tasks Using Connectivity and Interoperability

March 2006

Availability As of SAP BW 1.2B As of SAP BW 2.0A As of SAP BW 3.0A

The following overview illustrates the options discussed above which are available for accessing BI data using a particular interface.
Client Web Browser Web Service Rich client COM OLE DB for OLAP HTTP SOAP XML for Analysis BEx MDX Processor Metadata OLAP Processor RFC OLAP BAPIs

BI Server

InfoCube

DataStore

Master Data

Constraints
Platform Independence The platform determines which interface is used: OLE DB for OLAP requires MS Windows, OLAP BAPI requires an SAP platform. XML for Analysis is platform independent. Unicode Capability Note that the OLE DB for OLAP interface does not support unicode. The OLAP BAPI interface does support unicode, XML for Analysis supports unicode UTF-8.

4.3.2.1

MDX as Basis for the Interfaces

Definition
MDX (multi-dimensional expressions) is a language developed by Microsoft for queries using multi-dimensional data. An MDX expression returns a multi-dimensional result set (dataset) that consists of axis data and cell data. The syntax of multi-dimensional expressions is defined in the Microsoft specification OLE DB for OLAP.

Enterprise Reporting, Query, and Analysis

547

Core Development Tasks Using Connectivity and Interoperability

March 2006

Structure
The following table gives an overview of the most important components of MDX statements: MDX Component FROM SELECT ON COLUMNS ON ROWS WHERE Significance Cube selection Axes definition Definition of column axes Definition of rows axes Filter conditions definition

Example
The following example of a MDX request contains the above elements: SELECT { [Measures].[CKF_SI_PROFIT], [Measures].[0D_DOCUMENT], [Measures].[0D_OORVALSC] } ON COLUMNS, NON EMPTY [0D_PLANT].MEMBERS ON ROWS FROM [0D_SD_C03/SAP_DEMO_OLEDB] WHERE ( [0CALMONTH].[200101], [0D_COUNTRY].[US] ) The following graphic shows this example and the result:
SELECT { [Measures].[CKF_SI_PROFIT],[Measures].[0D_DOCUMENT], [Measures].[0D_OORVALSC] } ON COLUMNS, NON EMPTY [0D_PLANT].MEMBERS ON ROWS FROM [0D_SD_C03/SAP_DEMO_OLEDB] WHERE ( [0CALMONTH].[200201],[0D_COUNTRY].[US] ) JAN 2002, USA Profit $ 702.571,00 Frankfurt Manchester Calgary Chicago $ 236.088,00 $ 95.286,00 $ 226.487,00 $ 144.710,00 Document No. 33,000 9,000 6,000 9,000 9,000 Open Orders $ 266.658,00 $ 26.664,00 $ 26.664,00 $ 46.665,00 $ 166.665,00

Enterprise Reporting, Query, and Analysis

548

Core Development Tasks Using Connectivity and Interoperability Examples for basic modules Entity Member (characteristic value) Tuple (several characteristic values, various characteristics) Set (several tuples or member)

March 2006

Value (number, characters)

Example [City].[Las Vegas], [Time].[Year].[2003] ([City].[Las Vegas],[Time].[Year].[2003],[Event].[SAP TechEd 2003]) {([City].[Los Angeles],[Time].[Year].[2002]),([City].[Las Vegas],[Time].[Year].[2003]),} 5, red

Examples for expressions that generate the entities named above Expression Member as result Set as result Number as result Example <member>.PARENT TOPCOUNT(<set>,<index>,<numeric_value_expres sion>) MAX(<set>[, <numeric_value_expression>])

4.3.2.2

Mapping Metadata

Use
The OLE DB for OLAP specification defines a multi-dimensional schema. The BI OLE DB for OLAP providers support a subset of metadata objects that appear in this schema. Client applications can request metadata available in a system via the IDBSchemaRowset interface implemented by the OLE DB for OLAP providers. This metadata has the form of multi-dimensional schema rowsets. The MDDataProvider BW object provides these functions in OLAP BAPI. For more information about special methods for browsing in the Business Information Warehouse metadata and master data, see OLAP BAPI [Page 566] and MDDataProvidersBW [Page 568].

Features
The following graphic displays the model of BI metadata objects in the OLE DB for OLAP schemas:

Enterprise Reporting, Query, and Analysis

549

Core Development Tasks Using Connectivity and Interoperability

March 2006

OLE DB for OLAP Catalog Schema Cube Dimension (Measure) Hierarchy Level

BI InfoCube Not Supported Query


InfoObject(Characteristic)

(BI) Hierarchy Numbered Level or Name of Dummy Level Characteristic Value Display Attribute

Member Property

The OLE DB for OLAP specification schema concept is not supported by BI. The following sections describe the relationship between BI metadata objects and the OLE DB for OLAP specification schema in greater detail:
...

1. CATALOGS and CUBES SAP BI terminology: InfoCube [External] and Query [External] The OLE DB for OLAP specification catalog concept is supported by BI. The schema rowset CATALOG is supported. The CATALOG column, which is filled in all other schema rowsets, specifies the name of the InfoProvider whose data is accessed.

The current version of SAPs OLE DB for OLAP implementation allows for various options to access the data stored in an InfoProvider:
...

direct access without queries using the MDX command $InfoProvider (see variant1: Direct access to the data of an InfoProvider) with queries, created with the BEx Query Designer (see variant2: Access to InfoProvider data using a query).

We recommend that you define BEx queries for the requested InfoProvider, and use them as sources (variant2). Variant1: Direct access to the data of an InfoProvider With certain restrictions, you can directly access data belonging to a BI InfoProvider, using the MDX command $InfoProvider. This option is available for the following objects:

Enterprise Reporting, Query, and Analysis

550

Core Development Tasks Using Connectivity and Interoperability

March 2006

for all InfoCubes having type standard InfoCube and for MultiProviders as Cubes for all characteristics and key figures as Dimensions/Measures

Exceptions are navigation attributes and key figures that are neither restricted nor calculated. The following code fragment shows an appropriate example: SELECT { [Measures].[0D_DOCUMENT], [Measures].[0D_OORVALSC] } ON COLUMNS, NON EMPTY [0D_PLANT].MEMBERS ON ROWS FROM [$0D_SD_C03] WHERE ( [0CALMONTH].[200101], [0D_COUNTRY].[US] ) The following graphic shows the results table: The number of documents and the open orders are displayed in total and for individual US cities for January 2001.
JAN 2001, USA

Number of documents

Open orders

224,000

$ 1.439.134,33

Frankfurt

38,000

$ 93.539,90

Manchester

54,000

$ 187.235,32

Calgary

39,000

$ 187.772,97

Chicago

93,000

$ 970.586,14

Variant2: Access to InfoProvider data using a query The modeling of BEx queries onto Cubes is based on significant common structural features. Characteristics, key figures and calculated or restricted key figures are selected from underlying InfoProviders for BEx queries. The multi-dimensional dataset of a BEx query is named QUERY_CUBE. No data is replicated when constructing a QUERY_CUBE. Only the query definition is permanently stored in the database. At query run time, the QUERY_CUBE is filled with the data required to generate the requested dataset. Dataset The OLE DB for OLAP interface Dataset is a multi-dimensional result quantity defined with a MDX command. For more information, see MDX as Basis for the Interfaces [Page 547].

Enterprise Reporting, Query, and Analysis

551

Core Development Tasks Using Connectivity and Interoperability

March 2006

Note that you need to release queries for them to be used in OLE DB for OLAP providers. In the Query Properties dialog box, set the indicator for Allow External Access to This Query. For more information, see Query Properties [Page 438] (on the Specific tab page). In the query definition, do not use formulas with the operators %GT, %RT, %CT, SUMGT, SUMRT, SUMCT or LEAF, as these are dependent on the list display in the BEx Analyzer and could return other unexpected values via OLE DB for OLAP or MDX. It is possible to achieve the desired result with constant selection. For more information, see Constant Selection [External]. Do not use variables with replacements from the result of a query which contains entry-ready variables. This is because these variables cannot be entered via MDX. You can use variables with type pre-calculated value set instead of a variable with the processing type replacement path. For more information, see Replacement Path: Replacement from Query [Page 425] and Details [Page 417]. You can also use variables in BEx queries using SAP BI-specific OLE DB for OLAP providers enhancements. For more information, see SAP Variables [Page 561]. The following graphic illustrates the data flow:
Presentation Server; OLE DB Client

MDX Request BI Application Server

Datasets OLE DB for OLAP Response

OLAP Processor processes QUERY_CUBE (BEx: Query) Database Server

(Standard) InfoCube, MultiProvider

InfoCubes -stored in star schema

2. DIMENSIONS BI terminology: Characteristics [External] A dimension rowset for a cube is filled with all free characteristics and the special MEASURES dimension. BI structures are modeled to dimensions. In the BEx Query Designer, you can set a technical name in the properties of structures or structural components. Otherwise, the UNIQUE-ID (UID) is used. For more information, see Structure Properties [Page 459] and Properties in the Selection/Formula [Page 450]. Dimensions are constructed hierarchically (see HIERARCHIES and LEVELS below).

Enterprise Reporting, Query, and Analysis

552

Core Development Tasks Using Connectivity and Interoperability

March 2006

Note that in BI, a dimension [External] relates to a group of related characteristics, for example, the characteristics relating to time dimension groups such as calendar year or fiscal year. 3. MEASURES BI terminology: Key Figures [External] Measures are handled in the OLE DB for OLAP Specification as Members of a special Dimension, the dimension MEASURES. The following graphic illustrates this:
BI Query Characteristic 1: Region Char. 2: Fiscal Year Char. 3: Customer Structure for Key Figures Member1: Costs Member2: Sold Quantity Member3: Revenue Measures Costs Sold Quantity Revenue Variable1: Cost Center SAP Variables Cost Center Structure of QUERY_CUBE Dimension1: Region Dimension2: Fiscal Year Dimension3: Customer Measures-Dimension

Calculated and restricted key figures are modeled as Measures by default. They give OLE DB for OLAP interface consumers access to complex key figure definitions. Defining calculated and restricted key figures on the provider-end of the interface has the following advantages: Performance is not compromised There are fewer complexities for the customer Consistent interpretation and use of derived key figures is guaranteed for various application areas.

At runtime, you can also request other calculations in addition to CALCULATED MEMBER using MDX syntax. For more information, see Examples for CALCULATED MEMBER [Page 554]. 4. HIERARCHIES and LEVELS Every characteristic in a BI query is modeled to a dimension with a flat hierarchy in the OLE DB for OLAP interface. The UNIQUE NAME of this Hierarchy is the same as the UNIQUE NAME of the Dimension. This Hierarchy has the following levels:

Enterprise Reporting, Query, and Analysis

553

Core Development Tasks Using Connectivity and Interoperability

March 2006

Level 0 with ALL Members (all members are displayed irrespective of their position in the hierarchy). Level 1 with a subset of master data table values.

BI hierarchies [External] can be established as additional Hierarchies. For more information about maintaining BI hierarchies, see Hierarchies [External].

Time dependency in MDX The term time dependency does not exist in Microsofts MDX specification. According to this specification, the same hierarchy, and therefore the same key date, has to be used in both MDX and in function BAPI_MDPROVIDER_GET_MEMBERS. Because the current date is always used when you call BAPI_MDPROVIDER_GET_MEMBERS, BI hierarchies with time-dependent names or time-dependent structures are also evaluated with the current key date. Key date variables are also ignored in MDX. However, you can set a date other than the current date for the current session using function BAPI_MDPROVIDER_SET_KEY_DATE. For consistency reasons, the query key date of all subsequent MDX executions are also replaced by this date. You use BAPI_MDPROVIDER_GET_KEY_DATE to get the value that you set using BAPI_MDPROVIDER_SET_KEY_DATE. If no value has been set, this function returns the current date. You can use these two functions like you use other BAPIs delivered by SAP. Enter the date in the SAP-internal format YYYYMMDD. The field Default Hierarchy for Dimension Rowset is filled with the presentation hierarchy of a BI query definition. For more information about selecting a hierarchy as a presentation hierarchy, see Selecting Hierarchies [Page 376] and, in particular, Characteristic Properties [Page 444]. 5. MEMBERS BI terminology: Characteristic values (instances of characteristics) 6. PROPERTIES PROPERTIES are the dimension properties (properties for each dimension level). BI terminology: Attributes [External]

4.3.2.2.1

Examples for CALCULATED MEMBER

You can use the MDX Calculated Member construct to define new Members for special functions, depending on existing Members of Dimensions and Measures. The following examples show how the MDX function Calculated Member is used to:

Calculate formulas (example 1) Filter using multiple values (example 2)

Enterprise Reporting, Query, and Analysis

554

Core Development Tasks Using Connectivity and Interoperability

March 2006

Calculate the linear regression (example 3)

Example 1
Use Calculated Member to:

Create formulas ad hoc, in which you can use expressions that are not key figures, as well as special MDX commands such as CURRENTMEMBER, PREVMEMBER, LEAD and LAG

The OLAP processor returns the figures; the MDX processor makes the calculation. The following code fragment gives an example of this: At runtime, the Calculated Member profit change from previous month (Profit Change) is calculated by subtracting the Profit for the previous month from the profit for the current month: WITH MEMBER [Measures].[Profit Change] AS '( ([Measures].[CKF_SI_PROFIT]) - ([Measures].[CKF_SI_PROFIT], [0CALMONTH].PREVMEMBER) )' SELECT { [Measures].[CKF_SI_PROFIT], [Measures].[Profit Change] } ON COLUMNS, NON EMPTY [0CALMONTH].[LEVEL01].MEMBERS ON ROWS FROM [0D_SD_C03/SAP_DEMO_ODBO] The following graphic displays the results table: Both the profit and the profit change against the previous month is shown for all months of the year 2001.
Profit JAN 2001 FEB 2001 MAR 2001 APR 2001 MAY 2001 JUN 2001 JUL 2001 AUG 2001 SEP 2001 OCT 2001 NOV 2001 DEC 2001 11.324.466,00 * 7.767.949,00 * 9.598.544,00 * 7.225.499,00 * 9.216.444,00 * 12.050.631,00 * 14.757.033,00 * 558.144,00 MIX 14.834.377,00 * 13.158.103,00 * 17.673.019,00 * 13.833.383,00 * Profit Change 11.324.466,00 * -3.556.517,00 * 1.830.595,00 * -2.373.045,00 * 1.990.945,00 * 2.834.187,00 * 2.706.402,00 * -14198889,00 14276233,00 -1.676.274,00 * 4.514.916,00 * -3.839.636,00 *

Example 2
Using the MDX function AGGREGATE allows you to carry out multiple filtering at run time.

Enterprise Reporting, Query, and Analysis

555

Core Development Tasks Using Connectivity and Interoperability

March 2006

The following MDX fragment gives an example of this. At run time, the filter specified in the WHERE clause is constructed. The system aggregates along the three values in the Calculated Member AGGREGATE function. WITH MEMBER [0D_PLANT].[Aggregate] AS 'AGGREGATE( { [0D_PLANT].[1111], [0D_PLANT].[2222], [0D_PLANT].[6666] } )' SELECT { [Measures].[CKF_SI_PROFIT], [Measures].[0D_DOCUMENT], [Measures].[0D_OORVALSC] } ON COLUMNS, NON EMPTY [0CALMONTH].[LEVEL01].MEMBERS ON ROWS FROM [0D_SD_C03/SAP_DEMO_ODBO] WHERE ([0D_PLANT].[Aggregate]) The following graphic shows the results table: The system returns the profit, the number of documents, and the open orders for the months in 2001 for the selected values OD_PLANT = 1111,2222,6666.
Aggregate Profit JAN 2001 FEB 2001 MAR 2001 APR 2001 MAY 2001 JUN 2001 JUL 2001 AUG 2001 SEP 2001 OCT 2001 NOV 2001 DEC 2001 7.285.219,00 * 1.739.881,00 * 4.780.278,00 * 2.424.971,00 * 3.396.595,00 * 7.353.737,00 * 9.072.158,00 * 558.144,00 MIX 8.229.915,00 * 5.652.256,00 * 10.243.235,00 * 7.868.259,00 * Number of documents 117,000 75,000 105,000 90,000 108,000 114,000 142,000 359,000 135,000 99,000 114,000 117,000 Open orders 1.457.574,00 * 764.598,00 * 1.832.472,00 * 607.362,00 * 899.562,00 * 1.810.962,00 * 2.409.090,00 * 316.800,00 MIX 3.163.524,00 * 931.890,00 * 3.999.390,00 * 3.779.490,00 *

Example 3
Using Calculated Member also allows you to apply linear regression, a special form of time series analysis. In linear regression, the line of best-fit is calculated from a series of dots. This function can be used to predict future values. The following code fragment shows an appropriate example: WITH SET [Month] AS YTD( [0CALMONTH].[200112] ) MEMBER [Measures].[Predict] AS

Enterprise Reporting, Query, and Analysis

556

Core Development Tasks Using Connectivity and Interoperability LinRegPoint( Rank( [0CALMONTH].CURRENTMEMBER, [Month] ), [Month], [Measures].[CKF_SI_PROFIT], Rank( [0CALMONTH].CURRENTMEMBER, [Month] ) ) SELECT { [Measures].[CKF_SI_PROFIT], [Measures].[Predict] } ON COLUMNS, [Month] ON ROWS FROM [0D_SD_C03/SAP_DEMO_ODBO]

March 2006

The following graphic displays the results table: The profit is displayed as is the predicted value taken from the linear regression calculation:
Profit JAN 2001 FEB 2001 MAR 2001 APR 2001 MAY 2001 JUN 2001 JUL 2001 AUG 2001 SEP 2001 OCT 2001 NOV 2001 DEC 2001 11.324.466,00 * 7.767.949,00 * 9.598.544,00 * 7.225.499,00 * 9.216.444,00 * 12.050.631,00 * 14.757.033,00 * 558.144,00 MIX 14.834.377,00 * 13.158.103,00 * 17.673.019,00 * 13.833.383,00 * Predict 7991404,68 8538385,53 9085366,37 9632347,22 10179328,06 10726308,91 11273289,76 11820270,60 12367251,45 12914232,29 13461213,14 14008193,99

The following chart depicts the actual profit values per month (blue dots) against the predicted values (red dots) on the line of best-fit:

Enterprise Reporting, Query, and Analysis

557

Core Development Tasks Using Connectivity and Interoperability

March 2006

20.000.000,00 18.000.000,00 16.000.000,00 14.000.000,00 12.000.000,00 10.000.000,00 8.000.000,00 6.000.000,00 4.000.000,00 2.000.000,00 0,00
1 1 1 1 01 01 00 01 00 001 001 001 001 00 001 00 2 l2 g2 p2 T2 v2 C2 20 20 R 2 r 20 Y 2 b n n Ja Fe MA Ap MA Ju Ju Au Se OC No DE

4.3.2.3

MDX Leveling

Definition
OLE DB defines interfaces for access to data types that can be stored in different data stores. In accordance with OLE DB for OLAP criteria, SAP NetWeaver Business Intelligence has implemented a large part of the specified leveling rules. To get the latest information about BIspecific special features, third-party client applications can check the settings specified in the property set DBPROPSET_DATASOURCEINFO for BW-OLE DB for OLAP providers.

Use
SAP NetWeaver Business Intelligence supports the following leveling rules: Leveling Rule Type of DataSource The DataSource type is always multi-dimensional. Flattening Flattening is fully supported. Named Level Levels with names are supported. Join Cubes Join Cubes are not supported. Property ID and Values ID: DBPROP_DATASOURCE_TYPE Value: DBPROPVAL_DST_MDP ID: MDPROP_FLATTENING_SUPPORT Value: MDPROPVAL_FS_FULL_SUPPORT ID: MDPROP_NAMED_LEVEL Value: MDPROPVAL_NL_NAMEDLEVELS ID: MDPROP_MDX_JOINCUBE Value: MDPROPVAL_MJC_SINGLECUBE

Enterprise Reporting, Query, and Analysis

558

Core Development Tasks Using Connectivity and Interoperability

March 2006

Number of Axes 10 axes are currently supported. Additional restrictions apply to the number of Dimensions and Hierarchies that are allowed to be used at the same time in a MDX command:

ID: MDPROP_AXES

A maximum of 48 Dimensions, in addition to the MEASURES Dimension A maximum of one Hierarchy for each Dimension. ID: MDPROP_AGGREGATECELL_UPDATE Value: MDPROPVAL_AU_UNSUPPORTED ID: MDPROP_RANGEROWSET Value: MDPROPVAL_RR_READONLY ID: MDPROP_MDX_SLICER Value: MDPROPVAL_MS_MULTIPLETUPLES

Refreshing Cell Data Refreshing cell data is not supported. RangeRowsets RangeRowsets are only read. Filters/Slicer Axis BI supports several tuples in a filter, providing that these tuples belong to precisely one and the same dimension or that they can be created as a CROSSJOIN(s) across sets to one and the same Dimension. In addition, you can use the AGGREGATE function to enable multiple filters (see Examples for CALCULATED MEMBER [Page 554]). Outer Reference Outer reference is not supported. Using Attributes (MDX: Properties) BI supports queries using dimension properties in a MDX statement. Case Commands Case commands are not supported. String Comparison BI only supports the equal and unequal comparison operators for strings. Descendants Flags SELF, BEFORE and AFTER are supported in all combinations. Set Functions As well as the standard functions, the following functions are also supported:

ID: MDPROP_MDX_OUTERREFERENCE Value: Zero ID: MDPROP_MDX_QUERYBYPROPERTY

ID: MDPROP_MDX_CASESUPPORT Value: Zero ID: MDPROP_MDX_STRING_COMPOP Value: Zero

ID: MDPROP_MDX_DESCFLAGS Value: MDPROPVAL_MD_SELF MDPROPVAL_MD_BEFORE MDPROPVAL_MD_AFTER ID: MDPROP_MDX_SET_FUNCTIONS Value: MDPROPVAL_MSF_TOPPERCENT MDPROPVAL_MSF_BOTTOMPERCENT MDPROPVAL_MSF_TOPSUM

Enterprise Reporting, Query, and Analysis

559

Core Development Tasks Using Connectivity and Interoperability

March 2006

TOPPERCENT, BOTTOMPERCENT, TOPSUM, BOTTOMSUM, DRILLDOWNMEMBER, DRILLDOWNLEVEL, DRILLDOWNMEMBERTOP, DRILLDOWNMEMBERBOTTOM, DRILLDOWNLEVELTOP, DRILLDOWNLEVELBOTTOM, DRILLUPMEMBER, DRILLUPLEVEL, PERIODSTODATE, LASTPERIODS, YTD, QTD, MTD, WTD.

MDPROPVAL_MSF_BOTTOMSUM MDPROPVAL_MSF_DRILLDOWNMEMBER MDPROPVAL_MSF_DRILLDOWNLEVEL MDPROPVAL_MSF_DRILLDOWNMEMBERT OP MDPROPVAL_MSF_DRILLDOWNMEMBERB OTTOM MDPROPVAL_MSF_DRILLDOWNLEVELTO P MDPROPVAL_MSF_DRILLDOWNLEVELBO TTOM MDPROPVAL_MSF_DRILLUPMEMBER MDPROPVAL_MSF_DRILLUPLEVEL MDPROPVAL_MSF_YTD MDPROPVAL_MSF_QTD MDPROPVAL_MSF_MTD MDPROPVAL_MSF_WTD ID: MDPROP_MDX_MEMBER_FUNCTIONS Value: MDPROPVAL_MMF_COUSIN MDPROPVAL_MMF_PARALLELPERIOD MDPROPVAL_MMF_OPENINGPERIOD MDPROP_MMF_CLOSINGPERIOD ID: MDPROP_MDX_NUMERIC_FUNCTIONS Value: MDPROPVAL_MNF_MEDIAN MDPROPVAL_MNF_VAR MDPROPVAL_MNF_STDDEV MDPROPVAL_MNF_RANK MDPROPVAL_MNF_AGGREGATE MDPROPVAL_MNF_COVARIANCE MDPROPVAL_MNF_CORRELATION MDPROPVAL_MNF_LINREGSLOPE MDPROPVAL_MNF_LINREGVARIANCE MDPROPVAL_MNF_LIGREGR2 MDPROPVAL_MNF_LINREGPOINT ID: MDPROP_MDX_FORMULAS Value: MDPROPVAL_MF_WITH_NAMEDSETS MDPROPVAL_MF_CREATE_NAMEDSETS MDPROPVAL_MF_WITH_CALCMEMBERS MDPROPVAL_MF_CREATE_ CALCMEMBERS MDPROPVAL_MF_SCOPE_SESSION ID: MDPROP_MDX_NONMEASURE_EXPRESSONS Value: MDPROPVAL_NME_ALLDIMENSIONS

Member Functions As well as the standard functions, the following functions are also supported: COUSIN, PARALLELPERIOD, OPENINGPERIOD, CLOSINGPERIOD. Numerical Functions As well as the standard functions, the following functions are also supported: MEDIAN, VAR, STDDEV, RANK; AGGREGATE, COVARIANCE, CORRELATION, LINREGSLOPE, LINREGVARIANCE, LIGREGR2, LINREGPOINT

Formulas WITH SET/MEMBER and CREATE SET/MEMBER are supported in the local and in the SESSION context.

Numerical Functions in SET Commands BI supports statements with Dimensions.

Enterprise Reporting, Query, and Analysis

560

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.4

SAP Variables

Definition
In SAP NetWeaver Business Intelligence, variables [External] are a means of parameterizing queries. Variables can also be used in Open Analysis Interfaces using various BI-specific enhancements to the MDX syntax. In this context, variables are called SAP variables.

For more information about BI-specific enhancements, see: BI-Specific Enhancement: Schema-Rowset SAP VARIABLES [Page 562] BI-Specific Enhancement: MDX Syntax [Page 565]

Use
Variables function as placeholders for the following objects: Name in SAP NetWeaver Business Intelligence Characteristic values, hierarchy nodes, precalculated value sets Hierarchies Formula variables Text variables Name in OLE DB for OLAP Specification MEMBER_UNIQUE_NAME HIERARCHY_UNIQUE_NAME Number values Strings

Variables for characteristic values, hierarchy nodes and pre-calculated value sets differ in the following ways with regard to the SAP VARIABLES schema rowset REFERENCE_HIERARCHY:

With characteristic variables, REFERENCE_HIERARCHY = REFERENCE_DIMENSION. With hierarchy node variables, REFERENCE_HIERARCHY is either filled with the technical name of the hierarchy or, with a variable hierarchy, it remains empty. Note: The hierarchy name must also be specified in member HryUnam for method GetMembers for the MDDataProviderBW Business object (see MDDataProviderBW.GetMembers [Page 572]). With pre-defined value sets, REFERENCE_HIERARCHY is filled with the corresponding technical name and is never empty.

For more information, see BI-Specific Enhancement: SAP VARIABLES Schema Rowset [Page 562] . Variables can be displayed as follows: a single value such as a MEMBER_UNIQUE_NAME an interval as value area or complex selection of values (such as a list of single values or intervals connected to one another with OR).

selection options (special selection options can be entered via <option>, see BI-Specific Enhancement: MDX Syntax [Page 565])

Enterprise Reporting, Query, and Analysis

561

Core Development Tasks Using Connectivity and Interoperability

March 2006

For more information about variables in BI, see the Business Explorer documentation under the following links: Variable Types [Page 404] Variable Types and Processing Types: An Overview [Page 413] Details [Page 417]

4.3.2.4.1

BI-Specific Enhancement: Schema Rowset SAP VARIABLES

Definition
The schema rowset SAP VARIABLES contains the list of SAP variables in the rows and, in the columns, information about the properties of SAP variables for a specific QUERY_CUBE. GUID MDSCHEMA_SAP_VARIABLES Number of Restrictions 1 Restriction Columns CUBE_NAME

Use
DEFINE_GUID(MDSCHEMA_SAP_VARIABLES, 0xcaff2c30, 0x30d, 0x11d3, 0x87, 0x1, 0x0, 0x10, 0x5a, 0x18, 0x50, 0x2e);

Structure
Column Name CATALOG_NAME SCHEMA_NAME CUBE_NAME VARIABLE_NAME Type Indicator DBTYPE_WSTR DBTYPE_WSTR DBTYPE_WSTR DBTYPE_WSTR Description Name of Catalog to which the Cube belongs Not supported Name of QUERY_CUBE to which the variable belongs

Name of variable. A variable name can have leading zeros this reason, the provider always returns the name with separators.

VARIABLE_CAPTION VARIABLE_UID VARIABLE_ORDINAL VARIABLE_TYPE

DBTYPE_WSTR DBTYPE_GUID DBTYPE_I2 DBTYPE_I2

A description (label or caption) associated with the variable that is mainly used for the display. Variable GUID An ordinal number assigned to a variable in the group of variables for a Cube. Variable type. The following values are possible:

SAP_VAR_TYPE_MEMBER. The variable is a placeholder for a selection for MEMBER_UNIQUE_NAMES. SAP_VAR_TYPE_HIERARCHY. The variable is a

Enterprise Reporting, Query, and Analysis

562

Core Development Tasks Using Connectivity and Interoperability

March 2006

placeholder for a HIERARCHY_UNIQUE_NAME.

SAP_VAR_TYPE_NUMERIC. The variable is a placeholder for a numerical value in formulas

For more information, see the Constants section. DATA_TYPE DBTYPE_UI2

Data type of variable values. Possible entries here are the types appearing in appendix A of the OLE DB Programme Reference.

CHARACTER_MAXIMUM_ LENGTH VARIABLE_PROCESSING_TYPE

DBTYPE_UI4 DBTYPE_UI2

Maximum length of variable values having data type Chara

Processing type for variable. The following value is possib

SAP_VAR_PROC_TYPE_USER_INPUT. You can manually enter values for the variable before execut the query.

With this processing type, only the variables are returned t OLE Db for OLAP interface.

For more information, see Variable Types an Processing Types: An Overview [Page 413]. VARIABLE_SELECTION_TYPE DBTYPE_UI2

Variable selection type. Variables with type SAP_VAR_TYPE_MEMBER allow the selection of single values, intervals, and complex selection options with a sin variable. The following values are possible for the selection types:

SAP_VAR_SEL_TYPE_VALUE. The variable is replaced by a single value. This is the only possible selection type for variables with type NUMERIC. SAP_VAR_SEL_TYPE_INTERVAL. The variable is placeholder for an interval. SAP_VAR_SEL_TYPE_COMPLEX. The variable is placeholder for a complex selection.

For more information about the display areas variables in BI, see Details [Page 417]. VARIABLE_ENTRY_TYPE DBTYPE_UI2

Type that shows whether replacing variables is optional or mandatory: The following values are possible for the entry type:

SAP_VAR_INPUT_TYPE_OPTIONAL. Specifying a value is optional for this variable.

SAP_VAR_INPUT_TYPE_MANDATORY. You mus specify this variable. When no value is specified for variable, executing the Statement results in termina with an error message.

SAP_VAR_INPUT_TYPE_MANDATORY_NOT_INI

Enterprise Reporting, Query, and Analysis

563

Core Development Tasks Using Connectivity and Interoperability

March 2006

These variables must be specified. When no value i specified for the variable, executing the Statement results in termination with an error message. An init field is not a valid entry.

For more information about the creation type variables, see Details [Page 417]. REFERENCE_DIMENSION DBTYPE_WSTR This column contains a DIMENSION_UNIQUE_NAME for parameter type SAP_VAR_TYPE_HIERARCHY.

Note that the Dimension must not appear in t QUERY_CUBE. You must select a value for hierarchy from this dimension. REFERENCE_HIERARCHY DBTYPE_WSTR

This column contains a HIERARCHY_UNIQUE_NAME for variable type SAP_VAR_TYPE_MEMBER.

Note that the hierarchy must not be containe the QUERY_CUBE. DEFAULT_LOW Variant Either contains a default value for the variable or is zero.

The current type of this column is the same as the data typ displayed in the column DATA_TYPE. DEFAULT_LOW_CAP DEFAULT_HIGH DBTYPE_WSTR Variant

A description (label or caption) associated with the Default Member. Either contains a default value for the variable or is ZERO is only important for variables with the selection type SAP_VAR_SEL_TYPE_INTERVAL and SAP_VAR_SEL_TYPE_SELECTION.

DEFAULT_HIGH_CAP DESCRIPTION

DBTYPE_WSTR DBTYPE_WSTR

A description (label or caption) associated with the Default Member. A readable description of the variable.

Integration
MDX Statement
To execute an MDX statement that selects data from a parameterized Cube, you need to specify variable values for all obligatory variables in the MDX statement. For more information, see BI-Specific Enhancement: MDX Syntax [Page 565].

Constants
In the C coding, use the following define statements for the constants defined in the schema rowset SAP VARIABLES (see column VARIABLE_TYPE). #define SAP_VAR_TYPE_MEMBER 1 #define SAP_VAR_TYPE_NUMERIC 2 #define SAP_VAR_TYPE_HIERARCHY 3

Enterprise Reporting, Query, and Analysis

564

Core Development Tasks Using Connectivity and Interoperability #define SAP_VAR_PROC_TYPE_USER_INPUT 1 #define SAP_VAR_SEL_TYPE_VALUE 1 #define SAP_VAR_SEL_TYPE_INTERVAL 2 #define SAP_VAR_SEL_TYPE_COMPLEX 3 #define SAP_VAR_INPUT_TYPE_OPTIONAL 0 #define SAP_VAR_INPUT_TYPE_MANDATORY 1 #define SAP_VAR_INPUT_TYPE_MANDATORY_NOT_INITIAL 2 See also: Documentation for OLAP BAPI MDDataProviderBW: MDDataProviderBW.GetVariables [Page 574] Export Parameter Variables [Page 591]

March 2006

4.3.2.4.2

BI-Specific Enhancement: MDX Syntax

The BI-specific line sap_variables is used as an enhancement to MDX syntax to specify variable values for all obligatory variables in an MDX statement. This line contains a list of name value pairs of SAP variables. The following production rules are the enhancements that were defined to support a variable value specification in a MDX SELECT statement. Variable support comprises a new clause containing the SAP variables and their values. <select_statement> : [WITH <formula_specification>] SELECT [<axis_specification> [, <axis_specification>]] FROM <cube_specification> [WHERE <slicer_specification>] [<cell_props>] [SAP VARIABLES <sap_variable> [[,] <sap_variable>]] <sap_variable> : <sign> : <option> : <variable_name> <sign> [<option>] <variable_value> INCLUDING | EXCLUDING = | > | >= | < | <= | <>

<variable_value> : <unique_member_name> | <unsigned_numeric_literal> | <dimension> | <string_value_expression> | <member> : <member> | <character_string_literal> : <character_string_literal> | <unsigned_numeric_literal> : <unsigned_numeric_literal>

Example
Specifying a Single Value for a Variable
SELECT [Measures].members ON COLUMS, NON EMPTY [ODB_CUST].members ON ROWS FROM [ODBOSCEN1/MKTBRANCH] SAP VARIABLES [ODBBRANC] INCLUDING [ODB_BRANC].[CHEM]

Enterprise Reporting, Query, and Analysis

565

Core Development Tasks Using Connectivity and Interoperability

March 2006

Excluding a Single Value for a Variable


SELECT [Measures].members ON COLUMS, NON EMPTY [ODB_CUST].members ON ROWS FROM [ODBOSCEN1/MKTBRANCH] SAP VARIABLES [ODBBRANC] EXCLUDING [ODB_BRANC].[CHEM]

Specifying an Interval as a Value Area for a Variable


SELECT [Measures].members ON COLUMS, NON EMPTY [0CALYEAR].members ON ROWS FROM [ODBOSCEN1/MKTCUST] SAP VARIABLES [ODBCUST] INCLUDING [ODB_CUST].[B01]:[ODB_CUST].[C05]

Specifying a List of Values and Intervals for a Selection Variable


SELECT [Measures].members ON COLUMS, NON EMPTY [ODB_BRANC].members ON ROWS FROM [ODBOSCEN1/MKTPROD] SAP VARIABLES [ODBPROD] INCLUDING [ODB_PROD].[CP01230111] [ODBPROD] INCLUDING [ODB_PROD].[LP10101190] [ODBPROD] INCLUDING [ODB_PROD].[PP98010102]:[ODB_PROD].[PR48666001]

4.3.2.5

OLAP BAPI

Purpose
OLAP BAPIs (Business Application Programming Interfaces) offer third-parties and customers who program for themselves an industry standard for accessing BW business processes and data, via their own frontend tool. OLAP BAPIs are defined in the BOR (Business Object Repository) as methods belonging to SAP Business object types. They are implemented as RFC-enabled function modules. Applications, regardless of their OLAP architecture, can use the available methods to connect to the BW server.

Implementation Considerations
You can find information about the technical requisites for using OLAP BAPIs under Open Analysis Interfaces [Page 545].

Integration
SAP BW provides direct access via the BAPI library so as to enable a platform-independent access to the OLAP BAPIs. Communication takes place via an RFC (Remote Function Call).

Features
The following OLAP BAPIs can be selected: OLAP BAPI MDDataProviderBW [Page 568] Features Methods used to browse BW metadata and master

Enterprise Reporting, Query, and Analysis

566

Core Development Tasks Using Connectivity and Interoperability data MDDataSetBW [Page 575]

March 2006

Methods used to execute multi-dimensional result sets and fetch data

The following graphic provides an overview of the methods for OLAP BAPI MDDataProviderBW:

GetCatalogs GetCubes GetDimensions GetHierarchies

MDDataProviderBW

GetLevels GetMeasures GetMembers GetProperties GetVariables

The following graphic provides an overview of the methods for OLAP BAPI MDDataSetBW:

CheckSyntax CreateObject DeleteObject FindCell

MDDataSetBW

FindTuple GetAxisData GetAxisInfo GetCellData SelectData

Enterprise Reporting, Query, and Analysis

567

Core Development Tasks Using Connectivity and Interoperability

March 2006

The BAPI Explorer provides an overview of the dataset of BAPIs to be found in the BOR. You can call it up by going to the SAP Easy Access menu, and choosing Tools ABAP Workbench Overview BAPI Explorer (Transaction BAPI). Here you can find all SAP Business object/ interface types for which BAPIs were defined in a hierarchical or alphabetical order. You can find the Business Explorer (with the OLAP BAPIs) and Warehouse Management areas in the hierarchical tree structure under the SAP Business Information Warehouse component.

4.3.2.5.1

MDDataProvider BW

Definition
The Business Object MDDataProviderBW delivers a multi-dimensional provider for BW metaand master-data. The following table contains details about the BAPI definition: Object type Package Component BUS6110 RSR_MDX BW-BEX

Use
MDDataProviderBW is available as of release 46A.

Structure
There are the following methods for this OLAP BAPI: MDDataProviderBW.GetCatalogs [Page 569] MDDataProviderBW.GetCubes [Page 569] MDDataProviderBW.GetDimensions [Page 570] MDDataProviderBW.GetHierarchies [Page 570] MDDataProviderBW.GetLevels [Page 571] MDDataProviderBW.GetMeasures [Page 572] MDDataProviderBW.GetMembers [Page 572] MDDataProviderBW.GetProperties [Page 573] MDDataProviderBW.GetVariables [Page 574]

Integration
MDDataSetBW [Page 575] is also available as an additional OLAP BAPI.

Enterprise Reporting, Query, and Analysis

568

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.1.1

MDDataProviderBW.GetCatalogs

Functions
The GetCatalogs method for the MDDataProviderBW Business Object returns a list of CATALOGS in the BI system.

A CATALOG is an InfoProvider for which one or more BEx queries was released for use in the OLE DB for an OLAP provider. For more information, see Mapping Metadata [Page 549] and Query Properties [Page 438].

Notes
This method is instance independent. Parameter

Export Parameter Catalogs [Page 585] Export Parameter Return [Page 599]

4.3.2.5.1.2

MDDataProviderBW.GetCubes

Functions
The GetCubes method for the MDDataProviderBW Business Object returns a list of BEx Queries released for OLE DB for OLAP. You can restrict the list to a particular CATALOG (a BW InfoProvider).

You can find additional information from Mapping Metadata [Page 549].

Notes
This method is instance-independent. Parameters

Import parameter: CatNam Import parameter: CubeNam Import parameter: CubeType Export Parameter: Cubes [Page 585] Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

Enterprise Reporting, Query, and Analysis

569

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.1.3

MDDataProviderBW.GetDimensions

Functions
The GetDimensions method for the MDDataProviderBW Business object returns a list of DIMENSIONS (BW InfoObjects with type Characteristic [External]) for a particular CUBE (BW query). There is also a DIMENSION [measures] with type MD_DIMTYPE_MEASURES, which contains all key figures of the query. For queries with tow structures, these are also treated as DIMENSIONS. If a structure contains key figure selections, the structure is interpreted as a DIMENSION with type MD_DIMTYPE_OTHER_NO_AGGREGATION ; any other structure is interpreted as a DIMENSION with type MD_DIMTYPE_UNKNOWN.

You can find additional information from Mapping the Metadata [Page 549].

Notes
This method is instance-independent. Parameters

Import parameter: CatNam Import parameter: CubeNam Import parameter: DimNam Import parameter: DimUnam Export Parameter: Dimensions [Page 586] Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

4.3.2.5.1.4

MDDataProviderBW.GetHierarchies

Functions
The GetHierarchies method for Business object MDDataProviderBW returns a list of hierarchies for a DIMENSION (BW InfoObject with type characteristic) of a CUBE (BEx Query). All active external hierarchies are returned as a simple (trivial-) hierarchy relating to the master data table for the characteristic.

You can find additional information from Mapping the Metadata [Page 549].

Enterprise Reporting, Query, and Analysis

570

Core Development Tasks Using Connectivity and Interoperability

March 2006

Notes
This method is instance-independent. Parameters

Import parameter: HryUnam Import parameter: HryNam Import parameter: DimUnam Import parameter: CubeNam Import parameter: CatNam Export Parameter: Hierarchies [Page 587] Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

4.3.2.5.1.5

MDDataProviderBW.GetLevels

Functions
The GetCatalogs method for the MDDataProviderBW Business Object returns a list of hierarchy LEVELS for a DIMENSION of a CUBE.

You can find additional information from Mapping the Metadata [Page 549].

Notes
This method is instance-independent. Parameters

Import parameter: Cat_Nam Import parameter: Cube_Nam Import parameter: Dim_Unam Import parameter: Hry_Unam Import parameter: Lvl_Nam Import parameter: Lvl_Unam Export Parameter: Levels [Page 587] Export Parameter: Return [Page 599]

Enterprise Reporting, Query, and Analysis

571

Core Development Tasks Using Connectivity and Interoperability

March 2006

You can find additional information about the importance of individual parameters under Parameters [Page 580].

4.3.2.5.1.6

MDDataProviderBW.GetMeasures

Functions
The GetMeasures method for the MDDataProviderBW Business object returns a list of MEASURES (BW key figures) for a particular CUBE (BW query).

You can find additional information from Mapping the Metadata [Page 549].

Notes
This method is instance-independent. Parameters

Import parameter: CatNam Import parameter: CubeNam Import parameter MesNam Import parameter: MesUnam Export Parameter: AggrExceptional [Page 584] Export Parameter: Measures [Page 588] Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

4.3.2.5.1.7

MDDataProviderBW.GetMembers

Functions
The GetMembers method for the MDDataProviderBW Business object returns members in accordance with the specified restrictions. The restrictions must apply a restriction to at least one DIMENSION. The system interprets more than one restriction as being linked with AND.

Notes
Parameters

Import parameter: AllProperties

Enterprise Reporting, Query, and Analysis

572

Core Development Tasks Using Connectivity and Interoperability


March 2006

Import parameter: CatNam Import parameter: CubeNam Import parameter: DimUnam Import parameter: HryUnam Import parameter: LvLNumber Import parameter: LvlUnam Import parameter: MemCap Import parameter: MemType Import parameter: MemNam Import parameter: MemUnam Import Parameter: Restrictions [Page 582] Import Parameter: SelectedProperties [Page 583] Import parameter: Treeop Export Parameter: Members [Page 589] Export Parameter: OptionalProperties [Page 590] Export Parameter: Return [Page 599]

LvlNumber, MemType and Treeop Note the following special features for the LvlNumber, MemType and Treeop import parameters: These parameters relate to the BAPI6111GEN-CHAR2RESTR field and have the type CHAR with a length of 2 bytes. This can be used to determine whether no restrictions were set to LEVEL or whether a restriction with LEVEL 0 is required. (This distinction could not be made if the corresponding NUMC types were used).

You can find additional information from Parameters [Page 580].

4.3.2.5.1.8

MDDataProviderBW.GetProperties

Functions
The GetProperties method for the MDDataProviderBW Business Object returns a list of PROPERTIES of a DIMENSION.

You can find additional information from Mapping the Metadata [Page 549].

Notes
Parameters

Import parameter: CatNam

Enterprise Reporting, Query, and Analysis

573

Core Development Tasks Using Connectivity and Interoperability


March 2006

Import parameter: CubeNam Import parameter: DimUnam Import parameter: HryUnam Import parameter: LvlUnam Import parameter: MemUnam Import parameter: PrptyNam Import parameter: PrptyType Export Parameter: Properties [Page 590] Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

4.3.2.5.1.9

MDDataProviderBW.GetVariables

Functions
The GetVariables method for the MDDataProviderBW Business object returns a list of variables with processing type Manual Entry/Default Value for a QUERY_CUBE.

You can find additional information under Variable Processing Types [Page 407] and Manual Entry/Default Value [Page 407].

Notes
Parameters

Import parameter: CatNam Import parameter: CubeNam Export Parameter: Variables [Page 591] Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

Further Information
SAP Variables [Page 561] BW Specific Enhancement: Schema Rowset SAP VARIABLES [Page 562] BW-Specific Enhancement: MDX Syntax [Page 565]

Enterprise Reporting, Query, and Analysis

574

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.2

MDDataSetBW

Definition
The MDDataSetBW Business object returns a multi-dimensional results set. The following table contains details about the BAPI definition: Object type Package Component BUS6111 RSR_MDX BW-BEX

Use
MDDataProviderBW is available as of release 46A.

Structure
There are the following methods for this OLAP BAPI: MDDataSetBW.CheckSyntax [Page 575] MDDataSetBW.CreateObject [Page 576] MDDataSetBW.DeleteObject [Page 576] MDDataSetBW.FindCell [Page 577] MDDataSetBW.FindTuple [Page 577] MDDataSetBW.GetAxisData [Page 578] MDDataSetBW.GetAxisInfo [Page 578] MDDataSetBW.GetCellData [Page 579] MDDataSetBW.SelectData [Page 579]

Integration
MDDataProviderBW [Page 568] is also available as an additional OLAP BAPI.

4.3.2.5.2.1

MDDataSetBW.CheckSyntax

Functions
The CheckSyntax method for the MDDataSetBW Business object checks the syntax of the MDX command for the runtime object with the object handle DataSetID.

Notes
Parameters Export Parameter: Return [Page 599]

Enterprise Reporting, Query, and Analysis

575

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.2.2

MDDataSetBW.CreateObject

Functions
The CreateObject method for the MDDataSetBW Business object generates a runtime object for an MDX command in the CommandText. It returns an object handle DataSetID as an export parameter. This handle must be specified as a parameter in subsequent calls relating to the generated object.

Notes
The syntax of the MDX command in the CommandText can then be checked using the CheckSyntax method. Parameters

Import Parameter: CommandText [Page 594] Export parameter: DataSetID Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580]. See also:

MDDataSetBW.CheckSyntax [Page 575] MDDataSetBW.SelectData [Page 579]

4.3.2.5.2.3

MDDataSetBW.DeleteObject

Functions
The DeleteObject method for the MDDataSetBW Business Object removes the COMMAND object handle DataSetID from the stack. As a result, the data set runtime object is deleted.

Notes
Parameters Export Parameter: Return [Page 599]

Enterprise Reporting, Query, and Analysis

576

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.2.4

MDDataSetBW.FindCell

Functions
The FindCell method for the MDDataSetBW Business object carries out a search from the start cell of the datset up to the first cell for which the restrictions in members apply. It returns the ordinal number of this cell.

Notes
Parameters

Import Parameter: Members [Page 594] Import Parameter: StartCell Export Parameter: Cell Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

4.3.2.5.2.5

MDDataSetBW.FindTuple

Functions
The FindTupel method for the MDDataSetBW Business object returns the ordinal number of a tuple on the specified axis.

Notes
Parameters

Import parameter: Axis Import Parameter: Members [Page 594] Import parameter: StartOrdinal Export Parameter: Return [Page 599] Export parameter: Tuple

You can find additional information about the importance of individual parameters under Parameters [Page 580].

Enterprise Reporting, Query, and Analysis

577

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.2.6

DDataSetBW.GetAxisData

Functions
The GetAxisData method for the MDDataSetBW Business object returns data for a tuple on an axis. The mandatory dimension properties (PROPERTIES) are returned in the MndtryPrptys table. The optional dimension properties are returned in two tables: OptionPrptysKeys and OptionPrptysVals.

The OptionPrptysKeys table corresponds to the column header of the AxisData rowset in OLE DB for OLAP. The OptionPrptysVals table corresponds to the content of these columns.

Notes
Parameters

Import parameter: Axis Export Parameter: MndtryPrptys [Page 598] Export Parameter: OptionPrptysKeys [Page 599] Export Parameter: OptionPrptysVals [Page 599] Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

4.3.2.5.2.7

MDDataSetBW.GetAxisInfo

Functions
The GetAxisInfo method for the MDDataSetBW Business object returns information for all axes of the dataset.

Notes
Parameters

Export Parameter: AxisDimensions [Page 595] Export Parameter: AxisInfo [Page 595] Export Parameter: AxisLevels [Page 595] Export Parameter: DimPrptys [Page 597] Export Parameter: Fltcolinfo [Page 598] Export Parameter: Return [Page 599]

Enterprise Reporting, Query, and Analysis

578

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.2.8

MDDataSetBW.GetCellData

Functions
The GetCellData method for the MDDataSetBW Business object returns data for an area of cells of the dataset.

Notes
Parameters

Import parameter: EndCell Import parameter: StartCell Export Parameter: CellData [Page 596] Export Parameter: Return [Page 599]

You can find additional information about the importance of individual parameters under Parameters [Page 580].

4.3.2.5.2.9

MDDataSetBW.SelectData

Functions
The SelectData method for the MDDataSetBW Business object executes an MDX command and creates a dataset corresponding to the MDX command. The entry parameter DataSetID must be set since several MD_COMMAND objects can be processed within a session in parallel. A client application can use the MDDataSetBW.CreateObject method to retrieve such an object handle.

You can find additional information under MDDataSetBW.CreateObject [Page 576]. The client application can use the following methods to get data as a result set:

MDDataSetBW.GetAxisData [Page 578] MDDataSetBW.GetAxisInfo [Page 578] MDDataSetBW.GetCellData [Page 579]

Notes
Parameters

Import Parameter: Cmd [Page 593] Import Parameter: CmdParams [Page 594] Import Parameter: Trace [Page 594] Export Parameter: Return [Page 599]

Enterprise Reporting, Query, and Analysis

579

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.3

Parameters

Definition
Data which is required when executing an object method (import parameter), or which is returned by an object method after a successful call up (export parameter). The parameters belonging to a method are set within the query definition. The interface for the method call up is set within the parameter definition.

Use
The following parameters are used in the MDDataProviderBW OLAP-BAPI: Import Parameters AllProperties [Page 581] CatNam (Restriction: CAT_NAM) CubeNam (Restriction: CUBE_NAM) CubeType (CUBE type) DimNam (Restriction: DIM_NAM) DimUnam (Restriction: DIM_UNAM) HryNam (Restriction: HRY_NAM) HryUnam (Restriction: HRY_UNAM) LvlNam (Restriction: LVL_NAM) LvlNumber [Page 581] LvlUnam (Restriction: LVL_UNAM) MemCap (Restriction: MEM_CAP) MemNam (Restriction: MEM_NAM) MemType [Page 582] MemUnam (Restriction: MEM_UNAM) MesNam (Restriction: MES_NAM) MesUnam (Restriction: MES_UNAM) PrptyNam (Restriction: PRPTY_NAM) PrptyType (Restriction: PRPTY_TYPE) Restrictions [Page 582] SelectedProperties [Page 583] Treeop [Page 584] The following parameters are used in the MDDataSetBW OLAP-BAPI: Import Parameters Axis (0-based number of axes in the dataset) Export Parameters AxisDimensions [Page 595] Export Parameters AggrExceptional [Page 584] Catalogs [Page 585] Cubes [Page 585] Dimensions [Page 586] Hierarchies [Page 587] Levels [Page 587] Measures [Page 588] Members [Page 589] OptionalProperties [Page 590] Properties [Page 590] Return [Page 599] Variables [Page 591]

Enterprise Reporting, Query, and Analysis

580

Core Development Tasks Using Connectivity and Interoperability

March 2006

Cmd [Page 593] CmdParams [Page 594] CommandText [Page 594] EndCell (ordinal number of cell in dataset) EndRow (end row in dataset) Members [Page 594]

AxisInfo [Page 595] AxisLevels [Page 595] Cell (ordinal number of cell in dataset) CellData [Page 596] Data [Page 597] DataSetID (MD_COMMAND-Objekthandle: ID of a runtime object that was generated using the method MDDataSetBW.CreateObject [Page 576].) DimPrptys [Page 597]

StartCell (ordinal number of cell in dataset)

StartOrdinal (0-based ordinal number of an axis tuple) StartRow (Start row in dataset) Trace [Page 594]

Fltcolinfo [Page 598]

MndtryPrptys [Page 598] OptionPrptysKeys [Page 599] OptionPrptysVals [Page 599] Return [Page 599] Tuple (0-based ordinal number of an axis tuple)

4.3.2.5.3.1

Import Parameter: AllProperties

Short text
All properties are required

Significance
The client can use AllProperties to determine that all PROPERTIES are required. If this indicator is not set, the SelectedProperties table is interpreted. If this is empty, no PROPERTIES are returned.

You can find additional information under Import Parameter: SelectedProperties [Page 583].

4.3.2.5.3.2

Import Parameter: LvLNumber

Short text
Restriction: LVL_NUMBER

Enterprise Reporting, Query, and Analysis

581

Core Development Tasks Using Connectivity and Interoperability

March 2006

Significance
Note the following special features of the LvlNumber, MemType and Treeop import parameters: These parameters relate to the BAPI6111GENCHAR2RESTR field and have the type CHAR with a length of 2 bytes. This can be used to determine whether no restrictions were set to LEVEL or whether a restriction with LEVEL 0 is required. (This distinction could not be made if the corresponding NUMC types were used). See also:

Import Parameter: MemType [Page 582] Import Parameter: Treeop [Page 584]

4.3.2.5.3.3

Import Character: MemType

Short text
Restriction: MEM_TYPE

Significance
Note the following special features of the LvlNumber, MemType and Treeop import parameters: These parameters relate to the BAPI6111GENCHAR2RESTR field and have the type CHAR with a length of 2 bytes. This can be used to determine whether no restrictions were set to LEVEL or whether a restriction with LEVEL 0 is required. (This distinction could not be made if the corresponding NUMC types were used). See also:

Import Parameter: LvlNumber [Page 581] Import Parameter: Treeop [Page 584]

4.3.2.5.3.4

Import Parameter: Restrictions

Short text
Constraints

Significance
The Restrictions parameter consists of a table with the following fields: Name PRPTY_NAM SIGN Description Property name Field SIGN in structure of the SELECT-OPTIONS

Enterprise Reporting, Query, and Analysis

582

Core Development Tasks Using Connectivity and Interoperability tables


March 2006

I (inclusive) default setting: The specified single value of area is selected E (exclusive): The specified single value of area is excluded from the selection

When combining inclusive and exclusive selections, the system firstly combines all inclusive selections before removing the exclusive ones from them. OPTION LOW HIGH Operator in SELECT OPTIONS and other expressions. Member name Member name

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

4.3.2.5.3.5

Import Parameter: SelectedProperties

Short text
Selection of the required PROPERTIES

Significance
The SelectedProperties parameter consists of a table with the following field: Name PRPTY_NAM Description Property name

The provider can use the SelectedProperties table to pre-define a specific number of PROPERTIES (dimension properties), which are required for the selected member in the results set.

The client can use AllProperties to determine that all PROPERTIES are required. If this indicator is not set, the SelectedProperties table is interpreted. If this is empty, no PROPERTIES are returned. See also: Import Parameter: AllProperties [Page 581]

Enterprise Reporting, Query, and Analysis

583

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.3.6

Import Parameter: Treeop

Short text
Restriction: Tree operator

Significance
The tree operator can have the following values:

MDTREEOP_CHILDREN = 1 MDTREEOP_SIBLINGS = 2 MDTREEOP_PARENT = 4 MDTREEOP_SELF =8

MDTREEOP_DESCENDANTS = 16 MDTREEOP_ANCESTORS = 32

The values can be combined using addition.

MDTREEOP_CHILDREN + MDTREEOP_SELF = 1 + 8 = 9 In this case, the member specified with the MemUnam import parameter is returned with its children.

Note the following special features of the LvlNumber, MemType and Treeop import parameters: These parameters relate to the BAPI6111GENCHAR2RESTR field and have the type CHAR with a length of 2 bytes. This can be used to determine whether no restrictions were set to LEVEL or whether a restriction with LEVEL 0 is required. (This distinction could not be made if the corresponding NUMC types were used). See also:

Import Parameter: LvlNumber [Page 581] Import Parameter: MemType [Page 582]

4.3.2.5.3.7

Export Parameter: AggrExceptional

Short text
Key figures with exception aggregation

Meaning
The AggrExceptional export parameter returns the key figures with exception aggregation as the result.

Enterprise Reporting, Query, and Analysis

584

Core Development Tasks Using Connectivity and Interoperability

March 2006

For more information about exception aggregation, see Selection/Formula Properties [Page 450]. The parameter consists of a table with the following fields: Name CAT_NAM CUBE_NAM MES_UNAM MES_AGGREGATOR MES_AGGR_EXCEPTIONAL MES_AGGR_REF_DIM Description CATALOG name, to which the CUBE belongs CUBE name Member unique name Key figure aggregation behavior Key figure aggregation behavior with exception aggregation Dimension unique name, the reference characteristic for exception aggregation

4.3.2.5.3.8

Export Parameter: Catalogs

Short text
Result: CATALOGS

Significance
The Catalogs export parameter returns CATALOGS as a result. The parameter consists of a table with the following fields: Name CAT_NAM Description CATALOG name, to which the CUBE belongs

4.3.2.5.3.9

Export Parameters: Cubes

Short text
Result: CUBES

Significance
The Cubes export parameter returns CUBES as a result. The parameter consists of a table with the following fields: Name CAT_NAM CUBE_NAM CUBE_TYPE CUBE_UID Description CATALOG name, to which the CUBE belongs CUBE name Type of CUBE CUBE unique ID (UUID) in compressed form

Enterprise Reporting, Query, and Analysis

585

Core Development Tasks Using Connectivity and Interoperability

March 2006

CREATED_ON LST_SCHEMA_UPD SCHEMA_UPD_BY LST_DATA_UPD DATA_UPD_BY DSCRPTN

Time the (BW query) CUBE was created; time stamp in UTC format YYYYMMDDhhmmss. Time the (BW query) CUBE was last changed; time stamp in UTC format YYYYMMDDhhmmss. Last changed by: Name of person who last changed the CUBE- (BW query-) definition. Time of last data load; time stamp in UTC format YYYYMMDDhhmmss. Last changed by: Name of user who last loaded data Description

4.3.2.5.3.10

Export Parameter: Dimensions

Short text
Result: DIMENSIONS

Significance
The Dimensions export parameter returns DIMENSIONS as a result. The parameter consists of a table with the following fields: Name CAT_NAM CUBE_NAM DIM_NAM Description CATALOG name, to which the CUBE belongs CUBE name DIMENSION name (BW InfoObject with type characteristic)

BW uses a global InfoObject catalog, in which all InfoObjects are stored with their properties for all data structures. For this reason, an InfoObject name can only be allocated once. DIM_UNAM DIM_UID DIM_CAP DIM_ORDINAL DIM_TYPE DIM_CARDINALITY DIMENSION unique name Unique ID (UUID) in compressed form Description (caption) DIMENSION ordinal number within the CUBE DIMENSION type (TIME,MEASURE) DIMENSION cardinality (estimated number of members) This entry is the highest estimate, but not an exact specification of the number of entities that can be related to one another.

Enterprise Reporting, Query, and Analysis

586

Core Development Tasks Using Connectivity and Interoperability

March 2006

DFLT_HRY DSCRPTN

Default hierarchy unique name Description

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

4.3.2.5.3.11

Export Parameter: Hierarchies

Short text
Result: HIERARCHIES

Significance
The Hierarchies export parameter returns HIERARCHIES as a result. The parameter consists of a table with the following fields: Name CAT_NAM CUBE_NAM DIM_UNAM HRY_NAM Description CATALOG name, to which the CUBE belongs CUBE name Dimension unique name Hierarchy name (uniquely identified with name, version, key day)

hienm30, version3, dateto8 HRY_UNAM HRY_UID HRY_CAP DIM_TYPE HRY_CARDINALITY DFLT_MEM ALL_MEM DSCRPTN Hierarchy unique name Unique ID (UUID) in compressed form Caption Dimension type (TIME, MEASURE) Dimension cardinality (estimated number of members) Member unique name Member unique name Description

4.3.2.5.3.12

Export Parameter: Levels

Short text
Result: LEVELS

Enterprise Reporting, Query, and Analysis

587

Core Development Tasks Using Connectivity and Interoperability

March 2006

Significance
The Levels export parameter returns DIMENSIONS as a result. The parameter consists of a table with the following fields: Name CAT_NAM CUBE_NAM DIM_UNAM HRY_UNAM LVL_NAM LVL_UNAM LVL_UID LVL_CAP LVL_NUMBER LVL_CARDINALITY LVL_TYPE DSCRPTN Description CATALOG name, to which the CUBE belongs CUBE name Dimension unique name Hierarchy unique name Hierarchy level unique name Hierarchy level unique name Unique ID (UUID) in compressed form Caption Distance of member from root node (root = 0) Level cardinality (estimated number of members) Level type (year,month,day..) Description

4.3.2.5.3.13

Export Parameter: Measures

Short text
Result: MEASURES

Significance
The Measures export parameter returns MEASURES as a result. The parameter consists of a table with the following fields: Name CAT_NAM CUBE_NAM MES_NAM Description CATALOG name, to which the CUBE belongs CUBE name Name of key figure

BW uses a global InfoObject catalog, in which all InfoObjects are stored with their properties for all data structures. For this reason, an InfoObject name can only be allocated once. MES_UNAM MES_CAP Member unique name Description (caption)

Enterprise Reporting, Query, and Analysis

588

Core Development Tasks Using Connectivity and Interoperability

March 2006

MES_UID MES_AGGREGATOR DATA_TYPE NUM_PREC

Unique ID (UUID) in compressed form MEASURE aggregation behavior (BW InfoObject with type key figure) Data type in ABAP dictionary Maximum precision Maximum precision is only specified for numerical data types

NUM_SCALE MES_UNITS

Scaling factor (where applicable) Unit (where applicable)

Dollars or Unit DSCRPTN Description

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

4.3.2.5.3.14

Export Parameter: Members

Short text
Result: MEMBERS

Significance
The Members export parameter returns MEMBERS as a result. The parameter consists of a table with the following fields: Name LVL_NUMBER MEM_NAM MEM_UNAM MEM_TYPE Description Distance of member from root node (root = 0) Member name Member unique name Member type

REGULAR, ALL, MEASURE MEM_UID MEM_CAP MEM_ORDINAL CHILDREN PARENT_LVL PARENT_UNAM Unique ID (UUID) in compressed form Caption General reference field for numerations Number of children for member Distance of member from root node (root = 0) Member unique name

Enterprise Reporting, Query, and Analysis

589

Core Development Tasks Using Connectivity and Interoperability

March 2006

DSCRPTN

Description

4.3.2.5.3.15

Export Parameter: OptionalProperties

Short text
Result: PROPERTIES

Significance
The OptionalProperties export parameter returns PROPERTIES as a result. The parameter consists of a table with the following fields: Name MEM_ORDINAL PRPTY_NAM PRPTY_VAL Description General reference field for numerations Master data attribute Attribute value

4.3.2.5.3.16

Export Parameter: Properties

Short text
Result: PROPERTIES

Significance
The Properties export parameter returns PROPERTIES as a result. The parameter consists of a table with the following fields: Name CAT_NAM CUBE_NAM DIM_UNAM HRY_UNAM LVL_UNAM MEM_UNAM PRPTY_TYPE Description CATALOG name, to which the CUBE belongs CUBE name Dimension unique name Hierarchy unique name Hierarchy level unique name Member unique name Property type

MEMBER, CELL PRPTY_NAM PRPTY_CAP Property name Caption

Enterprise Reporting, Query, and Analysis

590

Core Development Tasks Using Connectivity and Interoperability

March 2006

DATA_TYPE CHR_MAX_LEN CHR_OCT_LEN NUM_PREC

Data type in ABAP dictionary Maximum length of a value in characters or bytes Maximum length of an attribute value in bytes, where a char is involved Maximum precision Maximum precision is only specified for numerical data types

NUM_SCALE DSCRPTN

Scaling factor (where applicable) Description

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

4.3.2.5.3.17

Export Parameter: Variables

Short text
Result: VARIABLES

Significance
The Variables export parameter returns VARIABLES as a result. The parameter consists of a table with the following fields: Name CAT_NAM CUBE_NAM VAR_NAM VAR_CAP VAR_UID VAR_ORDINAL Description CATALOG name, to which the CUBE belongs Name of CUBE, to which the variable belongs Variable technical name (including the separator [) Caption Unique ID (UUID) in compressed form, variable GUID General reference field for numerations; An ordinal number assigned to a variable in the group of variables for a CUBE. Variable type; this field corresponds to the VARIABLE_TYPE column of the SAP VARIABLES Schema-rowset The following values are possible:

VAR_TYPE

SAP_VAR_TYPE_MEMBER SAP_VAR_TYPE_HIERARCHY SAP_VAR_TYPE_NUMERIC

Enterprise Reporting, Query, and Analysis

591

Core Development Tasks Using Connectivity and Interoperability

March 2006

You can find additional information from BW Specific Enhancement: SAP VARIABLES schema-rowset [Page 562] . DATA_TYPE Data type in ABAP dictionary

char for SAP_VAR_TYPE_MEMBER and SAP_VAR_TYPE_HIERARCHY types fltp for SAP_VAR_TYPE_NUMERIC type

CHR_MAX_LEN VAR_PROC_TYPE

Maximum length of a variable value in characters or bytes Variable processing type; this field corresponds to the VARIABLE_PROCESSING_TYPE column of the SAP VARIABLES Schema-rowset The value is always SAP_VAR_PROC_TYPE_USER_INPUT. Only variables with the manual entry/default value processing type are returned to the OLAP BAPI MDDataProvider BW.

You can find additional information from BW Specific Enhancement: SAP VARIABLES schema-rowset [Page 562] . VAR_SELC_TYPE Variable selection type; this field corresponds to the VARIABLE_SELECTION_TYPE column of the SAP VARIABLES Schema-rowset The following values are possible:

SAP_ VAR _SEL_TYPE_VALUE SAP_ VAR _SEL_TYPE_INTERVAL SAP_ VAR _SEL_TYPE_COMPLEX

You can find additional information from BW Specific Enhancement: SAP VARIABLES schema-rowset [Page 562] . VAR_ENTRY_TYPE Variable entry type; this field corresponds to the VARIABLE_ENTRY_TYPE column of the SAP VARIABLES Schema-rowset The following values are possible:

SAP_VAR_INPUT_TYPE_OPTIONAL SAP_VAR_INPUT_TYPE_MANDATORY SAP_VAR_INPUT_TYPE_MANDATORY_NO T_INITIAL

Enterprise Reporting, Query, and Analysis

592

Core Development Tasks Using Connectivity and Interoperability

March 2006

You can find additional information from BW Specific Enhancement: SAP VARIABLES schema-rowset [Page 562] . REF_DIM Dimension unique name; this field corresponds to the REFERENCE_DIMENSION column of the SAP VARIABLES Schema rowset. For variables having type SAP_VAR_TYPE_MEMBER, this field determines from which DIMENSION values for the variable can be selected. REF_HRY Hierarchy unique name; this field corresponds to the REFERENCE_HIERARCHY column of the SAP VARIABLES Schema rowset. For variables having type SAP_VAR_TYPE_MEMBER, this field determines from which HIERARCHY values for the variable can be selected. DFLT_LOW DFLT_HIGH DFLT_LOW_CAP DFLT_HIGH_CAP DSCRPTN Member unique name, default value for variable (if available) Member unique name, default value for variable (if available) Description for default value for variable (if available) Description for default value for variable (if available) Variable description

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

4.3.2.5.3.18

Import Parameter: Cmd

Short text
Parser byte code (for OLE DB for OLAP providers).

Significance
The parameter consists of a table with the following fields: Name CMD_ID Description MDX processor command internal ID

Enterprise Reporting, Query, and Analysis

593

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.3.19

Import Parameter: CmdParams

Short text
Parser parameter (for OLE DB for OLAP providers).

Significance
The parameter consists of a table with the following fields: Name CMD_PARAM1 Description MDX processor command parameter

4.3.2.5.3.20

Import Parameter CommandText

Significance
The parameter consists of a table with the following fields: Name LINE Description MDX command text

4.3.2.5.3.21

Import Parameter: Members

Short text
List of unique member names

Significance
The parameter consists of a table with the following fields: Name MEM_UNAM Description Member: Unique name

4.3.2.5.3.22

Import Parameter: Trace

Short text
Parser debug information (for OLE DB for OLAP providers).

Significance
The parameter consists of a table with the following fields: Name Description

Enterprise Reporting, Query, and Analysis

594

Core Development Tasks Using Connectivity and Interoperability

March 2006

MSG_TYPE MSGNR TXT

Type of a debug- (trace-) message of the parser Message number Text for a debug- (trace-) message

4.3.2.5.3.23

Export Parameter: AxisDimensions

Short text
Axis dimensions

Significance
The AxisDimensions export parameter returns a list of axis dimensions as a result. The parameter consists of a table with the following fields: Name AXIS DIM_UNAM DIM_KEY DIM_PRPTY_COUNT Description 0-based number of axes in the dataset DIMENSION unique name 0-based ordinal number of a DIMENSION on an axis Number of optionally specified PROPERTIES in the dataset

4.3.2.5.3.24

Export Parameter: AxisInfo

Short text
Axis information

Significance
The AxisInfo export parameter returns information about the number of dimensions and tupels as a result. The parameter consists of a table with the following fields: Name AXIS DIMS COORDINATES Description 0-based number of axes in the dataset Counter for the number of dimensions on an axis 0-based counter for the number of tuples on an axis

4.3.2.5.3.25

Export Parameter: AxisLevels

Significance

Enterprise Reporting, Query, and Analysis

595

Core Development Tasks Using Connectivity and Interoperability

March 2006

The AxisLevels export parameter returns a list of hierarchy levels (LEVEL) as a result. The parameter consists of a table with the following fields: Name I_AXIS DIM_KEY LVL_KEY LVL_UNAM Beschreibung 0-based number of axes in the dataset 0-based ordinal number of a DIMENSION on an axis 0-based ordinal number of a hierarchy level (LEVEL) modeled onto an axis Hierarchy level unique name

4.3.2.5.3.26

Export Parameter: CellData

Significance
The CellData export parameter returns information about the cells of a dataset as a result. The parameter consists of a table with the following fields: Name CELL_ORDINAL VALUE FORMATTED_VALUE VALUE_TYPE CURRENCY UNIT Currency key, dependent on QVKF (Quantity Value Key Figure) Unit key, dependent on QVKF (Quantity Value Key Figure) Beschreibung Ordinal number of a dataset cell String-representation of a Float-figure Formatted value of a cell

The unit for a unit key is required with the dimension key figures amount and price. QVKF NUM_SCALE NUM_PREC CELL_STATUS Grouping key figures Number scaling factor Number of decimal places for the output Status of a cell BACK_COLOR E (empty) N (null)

Background color

Enterprise Reporting, Query, and Analysis

596

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.3.27

Export Parameter: Data

Short text
Data for flattening support

Significance
The Data export parameter returns data for flattening support as a result. The parameter consists of a table with the following fields: Name COLUMN ROW DATA VALUE_DATA_TYPE CELL_STATUS Beschreibung Ordinal number of a cell in the dataset, column Ordinal number of a cell in the dataset, row Member unique name Data type in ABAP dictionary Status of a cell

E (empty) N (null)

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

4.3.2.5.3.28

Export Parameter: DimPrptys

Significance
The DimPrptys export parameter returns a list of display attributes (PROPERTIES) as a result. The parameter consists of a table with the following fields: Name LVL_KEY PRPTY_NAM DATA_TYPE CHR_MAX_LEN Description 0-based ordinal number of a hierarchy level projected onto an axis Master data attribute Data type in ABAP dictionary Maximum length of a value in characters or bytes

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

Enterprise Reporting, Query, and Analysis

597

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.3.29

Export Parameter: Fltcolinfo

Significance
The Fltcolinfo export parameter returns information about data columns in flattening as a result. The parameter consists of a table with the following fields: Name COL_ORDINAL DATA_TYPE CHR_MAX_LEN Description General reference field for numerations Data type in ABAP dictionary Maximum length of a value in characters or bytes

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

4.3.2.5.3.30

Export Parameter: MndtryPrptys

Short text
Member default properties

Significance
The MndtryPrptys returns information about the default properties of a member as a result. The parameter consists of a table with the following fields: Name TUPLE_ORDINAL DIM_KEY MEM_UNAM MEM_CAP LVL_UNAM LVL_NUMBER CHILDREN DRILLED_DOWN PARENT_SAME_AS_PREV Description 0-based ordinal number of an axis tupel 0-based ordinal number of a DIMENSION on an axis Member unique name Caption Hierarchy level unique name Distance of member from root node (root = 0) Number of children for member Indicator determining whether member is in drilldown state in hierarchy Indicator determining whether parent node of this node is identical to parent node of previous member

Enterprise Reporting, Query, and Analysis

598

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.5.3.31

Export Parameter: OptionPrptysKeys

Short text
Keys for optional properties

Significance
The OptionPrptysKeys export parameter returns keys for the optional dimension PROPERTIES as a result. The parameter consists of a table with the following fields: Name DIM_KEY PRPTY_NAM PRPTY_KEY Description 0-based ordinal number of a DIMENSION on an axis PROPERTY name Numerical key having three digits

4.3.2.5.3.32

Export Parameter: OptionPrptysVals

Short text
Values for optional properties

Significance
The OptionPrptysVals export parameter returns values for the optional PROPERTIES as a result. The parameter consists of a table with the following fields: Name TUPLE_ORDINAL PRPTY_KEY PRPTY_VAL Description 0-based ordinal number of an axis tuple Numerical key having three digits Member unique name

4.3.2.5.3.33

Export Parameter: Return

Short text
BAPI return parameter

Significance
An OLAP BAPI Return parameter returns messages to the application making the call up. The Return parameters of the MDDataProviderBW and MDDataSetBW OLAP-BAPIs are the same. The parameter consists of a table with the following fields:

Enterprise Reporting, Query, and Analysis

599

Core Development Tasks Using Connectivity and Interoperability

March 2006

Name TYPE

Description Message type:


S (Success) for success messages E (Error) for erroneous situations W (Warning) for warnings I (Info) for information messages A (Abort) for abort messages

ID NUMBER MESSAGE LOG_NO LOG_MSG_NO MESSAGE_V1 MESSAGE_V2 MESSAGE_V3 MESSAGE_V4 PARAMETER ROW FIELD SYSTEM

Message, message class Message, message number Message text Application log: Log number Application log: Message number running internally within log Message, message variables Up to four variable values can be used in a message Variables are used in the same order as the variables appear in the message text Name of parameter in which the error message occurred Row in parameter in which the error message occurred Field in parameter in which the error message occurred System (logical system) from which the message originates

You can find additional information about the individual parameter fields in the corresponding data element documentation in the ABAP Dictionary.

4.3.2.5.4

Error Handling

Each method of the MDDataProviderBW and MDDataSetBW OLAP BAPIS contains the Return export parameter. This export table returns warnings, error- and success messages generated during execution of the methods to the application making the call up.

You can find additional information under Export Parameter: Return [Page 599].

Enterprise Reporting, Query, and Analysis

600

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.6

OLE DB for OLAP

Purpose
OLE DB (Object Linking and Embedding Database) defines a sequence of COM (Component Object Model) -based interfaces that bring together the services of data management systems. These interfaces allow applications to access data from various sources uniquely. OLE DB for OLAP (OLE DB for Online Analytical Processing) is a respected interface specification that has since become the industry standard. It is used to access relational and multi-dimensional data regardless of database. ADO MD (ActiveX Data Objects Multidimensional): ADO MD enables an especially straightforward access to multi-dimensional data using a multi-dimensional data provider (MDP), which meets the OLE DB for OLAP standard. ADO MD is an enhancement of ADO with its multi-dimensional objects. OLE DB and ADO form the core of Universal Data Access, conceived by Microsoft, with the aim of using a single technology to provide universal access to data with different formats. The following graphic illustrates Microsofts concept of Universal Data Access:

Applications

ActiveX Data Objects (ADO)

ADO MD

OLE DB

OLE DB

OLE DB

OLE DB

OLE DB for OLAP

ICommand IRowset ISession

Email

Table Calculation

RDBMS

HTML

Multidimensional Data

OLE DB for OLAP functions differ from those of the following component types:
...

1. Consumer: Part of a system or application code which requires access to data and uses one OLE DB interface. OLE DB-compatible data consumers can use the available ODBC drivers to access all relational databases. 2. Providers: Data provider: An OLE DB provider which models the data from the source as a rowset in tabular form. Service component: An additional OLE DB component, which does not model any data, but which instead provides services that guarantee functions required by the consumer.

Enterprise Reporting, Query, and Analysis

601

Core Development Tasks Using Connectivity and Interoperability

March 2006

The implementation of OLE DB for OLAP (ODBO) in BI enables consumers to request data directly from the BI OLAP server. Client applications can use the OLE DB for OLAP interface directly on a system level, which provides the greatest possible degree of control and flexibility. In addition, clients can also use the high-performance ADO MD interface. This interface enables you to use VB- (visual basic) and VB script applications to access the OLE DB for OLAP. For more information, see Open Analysis Interfaces [Page 545] und MDX as Basis for the Interfaces [Page 547]. OLE DB for OLAP is useful as a front-end interface for BI when the following points are important:

Producer-side support for OLAP providers and consumers Use of OLE DB architecture for reusable and parallel components Use of BI OLAP BAPIs for generic OLAP tools Simplification of requests to application development by means of ADO MD Execution of OLAP services for each provider without having to transform data

Implementation Considerations
Implementation of the OLE DB for OLAP-interface in BI is based on Microsofts OLE DB Programmer's Reference Version 2.7 (Part 3: OLE DB for OLAP).

For more information, see Installing BI OLE DB for OLAP [Page 602].

Constraints
Note the following restrictions when using OLE DB for OLAP for your front end in BI: The results of development coordination between third-party administrators and BI are checked in a test and are certified. Nevertheless, the integration of third-party administrators does not reach the degree of integration that the BI front end offers. BI is delivered with pre-configured information models (InfoSources, InfoCubes, and queries). This model reflects the business experience of SAP and expedites the implementation of BI. For third-party administrators, the use of this information model is restricted to InfoCubes. Standard queries are not offered. Accordingly, decision-makers have to account for longer implementation times.

4.3.2.6.1

Installing SAP BW OLE DB for OLAP

Use
To be able to use OLD DB for OLAP with the SAP Business Information Warehouse, you need to install the required frontend components and prepare the connection to the BW server via OLE DB for OLAP.

Integration
The implementation of SAP Business Information Warehouse OLE DB for OLAP providers is essentially made up of the following components:

Enterprise Reporting, Query, and Analysis

602

Core Development Tasks Using Connectivity and Interoperability

March 2006

BW OLE DB for OLAP providers between the data provider and the third-party client as the data consumer. The OLE DB for OLAP Providers maintains and modifies data displayed by the data provider. OLAP-BAPIs

The following graphic shows the arrangement of components:

Desktop with OLE DB for OLAPdriver for SAP Business Information Warehouse

Dataset Object OLE DB Objects OLE DB Objects

Third Party ADO Client Consumer

RFC SAP Business Information Warehouse - Server Database

OLAP BAPIs OLAP-Processor OLAP-Processor Metadata Repository Staging Engine Staging Engine

The SAP Business Information Warehouse OLE DB for OLAP setup installs a provider DLL (dynamically linked library) on the desktop on which the third-party client application is installed. This DLL is registered under the name MdrmSap in the system registry. The provider DLL uses RFC to construct a connection from the BW server to several function module APIs.

Prerequisites
Note that all components that are integrated on the SAP BW OLE DB for OLAP providers and which are required by the client application must be installed by the third party application itself.

It is usually necessary to install Microsofts Redistribution Setups for Microsoft Data Access Components (MDAC) including the OLE DB- and ODBC drivers. If not delivered with the client-specific software, you can the required components on the Internet, under www.microsoft.com/data/download2.htm. When using Windows 95, you also need to install DCOM95 before installing the OLE DB driver. You can find the required program on the BW delivery CD for the frontend under \msredist\DCOM95.EXE.

Enterprise Reporting, Query, and Analysis

603

Core Development Tasks Using Connectivity and Interoperability

March 2006

Features
To access a BW system via OLE DB for OLAP, you need to install a BW frontend. The SAP BW frontend setup contains components required by the SAP BW OLE DB for OLAP provider.

Activities
Installing components of the SAP BW frontend setup. Install the following components on your desktop PC: Component Mdrmsap.dll Mdrmdlg.dll Scerrlkp.dll Mdxpars.dll Librfc32.dll Wdtlog.ocx Saplogon.ini Description SAP BW OLE DB doe OLAP provider DLL Service DLL used to create a connection to the SAP server. Error handling DLL MDX parser DLL SAP RFC library SAP RFC logon dialog SAP connection parameter file

The SAP BW OLE DB for OLAP provider is registered under the progID (program ID) MDrmSAP.

Note that to install these components, you need administrator rights on the desktop PC. Establishing a connection to BW server via OLE DB for OLAP driver Set the following parameters: parameter Provider DataSource UserID Password SFC_CLIENT SFC_LANGUAGE Description Technical name, under which the SAP components are installed: MDrmSAP. System name This name must concur with the name in SAP logon. User name in system User password in system Number of productive client in BW server system Logon language

A typical example of a provider string is as follows: DataSource=JXX;UserID=MyName;Password=MyPassword;Provider=M DrmSAP; SFC_CLIENT=005;SFC_LANGUAGE=DE

Enterprise Reporting, Query, and Analysis

604

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.6.1.1

Installing Frontend Components

Use
The procedure for installing the required frontend components depends on the client application you want to work with.

Carry out steps 1-4, when you want to use SAP BW OLE DB for OLAP Providers with a customer application, which uses ADO MD, and when you have yet to install the required components. Begin with step 4 when you want to use SAP BW OLE DB for OLAP Providers with third-party applications, such as BusinessObjects, Arcplan inSight or Cognos Powerplay. The client applications are responsible for the installation of those OLE DB components which are integrated on the SAP Provider and which are required to execute the application. SAP installation guarantees that msdadc.dll exists.

Procedure
...

1. When installing on Windows 95, make sure that DCOM95 is installed on your computer. Firstly install DCOM95 if this is not the case. You can find the file from Microsoft under \msredist\DCOM95.EXE. 2. If you want to use OLE DB for OLAP Providers with a customer application, which uses ADO MD or other OLE DB components, make sure the required components are installed on your computer. Firstly install Microsofts Redistribution Setups including the OLE DB driver, if this is not the case. You can find the file from Microsoft under \msredist\mdac_olp.exe. When not carrying out the full installation, you need the following components from the customer installation: ODBC components OLE DB components Microsoft ActiveX data objects Microsoft ADO Multidimensional Microsoft Remote Data Services

3. Reboot your computer. 4. Execute the file sapsetup.exe for SAP BW OLE DB for OLAP-Providers from the BW Delivery CD for the frontend.

Result
You have installed the required frontend components and can now use SAP BW OLE DB for OLAP providers. You can find additional information under Using OLE DB for OLAP-Providers [Page 606].

Enterprise Reporting, Query, and Analysis

605

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.6.2

Using OLE DB for OLAP Providers

Use
We recommend that you use the following detailed procedure to enable third-party applications to execute queries using OLE DB for OLAP providers.

Prerequisites
You have installed the required SAP BW frontend components on your desktop PC. For more information, see Installing SAP BW OLE DB for OLAP [Page 602].

Note that special installation instructions apply depending on the client application you want to use. For more information, see Installing Frontend Components [Page 605].

Procedure
...

1. Define a query in the BEx Query Designer. For more information, see Query Design: BEx Query Designer [Page 353]. 2. Select the characteristic dimension and drag it either into the rows or column areas. This dimension is modeled to the QUERY_CUBE dimensions in the OLE DB for OLAP interface (see Mapping the Metadata [Page 549]). 3. Define a structure with the required key figures. Transfer the key figures from the InfoProvider into this structure. The name of the structure and its content is modeled to the MEASURES dimension in the OLE DB for OLAP interface (see Mapping the Metadata [Page 549]). 4. Release the BEx queries so that they can be used in OLE DB for OLAP Providers. In the Query Properties dialog box, set the indicator for Allow External Access to This Query. For more information, see Query Properties [Page 438] (on the Specific tab page). 5. Save the query. Note: The name of the BEx Query appears in the form InfoCubeName/Query-Name in the client application. 6. The client application asks you to logon to the BW server. Enter a system name, your user name, password and logon language. You can find additional information under Installing SAP BW OLE DB for OLAP [Page 602]. (For test purposes, you can also execute the query in BEx).

Result
The created QUERY_CUBE now appears in the list of Cubes offered by your client application. You can set up your front-end display here.

Enterprise Reporting, Query, and Analysis

606

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.2.7

XML for Analysis

Purpose
XML for Analysis is a protocol for exchanging analytical data between client applications and servers, using HTTP and SOAP (Simple Object Access Protocol), as a Web service. Implementing XML for Analysis in SAP NetWeaver Business Intelligence enables third-party reporting tools that are connected to SAP BI to communicate directly with the OLAP processor. Unlike OLE DB, XML for Analysis provides universal data access to a particular source over the Internet, without the client having to set up a special component. XML for Analysis is optimized for the Internet in various ways:

Time spent on queries to the server is kept to a minimum. Client queries are stateless by default. This means that after the client has obtained the required data, they are disconnected from the Web server.

In this way, tolerance to errors and the scalability of a source (the maximum permitted number of users) is maximized.

Integration
XML for Analysis is available automatically as a Web service after installing a BI system. The URL of a Web service has to be structured according to the following schema: <Protocol>://<Server>:<Port>/sap/bw/xml/soap/xmla A description of the Web service can be called using a URL, the schema of which corresponds to the following syntax: <Protocol>://<Server>:<Port>/sap/bw/xml/soap/xmla?wsdl

For more information on which values are used for the place holders in the specified URL schema , see ICF Services in SAP BI [External].

Features
Specification XML for Analysis Version 1.1 from Microsoft forms the basis for the implementation of XML for Analysis in BI. The following table lists the methods that determine the specification for a stateless data request or data manipulation. XMLA methods Methods Discover Description This method is used to query metadata and master data. (This corresponds to the BAPI MDDataProviderBW).

Discover ( [in] RequestType As EnumString, [in] Restrictions As Restrictions,

Enterprise Reporting, Query, and Analysis

607

Core Development Tasks Using Connectivity and Interoperability

March 2006

[in] Properties As Properties, [out] Result As Rowset) RequestType determines the structure and contents of the resulting set via the return parameter (for example DISCOVER_DATASOURCES, MDSCHEMA_CUBES, MDSCHEMA_DIMENSIONS). Restrictions determine constraints for the resulting set column in order to filter the results row. This is a required parameter that can, however, remain empty. Properties determine XMLA properties, such as return format of the result set, timeout, local properties, with which the data should be formatted. Execute You can execute MDX commands with this method to receive the corresponding result set. (This corresponds to the BAPI MDDataSetBW).

Execute ( [in] Command As Command, [in] Properties As Properties, [out] Result As Resultset) Command specifies a provider-specific command for execution. Properties determine XMLA properties, such as return format of the result set, timeout, local properties, with which the data should be formatted.

Constraints
XML for Analysis is not restricted to a specific platform, application or development language.

Example
The following graphic illustrates (based on the XMLA specification from Microsoft) a possible implementation of an XMLA Web service:

Enterprise Reporting, Query, and Analysis

608

Core Development Tasks Using Connectivity and Interoperability

March 2006

Client of Web Service


Client Discover Execute User Interface

Provider of Web Service


XML for Analysis: Provider Implementatiom

Client Functions

S O A P

H T T P

Internet Internet or LAN or LAN

H T T P

S O A P

Discover and Execute Queries

Discover and Execute Queries on Server

Data

After the client has received the URL of a server that offers Web service, he or she sends Discover- and Execute queries to the server using the SOAP-/HTTP protocol. The server creates an instance of the XMLA provider that processes the Discover- and Execute queries. The XMLA provider loads the required data, embeds them in XML and sends the data to the client as XML.

4.3.3
Purpose

Open Standards in the SDK

Instead of designing a new API entirely from scratch, the SDK development team began by capitalizing upon the best of available open standards and technologies.

This approach has several advantages. Open standards provide high-quality specifications that have undergone a significant review process and are based on the experience of many developers. Reliance upon open standards also increases the chances for interoperability between components from different vendors, helps toward building easy-to-learn APIs, and supports potential synergies with other emerging J2EE standards.

There are currently more than 100 Java technology specifications under development in the Java Community Process (JCP) program, including the next versions of Java 2 Micro Edition (J2ME), Java 2 Platform Enterprise Edition (J2EE), and Java 2 Standard Edition (J2SE). Many of these specifications are related or interconnected to the point that there are many synergies among them.

Enterprise Reporting, Query, and Analysis

609

Core Development Tasks Using Connectivity and Interoperability

March 2006

See also:

The J2EE Platform and SAP NetWeaver [Page 610] Common Warehouse Metamodel [Page 611] Java Metadata Interface [Page 612] Java Database Connectivity [Page 613] Meta Object Facility [Page 613] XML Metadata Interchange [Page 613] OLE DB for OLAP and XML for Analysis [Page 614]

4.3.3.1

The J2EE Platform and SAP NetWeaver

Overview
By leveraging the benefits of Suns J2EE platform, the BI Java SDK provides an objectoriented framework for building multi-tier, Web-centric analytical applications that are:

Portable Highly scalable Secure Reusable component-based

SAPs NetWeaver combines Java technologies with proven SAP programming models and technologies. With the Web Application Server, SAP offers a runtime environment for Web applications that can be written both in ABAP and in Java. A fully J2EE-compliant server has been integrated with the traditional SAP Web Application Server, providing fast connectivity between applications written in Java and ABAP. The SAP Web Application Server, therefore, has two personalities that allow us to write purely Java-based applications:

The straightforward J2EE programming model The ABAP/Java mixture: a combination of existing functionality written in ABAP with new components developed in Java

The BI Java Connectors [Page 614], used by the SDK to connect to diverse data sources, are optimized for full compliance and deployment to SAP NetWeavers Web Application Server, which provides additional enhancements to the following areas of J2EE-standard compliance:

Stability

Enterprise Reporting, Query, and Analysis

610

Core Development Tasks Using Connectivity and Interoperability


March 2006

Serviceability Performance and Scalability Improved Administration Replacement of the internal database by open JDBC.

J2EE Connector Architecture


Suns J2EE Connector Architecture (JCA) defines a standard architecture for connecting the Java 2 Platform to heterogeneous Enterprise Information Systems (EISs) such as mainframe transaction processing and database systems. The connector architecture satisfies the SDKs needs for a pluggable driver-based architecture, required for achieving the openness necessary to integrate with a variety of data sources.

SAP NetWeavers J2EE engine is JCA compliant. SAP provides a Java Connector (JCo) that allows Java applications to communicate with any SAP system. The Portal Runtime offers additional services on top of JCA for persisting connection information in a SystemLandscape, and a ConnectorGateway service that integrates with the portal user management.

The SDK leverages JCA to provide consistent connection management to heterogeneous data sources and to support the pluggability of connectors into multiple J2EE engines.

Advantages to the SDK of JCA compliance include:

Support for connectivity to heterogeneous data sources: The SDK provides connectivity via data source-specific connectors that conform to the JCA patterns. This is a modular and pluggable architecture, where new adapters can be easily added. The BI Java Connectors provide a BI-specific tailored connection that serves as the entry point to any services. The BI Java Connectors are kept lightweight, so that connectors deal only with the specific domain of the resource to which they connect. For example, the BI JDBC Connector has only to deal with mapping relational metadata into the CWM Relationalbased JMI service. Any type of metadata (queries, OLAP, and relational) is represented via JMI-compliant interfaces and implementations that are generated by the JMI mapping service of the Metadata Repository.

Leveraging of SAPs Enterprise Portal services: The BI Java Connectors integrate with the Enterprise Portal runtime by extending the Generic Connector interfaces. Thus, the Java components can leverage services provided by the Portal such as SystemLandscape and ConnectorGateway.

4.3.3.2

Common Warehouse Metamodel

Enterprise Reporting, Query, and Analysis

611

Core Development Tasks Using Connectivity and Interoperability

March 2006

The Common Warehouse Metamodel (CWM) is an Object Management Group (OMG) standard that provides a framework for representing metadata in data warehousing, business intelligence, knowledge management, and portal technologies.

CWM is of particular relevance to the BI Java SDK because BI applications are typically strongly driven by metadata. We chose CWM as the common metamodel for the SDK, grounding our architecture in a solid, standardized metadata approach. CWM is currently gaining momentum in the industry, and provides the required expressiveness to model metadata from different implementations of OLAP and relational models. The SDKs OLAP and Relational Metadata Models are provided entirely by CWM.

The SDK leverages CWM metamodels for various additional reasons:

CWM conforms to the MOF standard, which allows the SDK to apply JMI mappings to render a standard API for manipulating and navigating instances of the model. CWM metamodels are capable of modeling a wide spectrum of OLAP and relational providers. They are not only generic and extensible in their overall content and structure, but are also separated from implementation considerations. This is of particular importance for the SDK, where a large variety of providers are mapped into one common metamodel. CWM provides a complete relational metamodel that is based on the SQL standard. Therefore, defining a relational metadata service for accessing tabular data providers like JDBC is straightforward. CWM provides an OLAP metamodel that contains the essential OLAP concepts common to most OLAP systems.

4.3.3.3

Java Metadata Interface

The Object Management Groups (OMG) Java Metadata Interface (JMI) specification defines a platform-neutral infrastructure that enables the creation, storage, access, discovery, and exchange of metadata. JMI defines a Java mapping for the MOF. It can be viewed as an extensible metadata service for the Java platform that provides a common Java programming model for accessing metadata. Any system that provides a JMI-compliant API to its public metadata is a JMI service.

JMI provides the following to the J2EE environment:

A metadata framework that provides a common Java programming model for accessing metadata. An framework for integration and interoperability for Java tools and applications. Integration with OMG modeling and metadata architecture.

As the Java rendition of the MOF, the JMI specifies a set of rules that generate, for any given MOF-compliant metamodel, a set of Java APIs for manipulating the information contained in the instances of that metamodel.

Enterprise Reporting, Query, and Analysis

612

Core Development Tasks Using Connectivity and Interoperability

March 2006

The JMI specification also contains a Java implementation of MOF reflection. Although reflective capabilities are more relevant for advanced tools, they are of interest for the SDK, because by supporting the reflective interfaces we automatically gain support for XMI.

In the SDK, JMI is used to render the CWM model into programmatic APIs. It is specifically geared for a Java rendering of MOF-compliant metamodels and its mapping templates provide a uniform and flexible Java API for manipulating and accessing data based on the CWM models.

4.3.3.4

Java Database Connectivity

Java Database Connectivity (JDBC) is Suns Java API that provides access to virtually any relational data source from within the Java programming language. It provides cross-DBMS connectivity to a wide range of SQL databases, and also provides access to other tabular data sources such as spreadsheets or flat files. Sun maintains a database of JDBC-enabled drivers currently containing more than 170 entries, which indicates the broad industry support for this API.

In the SDK, JDBC is respected as the existing Java standard API for accessing result sets. JDBC is widely used, and many Java developers are familiar with the ResultSet API. We only needed to add a few extensions to utilize the ResultSet API with multidimensional (OLAP) datasets as well as relational result sets, and in this way the SDKs ResultSet API achieves a common look-and-feel across relational or OLAP result sets.

4.3.3.5

Meta Object Facility

The Meta Object Facility (MOF) is an Object Management Group (OMG) standard which provides an open-ended information modeling capability. MOF consists of a base set of metamodeling constructs used to describe technologies and application domains, and a mapping of those constructs to CORBA IDL (Interface Definition Language) for automatically generating model-specific APIs. The MOF also defines a reflective programming capability that allows applications to query a model at runtime to determine the structure and semantics of the modeled system.

Although MOF is not directly utilized or exposed by the SDK, it is important as a foundation technology, and many of the SDK interfaces are the result of mapping MOF-compliant metamodels using the JMI code templates.

4.3.3.6

XML Metadata Interchange

XML Metadata Interchange (XMI) is an Object Management Group (OMG) standard that supports the interchange of any kind of metadata that can be expressed using the Meta Object Facility (MOF) specification, including both model and metamodel information. XMI integrates the Unified Modeling Language (UML), MOF, and XML, and allows developers of distributed systems to share object models and other metadata over the Internet. XMI, together with MOF and UML, form the core of the OMG metadata repository architecture.

Enterprise Reporting, Query, and Analysis

613

Core Development Tasks Using Connectivity and Interoperability

March 2006

There are many advantages of basing a metadata interchange format on XML. These include the following:

XML is an open, platform-independent, and vendor-independent standard. XML supports the international character set standards of extended ISO Unicode. XML is metamodel-neutral, and can represent metamodels compliant with OMGs meta-metamodel, the MOF. In the SDK, implementing the metadata services exposed by the connectors as fullblown JMI services automatically provides XMI support. A JMI service provides APIs for streaming metadata in the XMI format. The XmiWriter and XmiReader interfaces import and export XML documents to and from a JMI service.

XMI, together with MOF, is important in the SDK as a foundation technology. By applying a JMI rendering to interfaces, we also provide XMI capabilities, which support a common exchange format for metadata.

4.3.3.7

OLE DB for OLAP and XML for Analysis

Microsofts OLE DB for OLAP is the de-facto industry standard API for exchanging metadata and data between an OLAP server and a client on a Windows platform. Microsofts XML for Analysis (XMLA) is advancing this standard by leveraging many of the established concepts of OLE DB for OLAP for a Web services API. Both OLE DB for OLAP and XMLA utilize a SQL-like query language called MDX (Multidimensional Expressions). Since MDX-based OLAP providers are currently the de-facto standard, the SDK takes capabilities of such providers into account.

Although many of the expressions used in the SDKs OLAP Query API are common to different OLAP implementations, they were designed with MDX-based providers and mind and therefore resemble various expressions described in the MDX grammar in some areas. Note however that the SDK takes a strongly object-oriented approach to defining queries, rather than a linguistic approach.

4.3.4
Purpose

BI Java Connectors

The BI Java Connectors are a group of four JCA (J2EE Connector Architecture)-compliant resource adapters that implement the BI Java SDK's APIs and allow you to connect the applications you build with the SDK to heterogeneous data sources. You can also use the BI Java Connectors to make these data sources available in SAP BI systems via UD Connect, or to create systems in the portal to use in BEx Web or Visual Composer scenarios. The following diagram outlines the potential usage scenarios for the BI Java Connectors:

Enterprise Reporting, Query, and Analysis

614

Core Development Tasks Using Connectivity and Interoperability

March 2006

Scenario 1
BI Platform & Data Warehouse UD Connect (ABAP)

Scenario 2
BEx Web

Scenario 3
Visual Composer

Scenario 4
BI Java SDK

For UD Connect scenarios, configure connector properties in Visual Admin

J2EE
Portal System Landscape Portal Connector Framework J2EE Visual Administrator

For BEx & VC scenarios, create and configure systems via the Portal Connector Framework

For each runtime scenario, UDI and MMR need to be deployed (AS-JAVA Usage Type in NW2004s)

BI Java Connectors
UDI SAP JDBC XMLA ODBO Query Metamodel Repository

MMR

For BI Java SDK scenarios, use built-in connector JARs @ designtime; configure properties in the Visual Admin @ runtime

As illustrated, you can use the BI Java Connectors to create systems for use in four different scenarios. Since the BI Java Connectors are distributed as part of SAP Universal Data Integration (UDI), these are often referred to as UDI scenarios:

Scenario 1: UD Connect On the BI platform, you can use UD Connect to make data from systems based on the BI Java Connectors available in SAP BI. For more information, see Transferring Data with UD Connect [External]. To configure the BI Java Connectors for this scenario, refer to the following path in the SAP Customizing Implementation Guide: SAP NetWeaver Business Intelligence UDI Settings by Purpose UD Connect Settings, and follow the instructions in Configuring the BI Java Connectors [Page 617] to configure the connector properties.

Scenario 2: BEx Web You can use data from systems based on the BI Java Connectors in BEx Web Applications. For more information, see BEx Web [External] and Access to External Data Sources [Page 628]. To configure the BI Java Connectors for this scenario, refer to the following path in the SAP Customizing Implementation Guide: SAP NetWeaver Business Intelligence UDI Settings by Purpose Integration in BEx Web, and see Running the System Landscape Wizard [External] and Editing Systems [External] to configure the systems on the portal.

Scenario 3: Visual Composer

Enterprise Reporting, Query, and Analysis

615

Core Development Tasks Using Connectivity and Interoperability

March 2006

You can use data from systems based on the BI Java Connectors in Visual Composer, the portal-based visual modeling application. For more information, see the Visual Composer Modelers Guide [External]. To configure the BI Java Connectors for this scenario, see the Visual Composer Installation and Configuration Guide [External], and see Running the System Landscape Wizard [External] and Editing Systems [External] to configure the systems on the portal.

Scenario 4: BI Java SDK You can build custom Java applications based on data in systems created with the BI Java Connectors. For more information, see BI Java SDK [External]. To configure the BI Java Connectors for this scenario, see Configuring the BI Java Connectors [Page 617].

Features
Four BI Java Connectors are available:

BI JDBC Connector [Page 621], for connecting to relational JDBC data sources BI ODBO Connector [Page 622], for connecting to OLE DB for OLAP-compliant data sources BI SAP Query Connector [Page 625], for connecting to data from SAP operational applications BI XMLA Connector [Page 626], for connecting to XMLA-compliant data providers such as SAP BI Systems

Connector Overview Connector BI JDBC Connector Access To Relational data sources: over 170 JDBC drivers Examples: Teradata, Oracle, Microsoft SQL Server, Microsoft Access, DB2, Microsoft Excel, text files such as CSV BI ODBO Connector OLAP data sources: OLE DB for OLAPcompliant data sources Examples: Microsoft Analysis Services, SAS, Microsoft PivotTable Services Technology Based On Sun's JDBC (Java Database Connectivity) -- the standard Java API for Relational Database Management Systems (RDBMS) System Requirements JDBC driver for your data source

Microsoft's OLE DB for OLAP -- the established industrystandard OLAP API for the Windows platform

Microsoft Windows 2000 / NT / XP or greater Microsoft Data Access Components (MDAC) 2.6 or greater

Enterprise Reporting, Query, and Analysis

616

Core Development Tasks Using Connectivity and Interoperability

March 2006

ODBO driver for your data source

BI SAP Query Connector

SAP operational applications Examples: Data in transactional systems such as AdHoc, and Operational Reporting

SAP Query -- a NetWeaver component that allows you to create custom reports without any ABAP programming knowledge Microsoft's XMLA (XML for Analysis) -Web services-based, platform-independent access to OLAP providers. Exchanges analytical data between a client application and a data provider working over the Web, using a SOAP-based XML communication API.

SAP JCo

BI XMLA Connector

XMLA-compliant OLAP data sources Examples: MS Analysis Services, Hyperion, MicroStrategy, and SAP BW 3.x

none

See also:

To configure a BI Java Connector on the server using the Visual Administrator, see Configuring the BI Java Connectors [Page 617]. To create a system on the portal using a BI Java Connector, see Creating Systems [External]. For more information about the J2EE Connector Architecture (JCA), see http://java.sun.com/j2ee/connector/ For information about the BI Java SDK and its connection architecture, refer to the index.html file inside of the SDK distribution package Read about the BI Java SDK [External]

4.3.4.1

Configuring the BI Java Connectors

Use
To prepare a data source for use with the BI Java SDK or with UD Connect, you must first configure the properties of the BI Java Connector used to connect to the data source. You do this in the SAP NetWeaver Application Servers Visual Administrator, following the steps below. To create and configure systems in the portal for use in BEx Web and Visual Composer scenarios, see Running the System Landscape Wizard [External] and

Enterprise Reporting, Query, and Analysis

617

Core Development Tasks Using Connectivity and Interoperability

March 2006

Editing Systems [External] in the NetWeaver Portal System Landscape documentation.

Prerequisites
In order to configure the properties for a data source based on a BI Java Connector, the connectors resource adapter archive (RAR file) (delivered as part of Universal Data Integration, or UDI) and the Metamodel Repository (MMR) upon which the connectors rely must first be deployed to the server. UDI and MMR are part of usage type AS-Java (Application Server Java) in NetWeaver 2004s. Check the documentation for the connector you wish to configure for any additional prerequisites (youll also be referring to these documents for the list of specific properties to configure): BI JDBC Connector [Page 621] BI ODBO Connector [Page 622] BI SAP Query Connector [Page 625] BI XMLA Connector [Page 626]

Procedure
...

1. Start the Visual Administrator: UNIX: On your central instance host, change to the admin directory /usr/sap/<SAPSID>/<instance_number>/j2ee/admin and execute go.sh. Windows: On your central instance host, change to the admin directory \usr\sap\<SAPSID>\<instance_number>\j2ee\admin and execute go.bat.

2. On the Cluster tab, choose Server x Services Connector Container. 3. Locate your connector in the Connector Container tree and double-click it to open the connector definition: BI JDBC Connector: SDK_JDBC under the node sap.com/com.sap.ip.bi.sdk.dac.connector.jdbc BI ODBO Connector: SDK_ODBO under the node sap.com/com.sap.ip.bi.sdk.dac.connector.odbo BI SAP Query Connector: SDK_SAPQ under the node sap.com/com.sap.ip.bi.sdk.dac.connector.sapq BI XMLA Connector: SDK_XMLA under the node sap.com/com.sap.ip.bi.sdk.dac.connector.xmla.

4. On the Runtime tab (in the right frame), choose Managed Connection Factory Properties. 5. Select and edit each property according to Connector Properties tables in the documents below: BI JDBC Connector [Page 621] BI ODBO Connector [Page 622]

Enterprise Reporting, Query, and Analysis

618

Core Development Tasks Using Connectivity and Interoperability

March 2006

BI SAP Query Connector [Page 625] BI XMLA Connector [Page 626]

6. After configuring each property, choose Add to transfer the changes to the active properties list. 7. Save the settings.

For the BI JDBC Connector only: Still in the Connector Container service, configure a reference to your data sources JDBC driver using the steps below: 8. Select the BI JDBC Connector in the Connectors tree. 9. Choose the Resource Adapter tab. 10. In the Loader Reference box, choose Add to add a reference to your JDBC driver. 11. Enter library:<jdbc driver name> and choose OK. The <jdbc driver name> is the name you entered for your driver when you loaded it (see Prerequisites in BI JDBC Connector [Page 621]). 12. Save the settings.

For the BI XMLA Connector only: If you are using the SAPLOGONTICKET authentication method, configure BI to accept user/SAPLogonTicket pairs for authentication (instead of only user/password pairs) using the procedures below: 13. Configure SSO between the J2EE engine and the SAP BI system (so that ABAP accepts SSO from the J2EE engine) using the instructions in the following document: Configuring SAP Web AS ABAP to Accept Logon Tickets from the J2EE Engine [External] 14. Configure SSO between the SAP BI system and the J2EE engine (so that the J2EE engine accepts SSO from ABAP) using the instructions in the following document: Configuring the J2EE Engine to Accept Logon Tickets [External]

If an error occurs when configuring and testing the BI XMLA Connector, apply SAP Note 863672.

For more information on using the Connector Container service, see Connector Container Service [External].

Result
Your BI Java Connector properties are configured and your data source is ready to use.

Enterprise Reporting, Query, and Analysis

619

Core Development Tasks Using Connectivity and Interoperability

March 2006

Testing the Connections


After you configure a BI Java Connector, you can perform a rough installation check by displaying the page for a given connector in your server. Perform the tests for a given connector by visiting the URLs in the table below: Connector Test Servlets Connector BI JDBC Connector BI ODBO Connector BI SAP Query Connector BI XMLA Connector URL http://<host>:<port>/TestJDBC_Web/TestJDBCPage.jsp http://<host>:<port>/TOdbo/servlet/TestOdbo http://<host>:<port>/TSapq/servlet/TestSapq http://<host>:<port>/TXmla/servlet/TestXmla Successful Result A list of tables is displayed A list of cubes is displayed A list of tables is displayed A list of cubes is displayed

These tests are designed to work with the default installation of the BI Java Connectors. Cloned connectors with new JNDI names are not tested by these servlets.

JNDI Names
When engineering applications with the BI Java SDK, refer to a connector by its JNDI name: Connector JNDI Names Connector BI JDBC Connector BI ODBO Connector BI SAP Query Connector BI XMLA Connector JNDI Name SDK_JDBC SDK_ODBO SDK_SAPQ SDK_XMLA

For code samples, refer to the Connection Interfaces Javadocs package in the documentation set delivered with the BI Java SDK.

Cloning the Connections


You can clone an existing connection by using the Clone button in the toolbar. For Universal Data Connect (UD Connect) only: When entering the resource adapter name during the cloning process, you must prefix the JNDI name with SDK_ and use only all capital letters in the name in order for UD Connect to properly recognize the connector.

Enterprise Reporting, Query, and Analysis

620

Core Development Tasks Using Connectivity and Interoperability

March 2006

4.3.4.2

BI JDBC Connector

Use
Sun's JDBC (Java Database Connectivity) is the standard Java API for Relational Database Management Systems (RDBMS). The BI JDBC Connector allows you to connect applications built with the BI Java SDK to over 170 JDBC drivers, supporting data sources such as Teradata, Oracle, Microsoft SQL Server, Microsoft Access, DB2, Microsoft Excel, and text files such as CSV. This connector is fully compliant with the J2EE Connector Architecture (JCA). You can also use the BI JDBC Connector to make these data sources available in SAP BI Systems via UD Connect, or you can create systems in the portal based on this connector. The connector adds the following functionality to existing JDBC drivers:

Uniform connection management that integrates with user management in the portal Uniform metadata service, by implementing JMI capabilities based on CWM Query model independent of SQL dialect of the underlying data source

The JDBC Connector implements the BI Java SDK's IBIRelational interface.

Prerequisites
The BI JDBC Connector supports any JDBC-compliant data source. If you have not already done so, you must first deploy your data sources JDBC driver to the server:
...

1. Start the Visual Administrator. 2. On the Cluster tab, select Server x Services JDBC Connector. 3. In the right frame, select the Drivers node on the Runtime tab. 4. From the icon bar, choose Create New Driver or Data source. 5. In the DB Driver field in the Add Driver dialog box, enter a name for your JDBC driver. 6. Navigate to your JDBC driver's JAR file and select it. 7. To select additional JAR files, select Yes when prompted, and when finished, select No. For more information, see JDBC Connector Service [External].

Connector Properties
Refer to the table below for the required and optional properties to configure for your connector: BI JDBC Connector Properties Property UserName Description Data source username. User must have at least read access to the data source. Password Data source password. (your password) Examples (your user name)

Enterprise Reporting, Query, and Analysis

621

Core Development Tasks Using Connectivity and Interoperability

March 2006

URL

URL string specifying the location of a database (used by the java.sql.DriverManager to determine which driver to use). Class name of the JDBC driver used for this connection. Restriction of metadata access to metadata contained in specified catalog. Optional. Restriction of metadata access to metadata contained in specified schema. Optional. Two-letter abbreviation of language. Specifies the language of exceptions evoked on the BI Java SDK layer. JDBC databases themselves do not support this property. Optional.

jdbc:inetdae7:domain:port?database=mydatabase

DriverName

com.inet.tds.TdsDriver

FixedCatalog

null (no restriction) xyz (restrict access to catalog xyz)

FixedSchema

null (no restriction) xyz (restrict access to schema xyz)

Language

EN=English DE=German

See also:

To configure BI Java Connector properties in the SAP NetWeaver Application Server's Visual Administrator, see Configuring the BI Java Connectors [Page 617]. To create a system on the portal using the BI JDBC Connector, see Creating Systems [External] and Editing BI JDBC System Properties [External]. For information about the BI Java SDK and its connection architecture, refer to the index.html file inside of the SDK distribution package For more information about Sun's J2EE Connector Architecture, see http://java.sun.com/j2ee/connector/ For more information about Suns JDBC, see http://java.sun.com/products/jdbc/

4.3.4.3

BI ODBO Connector

Use
Microsoft's OLE DB for OLAP is the established industry-standard OLAP API for the Windows platform. The BI ODBO Connector is based on OLE DB for OLAP, abbreviating it as "ODBO." This connector allows you to connect applications built with the BI Java SDK to ODBOcompliant OLAP data sources such as Microsoft Analysis Services, SAS, and Microsoft PivotTable Services. This connector is fully compliant with the J2EE Connector Architecture (JCA).

Enterprise Reporting, Query, and Analysis

622

Core Development Tasks Using Connectivity and Interoperability

March 2006

You can also use the BI ODBO Connector to make these data sources available in SAP BI Systems via UD Connect, or you can create systems in the portal based on this connector. The BI ODBO Connector uses Microsoft's ADO (ActiveX Data Objects) and ADO MD (ActiveX Data Objects Multidimensional) to support connectivity to OLAP data sources. ADO provides access to the schema object; ADO MD adds easy access to multidimensional data by extending ADO with objects specific to multidimensional data, such as the cubes and cellsets. With ADO and ADO MD, you can browse multidimensional schema, query a cube, and retrieve the results, thus providing convenient access to OLAP data from languages such as Microsoft Visual Basic, Microsoft Visual C++, and Microsoft Visual J++. Like ADO, ADO MD uses an underlying OLE DB provider to gain access to data. The ODBO Connector implements the BI Java SDK's IBIOlap interface.

Prerequisites

Windows 2000 / NT / XP (or greater) systems only Microsoft Data Access Components (MDAC) 2.6 or greater ODBO (OLE DB for OLAP) driver for your data source

Connector Properties
Refer to the table below for the required and optional properties to configure for your connector: BI ODBO Connector Properties Property UserName Description Data source user name. User must have at least read access to the data source. Password ConnString Data source password. Connection string information such as provider name, file name, remote provider, remote server, and URL. (your password) Local cube: Provider=MSOLAP;Location= "c:\public\SalesOverview.cub" Examples (your user name)

Microsoft Analysis Server: Note: For SAP BI OLAP providers, to completely suppress the SAP Logon screen at runtime, be sure to also provide values for the UserName, Password, and Language properties. If you want to evoke the logon screen, you may specify the Provider=MSOLAP;data source=palbiteam

BW OLAP provider: Data Source=BWP; Provider=MDrmSAP; SFC_CLIENT=010; SFC_LANGUAGE=EN

Enterprise Reporting, Query, and Analysis

623

Core Development Tasks Using Connectivity and Interoperability ConnString property only. Language Two-letter abbreviation of language. Sets the language for your data source (if supported), and also specifies the language of exceptions evoked on the BI Java SDK layer. Optional. Default is EN. LogonAsUserID (see note below table) Username of a given windows domain account. Optional. Empty string means property not set. LogonAsUserPassword (see note below table) Password for a given windows domain account. Optional. Empty string means property not set. LogonAsUserDomain (see note below table) Windows domain account name. Optional. Empty string means property not set. Using a specific Windows domain account: (a Windows domain name) (your password) (your user name) EN=English DE=German

March 2006

You may wish to set a specific Windows domain account in certain situations where the BI ODBO Connector needs to use security credentials different from the credentials used by J2EE server itself. Examples of this include when the OLE DB driver for Microsoft Analysis Server supports only Windows domain security and ignores credentials supplied in the connection string, if any, or with a connection to MS SQL Server where MS SQL Server is configured for Windows authentication only. Configuring these properties will result in the BI ODBO Connector attempting to impersonate the specified Windows domain account when establishing a connection to the target system. The J2EE server will create a local COM component using the account information provided, and this component, in turn, will access the remote computer (such as that which hosts the database server). These properties are ignored if LogonAsUserID and/or LogonAsUserDomain contain an empty string or are absent.

See also:

To configure BI Java Connector properties in the SAP NetWeaver Application Server's Visual Administrator, see Configuring the BI Java Connectors [Page 617]. To create a system on the portal using the BI ODBO Connector, see Creating Systems [External] and Editing BI ODBO System Properties [External].

Enterprise Reporting, Query, and Analysis

624

Core Development Tasks Using Connectivity and Interoperability


March 2006

For information about the BI Java SDK and its connection architecture, refer to the index.html file inside of the SDK distribution package For more information about Sun's J2EE Connector Architecture, see http://java.sun.com/j2ee/connector/ For more information about Microsofts ADO, see: http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/dasdk/mdac3sc 7.htm

4.3.4.4

BI SAP Query Connector

Use
SAP Query is a component of SAP's Web Application Server that allows you to create custom reports without any ABAP programming knowledge. The BI SAP Query Connector uses SAP Query to allow applications created with the BI Java SDK to access data from these SAP operational applications. This connector is fully compliant with the J2EE Connector Architecture (JCA). You can also use the BI SAP Query Connector to make these data sources available in SAP BI Systems via UD Connect, or you can create systems in the portal based on this connector. The BI SAP Query Connector implements the BI Java SDK's IBIRelational interface.

Prerequisites

SAP ERP Systems including R/3 systems 4.6C or greater Systems supported by SAP JCo with JCo installed

Connector Properties
Refer to the table below for the required and optional properties to configure for your connector: BI SAP Query Connector Properties Property UserName Description Data source user name. User must have at least read access to the data source. Password Language Data source password. Two-letter abbreviation of language. Sets the logon language for your system, and also specifies the language of exceptions evoked on the BI Java SDK layer. Single-character value (char) specifying whether (your password) EN=English DE=German Examples (your user name)

QueryArea

X=global

Enterprise Reporting, Query, and Analysis

625

Core Development Tasks Using Connectivity and Interoperability the SAP Query area is global (client-independent) or local (client-dependent). Default value is local. Client MessageServer ApplicationServer SystemNumber Client specified as a threedigit integer. Hostname for message server. Hostname for application server. Two-digit integer specifying the SAP system (R/3) instance. Logon group for load balancing. SAP system (R/3) name.

March 2006

[blank]=local

000 server1.mydomain.com server1.mydomain.com 00

ServerGroup R3Name

A string, such as PUBLIC or SPACE OSS

For the set of connection properties required for your system, refer to the JCo documentation in your JCo download. If you have trouble establishing a connection to a server that does not have a PUBLIC logon group, try removing the properties for R3Name and ServerGroup. See the JCo documentation on the SAP Service Marketplace (service.sap.com/connectors) for more connection troubleshooting information.

See also:

To configure BI Java Connector properties in the SAP NetWeaver Application Server's Visual Administrator, see Configuring the BI Java Connectors [Page 617]. To create a system on the portal using the BI SAP Query Connector, see Creating Systems [External] and Editing BI SAP Query System Properties [External]. For information about the BI Java SDK and its connection architecture, refer to the index.html file inside of the SDK distribution package For more information about Sun's J2EE Connector Architecture, see http://java.sun.com/j2ee/connector/ For more information about SAP Query, refer to the following document: SAP Query [External]

4.3.4.5

BI XMLA Connector

Use
Microsoft's XMLA (XML for Analysis) facilitates Web services-based, platform-independent access to OLAP providers. The BI XMLA Connector enables the exchange of analytical data between a client application and a data provider working over the Web, using a SOAP-based

Enterprise Reporting, Query, and Analysis

626

Core Development Tasks Using Connectivity and Interoperability

March 2006

XML communication API. The XMLA Connector sends commands to an XMLA-compliant OLAP data source in order to retrieve the schema rowsets and obtain a result set. The BI XMLA Connector allows you to connect applications built with the BI Java SDK to data sources such as Microsoft Analysis Services, Hyperion, MicroStrategy, MIS, and BW 3.x. This connector is fully compliant with the J2EE Connector Architecture (JCA). You can also use the BI XMLA Connector to make these data sources available in SAP BI Systems via UD Connect, or you can create systems in the portal based on this connector. The BI XMLA Connector implements the BI Java SDK's IBIOlap interface.

Prerequisites
XMLA-compliant OLAP data sources, such as SAP BI (BW) system release 3.0A or greater

Connector Properties
Refer to the table below for the required and optional properties to configure for your connector: BI XMLA Connector Properties Property UserName Description Data source user name. User must have at least read access to the data source. Password Language Data source password. Two-letter abbreviation of language. Determines logon language for SAP BI systems, and specifies the language of exceptions evoked on the BI Java SDK layer. Optional. URL Server URL. To find the URL of an SAP BI XMLA provider: Start transaction SE37 and execute the function module RSBB_URL_PREFIX_GET. Use the following values for the import parameters of the function module: I_HANDLERCLASS = CL_RSR_MDX_SOAP_HANDLER I_PROTOCOL = HTTP I_MESSAGESERVER = The URL takes the following form: */sap/bw/xml/soap/xmla. DataSource Data source info property. Local Analysis Server SAP BI XMLA provider -http://[domain:port]/sap/ bw/xml/soap/xmla (your password) EN=English DE=German Examples (your user name)

Microsoft Analysis Server -http://[domain:port]/ isapi/msxisapi.dll

Enterprise Reporting, Query, and Analysis

627

Core Development Tasks Using Connectivity and Interoperability

March 2006

Statefulness

Statefulness support. Optional. Default is false.

true or false

Logonmethod

Specifies authentication mechanism (logon method).

If using SAPLOGONTICKET, see the For the BI XMLA Connector only section in Configuring the BI Java Connectors [Page 617] for information on using Single SignOn with the BI XMLA Connector.

UIDPW - Log on to your XMLA provider using User/Password. Use this method for XMLA-based access to non-SAP BI providers, or for User/Password access to SAP BI providers. This is the sole authentication method supported in the unmanaged environment.

SAPLOGONTICKET - Log on to your XMLA provider using SAP Logon Ticket (supported by SAP BI XMLA providers). Use this property if you want to use the SAP Logon Ticket (SSO) to access BI systems. Timeout Maximum time to wait for the SOAP connection (in milliseconds). Default is 30000 (thirty seconds). 60000 - to increase timeout to one minute

See also:

To configure BI Java Connector properties in the SAP NetWeaver Application Server's Visual Administrator, see Configuring the BI Java Connectors [Page 617]. To create a system on the portal using the BI XMLA Connector, see Creating Systems [External] and Editing BI XMLA System Properties [External]. For information about the BI Java SDK and its connection architecture, refer to the index.html file inside of the SDK distribution package For more information about Suns J2EE Connector Architecture, see http://java.sun.com/j2ee/connector/ For more information about XMLA, see: http://www.xmla.org/docs_pub.asp http://msdn.microsoft.com/library/default.asp?URL=/library/techart/XMLAnalysis. htm

4.3.5
Use

Access to External Data Sources

Four different UDI options (Universal Data Integration [External]) are available for you to access external data sources. Access is based on BI Java Connectors or the SAP BI Connector [External].

Enterprise Reporting, Query, and Analysis

628

Core Development Tasks Using Connectivity and Interoperability

March 2006

BI Java Connectors are a group of four JCA-enabled (J2EE Connector Architecture) resource adapters that allow you to connect applications with various data sources. Four BI Java Connectors are available:

BI JDBC Connector [Page 621], for connecting to relational JDBC data sources BI ODBO Connector [Page 622], for connecting to OLE DB for OLAP-compliant data sources BI SAP Query Connector [Page 625], for connecting to data from SAP operational applications BI XMLA Connector [Page 626], for connecting to XMLA-compliant data providers such as SAPs BW

Prerequisites
You have made the settings required for your area of application in Customizing under SAP Customizing Implementation Guide SAP NetWeaver Business Intelligence UDI Settings by Purpose.

Features
The following graphic provides an overview of the available UDI options:

BI Platform & Data Warehouse UD Connect (ABAP)

BI Java SDK

BEx Web

Visual Composer

J2EE
EP System Landsape EP Connector Framework J2EE Visual Admin

UDI
SAP JDBC XMLA ODBO Query

You can use UD Connect [External] and the BI Java SDK [External] to access external data sources. Here you can use all available BI Java Connectors. There are also two other options available on the front end. In this way, you can access data providers from third parties that have an XMLA or ODBO interface in the BEx Report

Enterprise Reporting, Query, and Analysis

629

Core Development Tasks Applying Extensibility

March 2006

Designer, BEx Web Application Designer and in the BEx Web Analyzer. The connections to these data providers are configured in the portal with the BI ODBO Connector and the BI XMLA Connector. This provides query views that are based on external sources, BI functions such as analytical services (OLAP), broadcasting and documentation integration, for example. In the Visual Composer, you can also access various data sources using the BI Java Connectors. With SAP NetWeaver BI, we recommend access using the SAP BI Connector, with which you can use BEx Queries or Query views that already exist.

4.4

Applying Extensibility

Purpose
With the SAP enhancement concept, you can make enhancements to the standard in the BI system. Within the BI system, you use function exits and BAdIs to make these enhancements. For more information, see Customer Exits [Page 630] and Business Add-Ins [Page 631]. The Enterprise Reporting, Query and Analysis scenario includes the following enhancement options:

BAdI for Virtual Characteristics and Key Figures in Reporting


You use the Virtual Characteristics and Key Figures in Reporting BAdI to define and evaluate user-defined characteristics and key figures. For more information, see Customizing under SAP Customizing Implementation Guides SAP NetWeaver SAP Business Intelligence BI Enhancements.

Customer Exit for Variables


The customer exit for variables allows you to set default values for variables using a function module. For more information, see Customer Exits for Variables [Page 409].

Web Item for Generating XML


In Web application design, you use the Data Provider Information Web item to generate the query result data or the navigational state of a query in XML. For more information, see Data Provider - Information [Page 150].

4.4.1

Customer Exits

Important Note: Since Release 4.6A, SAP has provided a new enhancement technique in the form of Business Add-Ins [Page 631]. Among others, this enhancement technique has the advantage of being based on a multi-level system landscape (SAP, country versions, IS solutions, partner, customer, and so on) instead of a two-level landscape (SAP, customer) as with the customer exits. You can create definitions and implementations of Business Add-Ins at any level of the system landscape. To make enhancements of the SAP standard more uniform, you can migrate customer exits to Business Add-Ins.

Enterprise Reporting, Query, and Analysis

630

Core Development Tasks Applying Extensibility

March 2006

If you used transaction SMOD to migrate customer exits, the enhancement projects of the customer that belong to the customer exits must be migrated to implementations of business add-ins in order to preserve the functionality of the enhancement. After the upgrade, start migration in transaction SPAU through the appropriate pushbutton. If no migration was executed for customer exits created prior to Release 4.6A, you can still use the technique described below to add your own functions to standard applications. Enhancements of the SAP Standard with Customer Exits [External] Exit Types [External] Searching for Applications with Exits [External] Creating Add-On Projects [External] Activating and Deactivating Projects [External] Transporting Add-On Projects [External] Creating Customer-Specific Menus [External] Creating Customer-Specific Subscreens [External] Creating Customer-Specific Function Modules [External]

4.4.2

Classic BAdIs

Business Add-Ins (BAdIs) are enhancements to the standard version. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.

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

This documentation describes the classic BAdIs that have replaced function modules exits since Release 4.6d. As of Release 7.0 of the SAP NetWeaver Application Server ABAP (SAP NetWeaver 2004s), there is a new type of BAdI. Creation of these BAdIs is integrated into the Enhancement Framework [External]. Execution of these BAdIs is integrated, for performance reasons, into the ABAP language. The new BAdIs [External] have completely replaced the classic BAdIs. A migration tool [External] is available for converting the classic BAdIs into new BAdIs.

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

As with customer exits [Page 630], two different views are available:

In the definition view, an application programmer defines exit points in a source that allow specific industry sectors, partners, and customers to attach additional coding to standard SAP source code, without having to modify the original object.

Enterprise Reporting, Query, and Analysis

631

Core Development Tasks Enabling Globalization

March 2006

In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard solution if one is available.

In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, country-specific versions, industry solutions, partner, customer, and so on). You can create definitions and implementations of Business Add-Ins at any level of the system landscape. SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR. The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to differentiate between Add-In implementations using the filter Country or other criteria. All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task. The actual program code is enhanced using ABAP Objects. In order to better understand the enhancement technique behind the Business Add, we recommend reading the section ABAP Objects [External]. You can find additional information about classic BAdIs in the following sections. Architecture of the Enhancement Technique [External] Comparison with Existing Techniques [External] Definition of a Business Add-In [External] Calling an Add-In in the Application Program [External] Implementing a Business Add-In [External] Filter-Dependent Business Add-Ins [External] Multiple Use Business Add-Ins [External] Menu Enhancements [External] Screen Enhancements [External] Procedure for Importing Business Add-Ins [External]

4.5

Enabling Globalization

Purpose
Web Application Design
You can use the text input dialog to create texts for certain parameters in Web items. You can also create localized texts. For more information, see Text Input Dialog [Page 40].

Enterprise Reporting, Query, and Analysis

632

Ensuring Quality Testing

March 2006

Ensuring Quality

This section deals with the quality measures involved in development such as testing, logging and tracing, and debugging.

5.1

Testing

Purpose
You have the following options for testing and analyzing development: Area Defining queries Developing BI content Analysis Options You use the query monitor to test queries. See Query Monitor [Page 633]. You use the BI Content Analyzer to check the consistency of BI Content. See BI Content Analyzer [Page 649]. You use the ABAP workbench tools to analyze enhancements. For more information, see the Developers Guide for ABAP development.

Customer exits and BAdIs

5.1.1
Purpose

Query Monitor

The query monitor tests, checks, and manages BI queries. You use the query monitor to test or regenerate queries and query views, and to check or change query properties. With the query monitor you have the option of displaying technical information about queries. Furthermore, the query monitor allows entry into the cache monitor. The query monitor is a transaction for administrators, because previous technical knowledge is presumed.

Implementation Considerations
You can use this component of the BI system without a BW front end. However, you need to have already defined in the BEx Query Designer the BI queries that you want to use.

Integration
You get to the Query Monitor from the Business Explorer SAP Easy Access screen BEx Monitor Query Monitor.

Features
Query Specify the technical name of the BI query that you want to use. Input help is available for searching in History, InfoAreas, Roles, and Favorites.

Enterprise Reporting, Query, and Analysis

633

Ensuring Quality Testing View

March 2006

If you want to test a query view, specify the technical name for the query view you want in the entry field. Input help is available. The following functions are available in the query monitor toolbar: Pushbutton Execute Function Execute the query or query view A screen with the query display in an HTML control opens. You can test the display functions, with certain restrictions, as you would on the Web. In the upper part of the entry screen, the URL is displayed with the complete parameterization. You can use the available pushbuttons to set bookmarks. Generate Report Regenerates the query code. The code is stored as a generated report.

With a regeneration, the agreement is always given with the query definition Properties The Query Properties dialog box appears. For more information, see Query Properties [Page 636]. Messages The Suppress Messages dialog box appears. On this screen you can determine which messages for the chosen query are not to be shown to the user in the front end. In the left-hand screen area you are able to choose the message category, for example, Generating, Hierarchy, Variables, Key Figures, Calculate As. In the right-hand screen area you see those messages you can choose not to display. If you double-click on the short text for the message the system displays the long text for the message in the screen area below. Put a checkmark in the boxes next to the messages that you want to suppress, and go back. The system saves your entries automatically Generation Log The Evaluate Application Log screen appears. If the generation log option has been activated for the query (see Query Properties [Page 636]) you can display the corresponding generation log after you generate the query.

By using the respective pushbuttons, the following functions are available for selection: Pushbutton Function

Enterprise Reporting, Query, and Analysis

634

Ensuring Quality Testing

March 2006

Performance Info

The Performance Info screen appears. The system displays performance-relevant information for the query that do not correspond to the system recommendations ( ). The information refers to the following areas: Query definition:

Query cannot use aggregates (corresponds to specifications in Technical Information [Page 646] under OLAP-Relevant Data) Read mode X or A (see Read Modeapurl_link_0001_0004_0010) Query cannot use the cache (corresponds to specifications in Technical Information [Page 646] under OLAP-relevant Data) Query uses customer exits There are non-cumulative values with AVI (corresponds to specifications in Technical Information [Page 646] under Noncumulative Flags)

InfoProvider:

InfoProvider is a MultiProvider Database statistics need to be checked Database indexes need to be checked

Technical Info

The Technical Information screen appears. For more information, see Technical Information [Page 646].

Cache Monitor

The Cache Monitor screen appears. For more information, see OLAP Cache Monitor [External].

Query Variants

If the query contains variables that are ready for entry, the query variants are displayed on the subsequent screen. You can change these or create new variants. For more information about query variants, see Saving Variants for a Query [External].

Test IGS

Test Internet Graphics Server With the Internet Graphics Server (IGS) from SAP, you create in the BI system charts and maps for Web-based reporting. The Test IGS is used to check whether the Internet Graphics Server can be accessed. If the system displays a graphic with two sets of three bars, you have a connection. You can now connect to performance analyses. For more information, see the implementation guide (IMG) of SAP NetWeaver Business Intelligence under Reporting-Relevant Settings Web-Based Settings IGS Settings.

Constraints
The function that provides the BI front end is not entirely supported in the query monitor. On the other hand, there are settings that you can only make here and not in the front end (see Properties and Query Properties [Page 636]).

Enterprise Reporting, Query, and Analysis

635

Ensuring Quality Testing

March 2006

5.1.1.1

Query Properties

Use
On the Query Properties dialog box for the query monitor you can make settings for a BI query with regard to the read mode, the cache mode, the selection of structure elements, the optimization mode and the calculation accuracy. You can switch off the default Parallel Processing for queries on a MultiProvider. For queries with virtual characteristics or key figures you are able to activate the use of the cache, which is deactivated by default. If you activate the display of the generation log you are able to display a log in which you can see the reasons why the query in question was generated again. You do this afterwards using the generation log pushbutton.

Integration
Read Mode and Cache Mode In Customizing you can specify the standard settings for an InfoProvider for the read mode and the cache mode (with the persistence mode, where necessary). These need to be valid for those queries that will be created for the corresponding InfoProvider. Furthermore, for the InfoProvider for which data changes do not occur under the control of the BI system (for example, VirtualProviders and transactional DataStore objects), you can specify the cache validity, meaning the data retention period in the cache.

For more information, see the Implementation Guide (IMG) for SAP NetWeaver Business Intelligence Reporting-Relevant Settings General Reporting Settings in the Business Explorer Properties for InfoProviders. In the Query Monitor you can change the standard settings for the read mode and the cache mode for existing queries. You can determine the cache validity exclusively for the InfoProvider in Customizing. Using the Selection of Structure Elements The Using the Selection of Structure Elements option can be selected for any query but is only really useful in a couple of cases. In queries, selections are frequently defined on one or more characteristics in the columns, or more precisely in the structure elements. One or more of these structure elements are often filtered in the BEx Analyzer or in Web applications. If you do not select the Using a Selection of Structure Elements option, these dynamic (structure element) selections are not transferred to the database. Normally the data for the entire structure or for both structures is then read from the database. Accuracy You can specify the accuracy with which a key figure needs to be calculated in the InfoObject maintenance. You can only specify the accuracy with which all query key figures need to be calculated in the Query Monitor (and not in the BEx Query Designer in the BI front end). You can use this to override the settings made in InfoObject maintenance for individual key figures, where necessary.

Enterprise Reporting, Query, and Analysis

636

Ensuring Quality Testing Parallel Processing

March 2006

A query on a MultiProvider is deconstructed internally into sub-queries. These are processed in parallel by default. In most cases parallel processing has benefits in terms of performance. However, in some cases sequential processing can be more advantageous for query performance (see Processing Queries [Page 643]). You are able to switch parallel processing for a MultiProvider off in the RSADMIN table. You can switch off parallel processing for a query on a MultiProvider in the Query Monitor. Optimization Mode If you do not make any other settings the OLAP processor determines the optimal initial size of the table SP, that is the memory structure in which data is held and processed in the OLAP processor (see Cache Structure [External]). This is done after the first execution and again after a period of 31 days since the last optimization. It automatically generates a report afterwards. In the Query Properties dialog box in the Query Monitor you can implement, modify of deactivate this function. Choose one of the following options:

Query Is Optimized after Generation (0) Query Optimization with Individual Periods in Days (1) Here you can determine the optimization period yourself. Query Optimization Inactive (9)

Prerequisites
You have created the query you want in the BEx Query Designer. The settings specified for the basic InfoProvider in Customizing, or those that were specified earlier in the Query Monitor, apply to the query (see above in the Integration section)

Features
Read mode [Page 638] Cache mode [Page 639]

Using the selection of structure elements

Accuracy [Page 642]

Generation log

Not using parallel processing [Page 642] Using the cache despite virtual characteristics/key figures [Page 644]

Optimization mode

Enterprise Reporting, Query, and Analysis

637

Ensuring Quality Testing

March 2006

5.1.1.1.1

Read Mode

Definition
The read mode determines how the OLAP processor gets data during navigation. You can set the mode in Customizing for an InfoProvider and in the Query Monitor for a query.

Use
The following types are supported:
...

1. Query to be read when you navigate or expand hierarchies (H) The amount of data transferred from the database to the OLAP processor is the smallest in this mode. However, it has the highest number of read processes. In the following mode Query to read data during navigation, the data for the fully expanded hierarchy is requested for a hierarchy drilldown. In the Query to be read when you navigate or expand hierarchies mode, the data across the hierarchy is aggregated and transferred to the OLAP processor on the hierarchy level that is the lowest in the start list. When expanding a hierarchy node, the children of this node are then read. You can improve the performance of queries with large presentation hierarchies by creating aggregates on a middle hierarchy level that is greater or the same as the hierarchy start level. 2. Query to read data during navigation (X) The OLAP processor only requests data that is needed for each navigational status of the query in the Business Explorer. The data that is needed is read for each step in the navigation. In contrast to the Query to be read when you navigate or expand hierarchies mode, presentation hierarchies are always imported completely on a leaf level here. The OLAP processor can read data from the main memory when the nodes are expanded. When accessing the database, the best aggregate table is used and, if possible, data is aggregated in the database. 3. Query to read all data at once (A) There is only one read process in this mode. When you execute the query in the Business Explorer, all data in the main memory area of the OLAP processor that is needed for all possible navigational steps of this query is read. During navigation, all new navigational states are aggregated and calculated from the data from the main memory. The read mode Query to be read when you navigate or expand hierarchies significantly improves performance in almost all cases compared to the other two modes. The reason for this is that only the data the user wants to see is requested in this mode. Compared to the Query to be read when you navigate or expand hierarchies, the setting Query to read data during navigation only effects performance for queries with presentation hierarchies. Unlike the other two modes, the setting Query to Read All Data At Once also has an effect on performance for queries with free characteristics. The OLAP processor aggregates on the corresponding query view. For this reason, the aggregation concept, that is, working with preaggregated data, is least supported in the Query to read all data at once mode.

Enterprise Reporting, Query, and Analysis

638

Ensuring Quality Testing

March 2006

We recommend you choose the mode Query to be read when you navigate or expand hierarchies. Only choose a different read mode in exceptional circumstances. The read mode Query to read all data at once may be of use in the following cases:

The InfoProvider does not support selection. The OLAP processor reads significantly more data than the query needs anyway. A user exit is active in a query. This prevents data from already being aggregated in the database.

Integration
You can find additional information under Query Properties [Page 636].

5.1.1.1.2

Cache Mode

Definition
The cache mode determines whether and in what ways the query results and navigational states calculated by the OLAP processor as highly compressed data are to be saved in a cache. You can set the respective mode in Customizing as the standard value for an InfoProvider and in the Query Monitor for a query.

Use
Caching is a means of improving query performance. However care should be taken to balance benefits against costs:

Benefit: Caching improves the answer time for queries Costs: Expenditure involved in organizing and retaining data in the cache

You are able to hold the cache data in the main memory, distributed to an application server or in a network. The option that you choose depends on various parameters. These include:

How often the query is requested We recommend that you save queries that are requested particularly frequently in the cache. The main memory cache is particularly fast but restricted by its size. Swapping cached data does cancel out limitations on the main memory but simultaneously affects performance. There are practically no limitations on memory space available in the database or in the file system for the persistent cache. Accessing compressed data directly in the persistent cache is also beneficial in terms of performance.

The complexity of the query Caching does bring advantages in terms of performance, particularly with more complex queries as evaluating these requires a higher level of effort. We recommend that complex data processed by the OLAP processor is held in the cache. (Therefore the cache mode Main Memory Without Swapping is less suitable for queries of this type.)

How often data is loaded

Enterprise Reporting, Query, and Analysis

639

Ensuring Quality Testing

March 2006

Using the cache is barely advantageous if query-relevant data is often changed and therefore has to be loaded frequently. The cache has to be regenerated every time. If cached data is held in the main memory, data from frequently called-up queries can be displaced. Subsequently your call-up takes more time.

Structure
The following modes are supported for the global cache:
...

1. Cache is Inactive (0) The cross-transactional cache is deactivated. The following modes are possible for the active cache: The cross-transactional cache is activated. 2. Main Memory Cache Without Swapping (1) The cache data is stored in the main memory. When the cache memory has been exhausted, excess data is removed according to the LRU algorithm, i.e. deleted from the memory. When a query is subsequently requested, the result is read from the InfoProvider once again. 3. Main Memory Cache with Swapping (2) The cache data is stored in the main memory. When the caching memory is used up, the excess data is written to a background and can be loaded back into the cache memory when making another request.

After query-relevant data has been loaded again, the background store can no longer be used. 4. Persistent Cache per Application Server (3) The cache data is stored persistently as a database table or as a file in a directory attainable from the application server. We recommend that you choose a directory that is proximate to the application server. When you save the cache data in a database table this puts a strain on the database. However, it is also then quicker to access uncached data in the database. In comparison to storing data in, for example, a star schema (see InfoCube [External]), fewer tables are read and fewer indexes are accessed. 5. Cross-Application Server Persistent Cache (4) The cache data is stored persistently as a cross-application server database table or file in a file system in the network, accessed from the application server. In this mode there is no displacement of data and no restriction on memory size. More space is required but this method also saves time. Database table: Strain is put on the database instance for the table. File: Strain is put on the network node operating system for the file. In addition, the application server that calculates the data and network communication has to be taken into account with both storage types.

The following table offers an overview of the available modes for an active cache: Active cache mode Property Main memory cache Persistent Cache

Enterprise Reporting, Query, and Analysis

640

Ensuring Quality Testing

March 2006

Without swapping Removal Yes (LRU algorithm and delete) No Restricted

With swapping Yes (LRU algorithm and swapping) Yes Main memory restricted, outsourced part not restricted With swapping in flat files: The data removed is to be found under the file name

per application server No

Cross-application server No

Swapping Global cache size

No Unrestricted

No Unrestricted

File name

No

With flat file caches: All data is to be found under the file name The application server is one element of the file name

With flat file caches: All data is to be found under the file name The application server is not an element of the file name

For the active cache modes listed under 3-5 (Main Memory Cache with Swapping, Persistent Cache per Application Server, and Cross-Application Server) you can determine how the removed or cached data is to be stored. You can choose from the following persistence modes:

Inactive: If you choose this option the system resets the cache mode to Main Memory Cache Without Swapping (1). Flat file: Storage in a file. Cluster Table: Storage in a non-transparent database table of type CLUSTER. Transparent Table (BLOB): Storage in a transparent database table with BLOB (Binary Large OBject).

When compared to the Cluster Table, the Transparent Table (BLOB) leads to better system performance where you have large result sets as fewer database operations have to be performed. With smaller result sets the Cluster Table can be advantageous as BLOB fields necessitate a great administrative effort in terms of the database. These persistence mode settings allow you to test which persistent storage produces the best performance in your system environment for each individual query. If you do not define a persistence mode for the query the persistence mode maintained in Customizing as the default mode will be used for all the queries created for an InfoProvider.

Integration
You can find additional information about the various ways of setting the cache mode for an InfoProvider or a query under Query Properties [Page 636]. You can find additional information about the global cache parameter and the amount of memory used by the runtime object under OLAP Cache Monitor [External].

Enterprise Reporting, Query, and Analysis

641

Ensuring Quality Testing

March 2006

5.1.1.1.3

Accuracy

Definition
The determination of a specific accuracy decides which number format is used internally for calculating key figures. The degree of accuracy is determined in the InfoObject maintenance for each key figure and in the query monitor for all query key figures.

Use
When converting decimal figures with numbers following the decimal point into binary floatingpoint numbers, unavoidable rounding errors occur. This is because many decimals (for example, 0.1) correspond to periodic fractions, and are therefore unable to be displayed exactly. If you choose Calculate with Packed Numbers in the query monitor, packed numbers (ABAP data type P, with nine decimal places) are used as the internal number format for all query key figures instead of binary decimals. Rounding errors are avoided with commercial calculations with this fixed-point number, because in doing so no conversion of numbers into the dual system takes place. Choose this option for those application areas in which a high accuracy is required (for example, for queries in the accounting and cost accounting areas).

Because calculating with packed numbers causes a high processing status overall, we recommend not using this number format for all query key figures, but rather only for those key figures for which a very high degree of accuracy is required. You have to make this setting in the InfoObject maintenance for the respective key figure: i. ii. iii. From the SAP Easy Access Menu, choose Modeling Object Maintenance InfoObject. Enter the name of the key figure and choose Maintain.

To calculate with packed numbers, choose from the Additional Properties tab page under Diverse with the option Key Figure with Maximum Accuracy.

5.1.1.1.4

Not Using Parallel Processing

Use
You can turn off parallel processing for a single query. This can be beneficial because the query then uses fewer system resources if you use non-parallel processing. In the case of queries with very fast response times, the effort required for parallel processing can be greater than the potential time gain. In this case, it may also make sense to turn off parallel processing.

For more information about parallel processing, see Processing Queries [Page 643].

Enterprise Reporting, Query, and Analysis

642

Ensuring Quality Testing

March 2006

Features
If you choose the option Do Not Use Parallel Processing, the selected query is processed sequentially in the future.

5.1.1.1.4.1

Processing Queries

A query can be divided into sub-queries by the system. This division is performed in the following circumstances:

The query contains cells with a constant selection or other definitions that cannot be read using a logical read operation. The query is defined on the basis of a MultiProvider and, due to the selection conditions, data has to be read from a number of InfoProviders. See, Dividing a MultiProvider Query into Sub-Queries [External]. The query contains complex selections, such as calculated or restricted key figures with hierarchy conditions. In this case, the selections are split and accessed individually. This is similar to the process performed in order to use InfoCube aggregates. The query is defined on the basis of an InfoCube, both fact tables contain data, and the database view does not use both fact tables to read the InfoCube.

If dividing the query results in more than one sub-query, the read operation is performed in parallel by default.

Parallel Processing
Several dialog work processes are required in order to execute queries in parallel. The maximum degree of parallelism determines the maximum number of work processes that are used for each query. This value is restricted to 6 by default. The maximum value can be changed to a value between 1 and 100 in the QUERY_MAX_WP_DIAG entry in table RSADMIN. The actual degree to which queries are executed in parallel depends on the load on the system at any given time and lies between 1 (sequential processing) and the maximum value. If the number of sub-queries is greater than the maximum level of parallelism, all existing subqueries are divided between the work processes determined by the degree of parallelism. The results of all sub-queries are collected at a synchronization point and collated to form an overall result. In sequential processing, the sub-queries are processed one after another. The interim result is immediately passed on to the analytic engine.

Sequential Processing
In the following cases, the system chooses sequential (non-parallel) processing:

In table RSADMIN, entry QUERY_MAX_WP_DIAG has value (column value) 1. The entire query consists of one sub-access only. The query is running in a batch process.

Enterprise Reporting, Query, and Analysis

643

Ensuring Quality Testing

March 2006

The query was started from the query monitor (transaction RSRT) using various debug options (for example, SQL query display, execution plan display). See, Dividing a MultiProvider Query into Sub-Queries [External]. The query requests non-cumulative key figures. Insufficient dialog processes are available when the query is executed. These are required for parallel processing. The query is configured for non-parallel processing. You want to save the result of the query in a file or a table.

In Release SAP NetWeaver 2004s, the system can efficiently manage the large intermediate results produced by parallel processing. In previous releases, the system terminated when it reached a particular intermediate result size and proceeded to read data sequentially. This is no longer the case. Therefore, the RSADMIN parameter that was used in previous releases for reading a MultiProvider sequentially is no longer used.

Partial Parallel Processing


Queries that are based on non-cumulative InfoCubes have a high memory consumption and cannot be processed in parallel. For this reason, all queries that are based on non-cumulative InfoCubes are divided into sub-queries that are separated from the other sub-queries. The normal sub-queries are processed in parallel first and the sub-queries that are based on the non-cumulatives are processed sequentially afterwards.

5.1.1.1.5

Using the Cache Despite Virtual Characteristics and Key Figures

Use
Using the OLAP cache serves to improve performance when executing queries (see OLAP Cache Monitor [External] and Cache Mode [Page 639]). The use of the cache is usually deactivated if virtual characteristics or key figures are used in the query because these InfoObjects are filled according to user via a customer exit (SAP enhancement RSR00002 or BAdI RSR_OLAP_BADI) and were only written to the queue afterwards. Using the option Using Cache Despite Virtual Characteristics/Key Figures on the Query Properties dialog box, you can explicitly determine that this data be written to the cache after it has been read by the database and has run through the customer exit. The following describes access to the cached data.

Note that a change to the data via a customer exit does not lead to invalidation of the cache. If the data coming out of the customer exit does not only depend on the inbound data, but for example, also on the user, on time or on other

Enterprise Reporting, Query, and Analysis

644

Ensuring Quality Testing

March 2006

tables, the cached data can deviate from the data that would be determined at that moment. Activation of the option Using Cache Despite Virtual Characteristics/Key Figures should thus only be done in exceptional cases and after precise analysis of SAP enhancement RSR00002 and Business Add-In RSR_OLAP_BADI.

A special case in which the option Using Cache Despite Virtual Characteristics/Key Figures could be useful, for example, is the use of a variable for a virtual characteristic with which the end user in reporting can select constants as the basis for currency translation types.

Prerequisites
SAP Enhancement RSR00002
...

1. You have created an active project in transaction CMOD, which you have assigned to SAP Enhancement RSR00002. 2. You have defined the required virtual characteristics or key figures within the InfoProvider. You have defined customer-specific code in include reports for the function module EXIT_SAPMRSRU_001.

For more information on customer exits, see the system documentation. Choose the sub-object Documentation in transaction SMOD for enhancement RSR00002 (BI: Virtual Characteristics and Key Figures in Reporting); choose Display. BAdI RSR_OLAP_BADI As an alternative, you can implement the Business Add-In RSR_OLAP_BADI (Virtual Characteristics and Key Figures from SMOD) instead of SAP enhancement RSR00002.

For more information on the interface of this Business Add-In, see the BAdI definition (SE19). Note that you can transfer the example code for this BadI (example implementation class CL_EXM_IM_RSR_OLAP_BADI).

Example
The following ODS objects for the utilities industry, delivered in the context of SAP Business Content, contain examples of virtual characteristics and key figures: InfoProviders ODS Object Inventory Statistics Prepayment Counter Technical name: 0UCS_DS02 Virtual InfoObjects Virtual characteristics: VKF key figure area consumption debt VKF key figure area consumption debt rate VKF key figure area non consumption debt VKF key figure area non consumption debt rate

Enterprise Reporting, Query, and Analysis

645

Ensuring Quality Testing

March 2006

DataStore object Payment Scheme Technical name: 0UCS_DS03

Virtual key figure Number of payments

5.1.1.2

Technical Information

Use
From the Technical Information screen, you get an overview of important, technical, reference numbers for a query.

Integration
In order to access the Technical Information screen, choose a query from the Query Monitor screen and then Technical Info.

Prerequisites
The technical information is created automatically.

Features
The technical information is grouped by category for the selected query. Depending on the query definition, all or part of the categories are displayed. The first line of the HTML control contains links to the categories that are displayed in table form in the lower area of the page. System entries are specified in the first column for some of the categories: The symbol means that the value of the technical reference numbers corresponds exactly to the system recommendation. The symbol means that the value of the technical reference numbers possibly does not correspond to the system recommendation. The symbol means that the value of the technical reference numbers does not correspond to the system recommendation. In this case, changes may be useful. This does not necessary mean that an error exists.

General Data

Target(s)

Query Definition Data


Technical name of the query definition Last change to the query definition (date and time)

OLAP-Relevant Data

Query name (technical name and internal name)

Enterprise Reporting, Query, and Analysis

646

Ensuring Quality Testing


March 2006

Name of the generated programs (Using Display Gen. Report, you can display the program; see below). Query generation time (see under Cache-Relevant Data) Version (external/internal) Generation status (active/inactive) Read mode (for more information, see Read Mode [Page 638]) Released for OLE DB for OLAP (for more information, see Query Properties [Page 438]) Calculating before the aggregation (for more information, see Selection/Formula Properties [Page 450]) Virtual characteristics/key figures Attributes in calculated key figures Currency translation in the query definition Query can use aggregates Value field groups (groups of key figure IDs or selection elements and basic sizes for the form elements, combined by specific properties, for example, their aggregation behavior or by specific steps of the process that are required, for example, calculating as packed numbers) Key figure IDs for display (KIDs) Calculated key figure IDs Constant selection (for more information, see Constant Selection [External]). Fiscal year variant Query key date Link to the Cache-Relevant Data table (see below)

Non-Cumulative Indicators

There is a non-cumulative value with AVI There are non-cumulative values with LAST or FIRST There are non-cumulative values with MAX or MIN For more information about the types of exception aggregation for non-cumulative values, see Aggregation Behavior of Non-Cumulative Values [External]

More than a provider of non-cumulatives (see Evaluating Non-Cumulative Values [External] in the InfoCube definition section) NCUMTIM is not unique (see Time Reference Characteristic [External]) Query does not interrupt the critical interval (see Validity Period [External]) The non-cumulative method L1 is required The non-cumulative method L2 is required

Enterprise Reporting, Query, and Analysis

647

Ensuring Quality Testing

March 2006

Statistics
This section runs the statistics by specifying the current and maximum number:

InfoCubes involved for the MultiProvider FEMS number (selection groups) Number of elements in structure 1 and 2 (for the structures in the columns and rows) Selection rows Columns in the SP storage table Free characteristics Basic key figures Formula components Hierarchies Hierarchy nodes Variables

Invisible Drilldown Characteristics


If a query has invisible drilldown characteristics, they are displayed in this section with their technical name and description, for example: 0CURRENCY Units or currency field

Cache-Relevant Data

Query can use the cache (if necessary, with specifying the reason why the query cannot use the cache)

In addition, this section includes important time stamps:


Query generation time (corresponds to the specification under OLAP-Relevant Data) Time of the last loading of data into the InfoProvider (last data change) Last change to data value set (pre-calculated value set) Last master data change for navigation attributes

This time stamp influences the invalidation of the cache. If the last time stamp for a cache entry for the selected query is older than one of the above-named time stamps, then the cache is rebuilt.

Optimization Information

Optimizes table sizes After a query has been executed for the first time, the OLAP processor determines the optimal initial size of internal tables and generates the report automatically afterwards. The system shows the date and time of this last update. If the query definition is not changed, a new optimization does not take place automatically. You are able to force a new optimization however by choosing the link Optimize Again.

Enterprise Reporting, Query, and Analysis

648

Ensuring Quality Testing

March 2006

Load Size for a Generated Report


This section restricts ABAP programs. If these are not complied with, then the report is not generated, and the query is not executed.

PXA buffer Static control blocks Variable control blocks Literals Structure descriptions Includes

The following functions are available in the screen toolbar: Function Display Gen. Report What You Need to Know Goes to the ABAP editor. You see the ABAP program that was generated for the query you selected. (You can find the name of the generated report under OLAP-Relevant Data.) Query Def. Designer Goes to the ABAP debugger. You see the code for the interface between the BEx Query Designer and the OLAP processor Query Def. Processor Goes to the ABAP debugger. You see a few lines of the coding according to the above-named interface. For this break point, the complex data structure SX_REPORT and internal control tables are displayed for the query

5.1.2
Purpose

BI Content Analyzer

The BI Content Analyzer serves to provide a detailed analysis of BI Content objects. The objects were previously identified by check programs, with respect to errors and inconsistencies. The results of these checks can be viewed under different aspects in order to easily keep problems under control. There are two scenarios:
...

1. You analyze your data locally for a respective BI system. Here you can access the results of the check program (saved in transparent tables in the BI system) directly. 2. You analyze your data in consolidated form from a central BW system. To do this, load the results of the check program from the transparent tables into the InfoProviders (DataStore objects) of the central BI system you chose using extractors. This loaded data is then available in the BI Content Analyzer (transaction RSBICA) in the filter selection BI Systems.

Enterprise Reporting, Query, and Analysis

649

Ensuring Quality Testing

March 2006

Consolidated View

Local View of the System

System A Data Store Object

System B

System C Local Results Table

Features

You can schedule check programs to analyze your BI systems based on their data. You can view the results of all the check programs included in the results area of the BI Content Analyzer. The BI Content Analyzer only shows erroneous objects. You can either analyze the results immediately in the BI system or by using the BI reporting functions. The BI Content Analyzer itself provides extensive reporting options. For many objects, the BI Content Analyzer can provide a detailed error message in addition to identifying the error. You can also load the results of the check program into other BI systems. A DataStore object provides a central entry point for the analysis of your BI system landscape.

The Main Screen Has Three Areas:


...

1. The monitor area refers to the results area (see point 3). You see an aggregation of results that depends on the filters set in the filter area: a. The totals of the objects determined by the BI Content Analyzer and displayed in the results area according to the current selection in the Priority filter. You can find this information in the fields Priority 1, Priority 2, Priority 3 and Priority 4. b. The time stamp of the object in the results area that was the first to be determined by the check programs. You can find this information in the two fields for Last Update. 2. In the filter area you can restrict the values of the results area for the results area. This is done using the selection of display for the BI system. You can choose between i. the BI system set as local

Enterprise Reporting, Query, and Analysis

650

Ensuring Quality Testing

March 2006

or (if check data from other BI system has already been loaded): ii. iii. individual BI systems connected using the DataStore object all BI systems connected using the DataStore object including the BI system that is set as local

Transport Filter: You can also analyze through activation of the transport filter and determination of individual transports of its objects. However, if these objects are not part of the results table, they are displayed under the special check category No Check in the results area. Under No Check you will see all the objects that were either non-BI objects or were not included in the check programs due to the restrictions made in the global defaults (see Setting Global Defaults [Page 654]).

The transport filter only includes the local BI system. Check Category You can decide between one of the provided check categories or all of them (all checks). For more information, see BI Content Analyzer Checks [Page 661]. Priority You can choose between i. ii. iii. iv. v. vi.
...

...

Very high (1) High (2) Medium (3) Low (4) All problems Exceptions longer than four weeks. See Setting Exceptions [Page 658].

Grouping Here you determine the arrangement of the elements in the drilldown of the tree structure. You can choose between the sequences i. ii. iii. Package / Check / Type / Object Type / Check / Object Author / Check / Type / Object

3. In the results area you find the tree hierarchy set up using the Grouping filter in addition to a tabular list of all of the objects that were checked and collected by the BI Content Analyzer. You can expand the tree hierarchy up to the object entry and view all of the important details in the table for the object displayed. When you double click on the row entry you get the error log for the object displayed with short texts. When you double click on the short text, the long text is displayed. It contains repair instructions.

In the Main Menu:

Edit Update Exceptions Subsequent changes to the settings for the exceptions can be compared with the results area immediately. You do not have to schedule the check program again.

Enterprise Reporting, Query, and Analysis

651

Ensuring Quality Testing

March 2006

Edit Update Priority Subsequent changes to the settings for prioritizing the various check categories can be compared with the results area immediately.

You do not have to schedule the check program again for this update.

Edit Start Check Reports. For more information, see Scheduling Check Programs [Page 660]. Analysis Update You can update the display in the results area here. Delete Status Table Here you can delete the entire results table from the check programs. Delete Message Table Instead of deleting the entire results table, you can only delete the messages for all check results that are the basis of the error logs. Settings For more information, see Important Defaults [Page 654].

5.1.2.1

Implementing Business Content for the BI Content Analyzer

Purpose
Business Content and ABAP code are delivered for the BI Content Analyzer as the transport. You can use Business Content to load the results of the check programs (ABAP code) from other BI systems into one of the central BI systems you defined. Then you have the option of analyzing all of your BI systems at a glance.

The transport has to be installed into every BI system from which you wish to extract analysis data. Have your system administrator install the transport.

Process Flow
In the Source Systems:
...

1. Install the following DataSources from Business Content in all systems from which you wish to extract. 0RS_CHECKCAT_TEXT 0RS_MSGODS_DATASOURCE 0RS_OBJTYP_TEXT_UPLOAD 0RS_TRANDATA_UPLOAD Ignore the warnings about missing application components here. For more information on the procedure, see the SAP Library under SAP NetWeaver Information Integration SAP NetWeaver Business Intelligence Data Warehousing Data Retrieval Data Extraction from SAP Source Systems Customizing the Extractors Installing Business Content DataSources. 2. In transaction RSBICA, make the necessary settings for the check programs and execute the programs.

Enterprise Reporting, Query, and Analysis

652

Ensuring Quality Testing

March 2006

In the BW System into Which the Data Is to Be Loaded:


3. Replicate the metadata into the BI system into which you want to load the data from the check programs. For more information on the procedure, see the SAP Library under SAP NetWeaver Information Integration SAP NetWeaver Business Intelligence Data Warehousing Data Retrieval Data Extraction from SAP Source Systems Metadata Upload for SAP Systems. 4. Install the Business Content for the BI Content Analyzer. Collect and activate the required objects for: the DataStore object 0RS_RPODS: Choose all the relevant systems (Myself as well) and choose Data Flow Before Collect Activate. the DataStore object 0RS_RPODS: Choose the Data Flow After Collect Activate. the DataStore object 0RS_MSODS: Choose the Data Flow Before Collect Activate.

For more information, see the SAP Library under SAP NetWeaver Information Integration SAP NetWeaver Business Intelligence Data Warehousing Data Warehouse Management Business Content (Versions) Install Business Content. 5. Load the texts for the InfoObject 0RS_CCAT. These are the texts for the check categories. They have to be loaded once to make them available as master data. 6. Load the transaction data using InfoSources 0RS_TRAN_INFPACK and 0RS_MESSAGE_INFOSOURCE. 7. Activate the data in the DataStore objects 0RS_RPODS and 0RS_MSGOD. For more information on the procedure, see the SAP Library under SAP NetWeaver Information Integration SAP NetWeaver Business Intelligence Data Warehousing Modeling Data Target DataStore Object Activate Data in the DataStore Object. 8. Update the data from the DataStore object 0RS_RPODS to the InfoObject 0RS_OBJNAME. For more information on the procedure, see the SAP Library under SAP NetWeaver Information Integration SAP NetWeaver Business Intelligence Data Warehousing Modeling Data Target DataStore Object Update DataStore Object Data. 9. Execute the attribute change run for the InfoObject 0RS_OBJNAME. For more information on the procedure, see the SAP Library under SAP NetWeaver Information Integration SAP NetWeaver Business Intelligence BI Platform OLAP Performance Optimization Aggregate Applying Hierarchy and Attribute Changes. 10. Activate the Report-Report Interface for the report RSCONTENT_RRI_MESSAGE_POPUP. Start the transaction RSBBS and make the following receiver-sender assignment for the query 0RS_ENHANCEMENT.

Report type: ABAP/4 report Target system: local Report: RSCONTENT_RRI_MESSAGE_POPUP

Save the entry. 11. Call the Web template 0RS_BICA.

Enterprise Reporting, Query, and Analysis

653

Ensuring Quality Testing

March 2006

5.1.2.1.1

Roles

5.1.2.1.2

Web Templates

5.1.2.1.3

Queries

5.1.2.2

Important Settings

Process Flow
In order to be able to analyze erroneous objects with the BI Connect Analyzer, you first have to make a number of settings after starting transaction RSBICA via Settings.
...

1. Global Settings: Here you change the analysis behavior of the BI Content Analyzer and the prestored check programs. For more information, see Setting Global Settings [Page 654]. 2. Check Execution: Here you specify the check types for use and group them as is required for the scheduling of check programs that follows. For more information see Determining Check Execution [Page 656]. 3. Prioritization: Here you set the error priority for each check category. For more information, see Setting Priorities [Page 657]. 4. Exceptions: Here you set exceptions for the display of existing objects in the results area. For more information, see Setting Exceptions [Page 658]. 5. Special Objects: Here you set source-system dependent objects for auto activation. For more information, see Including Source-System Dependent Objects [Page 659]. 6. Packages Here you release packages for the check programs. For more information, see Releasing Packages [Page 659].

Result
By making these basic settings, during analysis, you will receive exactly the data displayed that is interesting for you. Next you can schedule the check programs for the set BI systems using Edit Set Check Reports in the main menu and start the error analysis. For more information, see Scheduling Check Programs [Page 660].

5.1.2.2.1

Setting Global Settings

Procedure
...

1. On the main menu, choose Settings Global Settings.

Enterprise Reporting, Query, and Analysis

654

Ensuring Quality Testing The Global Settings for BI Content Analyzer view appears.

March 2006

You can only make new entries and settings in change mode in the detail view.

The global settings must be set individually for each participating BI system. 2. Set the relevant logical BI system for the check programs and the BI Content Analyzer. 3. Under Settings: BI Content Check, set Details with Relevance for the Check Programs. Namespace: By entering a specific namespace, you make a restriction. If you make no entry, all objects are included in the check program.

Objects in the Customer Namespace start with letters from A to Z. If you only want to include objects in the A namespace, enter A. Objects in the Partner Namespace include their own registered namespaces, such as /ABC/.

The use of wildcards (*) is not allowed in the BI Content Analyzer. Customer Namespace: If you want to include objects from the customer naming convention in the check programs, activate this field. Partner Namespace: If you want to include objects from the partner naming convention (registered namespace) in the check programs, activate this field.

Activate at least one of the two: Customer Namespace or Partner Namespace. Otherwise no objects will be included. Package: If you want to release packages (development classes) you determine yourself for the check programs, activate this field. You determine which packages these should be in the main menu: Settings Packages. See Releasing Packages [Page 659]. XAND Connection (between namespace and package): One OR connection is set by default. To create an AND connection, activate this field.

4. Under Settings: BI Content Analyzer, set Details with Relevance for the BI Content Analyzer with the objects that were already checked. Use DataStore (for reporting): All BI systems that are available in the DataStore object of the BI Content Analyzer (0RS_RPODS) are included in the analysis. This field is disabled by default.

Performance while the tree structure is being built in the results are is better when the setting Use DataStore is inactive.

Enterprise Reporting, Query, and Analysis

655

Ensuring Quality Testing

March 2006

Hide Exceptions: You can set the exceptions for check objects. These types of objects are not displayed in the results area. You determine which objects these should be in the main menu: Settings Exceptions. See Setting Exceptions [Page 658]. This field is enabled by default.

Order/Task: Number of order or task. Max. No. of Lines: Maximum number of lines that can be displayed in the results area. The recommended value is 15,000.

If more rows are available than has been set, a warning is displayed between the filter and results area that rows have been cut off. In this case you should decrease the size of the results area using additional filter restrictions. 5. Repeat steps 2 to 4 if you want to set entries for further BI systems that you then wish to transport into the system landscape.

5.1.2.2.2

Determining Check Execution

Use
Here you specify the check types for use and group them as is required for the scheduling of check programs that follows.

Here only the settings that are actually required for later work by the check programs are made. You schedule the check programs more concretely using the main menu, Edit Start Check Reports. For more information, see Scheduling Check Programs [Page 660].

Procedure
...

1. On the main menu, choose Settings Check Execution. The Customizing View for BI Content Analyzer Checks view appears.

You can only make new entries and settings in change mode in the detail view. 2. In the Logical System column, enter the BI system that is to be checked by the check programs. 3. In the Check Type column, choose a check type for the BI system entered under 2. Here you determine the errors the check program is to search for. For more information on check types and check categories, see BI Content Analyzer Checks [Page 661]. 4. In the Job Name column, enter a free selectable job name for the check type selected under 3. You can enter more checks later by repeating the individual steps. As needed, you can assign identical job names for the individual check types in order to group the check types. These types of grouped check types are handled simultaneously by the check programs at a later time. See also Scheduling Check Programs [Page 660].

Enterprise Reporting, Query, and Analysis

656

Ensuring Quality Testing

March 2006

5. Use the fields in the Execute column to determine whether you actually want to run a check. 6. The fields in the column Execute Simultaneously are inactive by default; checks are usually run one after the other. The setting Execute Simultaneously is relevant for some check types that can be executed as Multi Check. These check types include: Object status Object collection error Inconsistent naming convention

If you want to run Multi Checks, activate Execute Simultaneously. For more information on the individual check types, see BI Content Analyzer Checks [Page 661]. 7. In the Version column, set the object version that is to be included in the check programs. The following versions are permitted: Active (A version) Content (D version)

8. Repeat steps 2 to 7 when you specify more check types and want to group them.

5.1.2.2.3

Setting Priorities

Use
You assign a priority level to check categories with priority maintenance. On the main screen, you can display the errors during the analysis according to these types of priority groups (filter Priority) in the results area.

Procedure
...

1. On the main menu, choose Settings Prioritization. The Priority Maintenance for Results for BI Content Analyzer Checks view appears.

You can only make new entries and settings in change mode in the detail view. 2. Set priorities for individual check categories along the sequence of the key Object Type (TLOGO) System Type i. ii. Development system Test system

In the BI Content Analyzer, a system is a test system when the Content System field is inactive on the RSADMINSV view. You can choose from the following levels:

Enterprise Reporting, Query, and Analysis

657

Ensuring Quality Testing

March 2006

Very high (1) High (2) Medium (3) Low (4) All problems Exceptions longer than four weeks. See Setting Exceptions [Page 658].

Here you override the BW default priority levels for the check categories. You will find a list of these priority levels at BI Content Analyzer Checks [Page 661]. 3. Repeat step 2 if you want to assign your own priority levels to further check categories.

5.1.2.2.4

Setting Exceptions

Use
Here you set exceptions for displaying erroneous objects that are not relevant for your analysis. Objects that you have classified as an exception are not displayed in the results area for further analysis once the test program has been run successfully.

Procedure
...

1. On the main menu, choose Settings Exceptions. The View Maintenance of BI Content Checks view appears.

You can only make new entries and settings in change mode in the detail view.

All settings you make here only take effect when the field Hide Exceptions is active under Settings Global Defaults. 2. Assign the following keys to the required entry: Object type (TLOGO) Object name Category (check category)

3. Using the Checked and Exception column to designate the object that is to be treated as an exception by the BI Content Analyzer from now on. To do this, activate one of the two columns. Checked: The error is known and will be rectified soon. The selected object will only be displayed in the results area of the BI Content Analyzer once four weeks have passed since the last time the check program was run, as long as the error still exists. Exception: general exception. The selected object is no longer displayed in the results area.

Enterprise Reporting, Query, and Analysis

658

Ensuring Quality Testing

March 2006

4. Compile a note about how to handle the object in the Message or Comment column. 5. Repeat steps 2 to 4 if you wish to treat other objects as exceptions.

5.1.2.2.5

Including Source-System Dependent Objects

Use
Here you can define source-system dependent objects that are to be checked later by check programs.

Procedure
...

1. On the main menu, choose Settings Special Objects. The Source-System Dependent Objects for BI Content Analyzer screen is displayed.

You can only make new entries and settings in change mode in the detail view. 2. Assign the following keys to the required entry: Logical System Object Type (TLOGO) Object Name

3. In the Responsible Person column, specify a person responsible for the entry. 4. In the Name of Department column, specify the affected department. 5. Repeat steps 2 to 4 if you wish to include other objects.

5.1.2.2.6

Releasing Packages

Use
For some objects, restriction using the naming conventions is not sufficient for having them included in the check programs. When you specifically release individual packages for the check programs, you can check objects from specific development areas.

Procedure
...

1. On the main menu, choose Settings Packages. The Packages for BI Content overview appears.

You can only make new entries in change mode in the detail view.

All settings you make here only take effect when the field Package is active under Settings Global Settings.

Enterprise Reporting, Query, and Analysis

659

Ensuring Quality Testing 2. Enter the package of your choice. 3. Repeat step 2 if you want to release more packages.

March 2006

5.1.2.3

Scheduling Check Programs

Use
You choose an execution time for the check programs. The (possibly grouped) check types that are connected to a job type are executed.

As an alternative you can also schedule and start the report RSCONTENT_ANALYSIS_FRAME_START.

Prerequisites
You must have already made the associated settings. See also: Important Settings [Page 654].

Procedure
...

1. On the main menu, choose Settings Start Check Reports The Customizing View for BI Content Analyzer Checks view is displayed. 2. First make general settings in the following fields Logical System: Enter the BI system in which the job is to run. Job Name: Select a job name. In the input help (F4), the jobs are entered that you had determined in the settings (see Determining Check Execution [Page 656]). RFC Destination: If you want to use a connected system for the check programs other than the one entered into the Logical System field, enter the name of the associated RFC destination of the system. You will find the name of the system connected to the RFC destinations in the value help (F4).

However, only those RFC destinations are allowed that were once created as a dialog RFC connection. The RFC user has to be a Dialog User. Otherwise there will be an error message.

If you want to include other systems using their RFC destinations, their priorities for check categories are important to the check programs, not those of the logical system (see Setting Priorities [Page 657]) for which you have made the settings. You can either transport these settings into the included target systems or maintain them manually. 3. Then define the following in the Start Time Values: Immediately Date/Time: Enter the exact or latest execution date.

Enterprise Reporting, Query, and Analysis

660

Ensuring Quality Testing

March 2006

By Job: Enter the name of the job that has to be finished before the background control processes your job. By Event:

Event: Enter the event name with which the job is to be connected. You can specify the predefined events for SAP applications or SAP system kernels or you can specify events that were defined manually. You can find out which SAP events you can use by looking in the documentation for SAP applications. Parameter: If an event requires a parameter, enter the parameter in this field. To determine whether an event outputs a parameter, look for the appropriate SAP application in the documentation.

Execute Job Periodically: Activate this field to schedule the job whenever an event occurs.

5.1.2.4

BI Content Analyzer Checks

Use
The check programs determine errors and inconsistencies of the BI Content objects of the BI system. The selection according to which routines the selected objects are handled are made when you assign check types (Settings Check Execution). Check types can be grouped by assigning identical job names. Check types with identical job name are executed simultaneously. Some check types can be executed as a Multi Check. Check types have a two-digit ID. Each check type has at least one subordinate check category. Check categories are used in the BI Content Analyzer to filter the check results in the results area. Check categories have a three-digit ID.

Features
The following tables provide an overview of all check types and their categories. Type: Object Status- Check (Multi) Type ID UNIT Assigned Check Categories Object Status: A Version Newer Than D Version

Categ. ID SAD

Standard Priority 1

Development system: The developer does not see the object version for delivery. Either an old object has been saved in the system as a D version or is not saved correctly due to incorrect system settings. Test system: The tester sees incorrect versions. Either A versions were imported or D versions are activated in the D versions. SDA 1

Object Status: D Version Newer Than A Version

Content activation failed or has not yet taken

Enterprise Reporting, Query, and Analysis

661

Ensuring Quality Testing place. Object Status: No A Version Available

March 2006

SNA

Content activation failed or has not yet taken place. SND 1

Object Status: No D Version Available SND is only executed for development systems because there is no D version in test systems.

Writing the D version does not work. The system settings should be checked.

For more information on the various object versions, look in the SAP Library under SAP NetWeaver Information Integration SAP Business Information Warehouse Data Warehousing Data Warehouse Management Business Content (Versions). Type: Checking for Object Collection Errors (Multi) Type ID CE Assigned Check Categories Object Collection Collection Error CCE should be executed for test systems.

Categ. ID CCE

Standard Priority 1

The object links to an object that does not exist. Not every object can be collected in the data flow, because , due to the assignment to package $t TMP, whose import from the development system failed or the Repository Cache was not updated. In this case, you update the cache using transaction RSOR Extras Repository Cache (DB) Fill (Objects form Delivery).

The object collection or activation using transaction RSOR leads to an error message. Object Collection Temporarily Saved Objects COT should be executed for development systems.

COT

The object references a locally saved (package $TMP) object. As soon as the object is transported into a new system, the local object disappears. Change the development class of the locally saved object to a transportable development class or ensure that the collected object is not transported.

Type: Checking for Inconsistent Naming Conventions(Multi) Type ID Assigned Check Categories Categ. ID Standard Priority

Enterprise Reporting, Query, and Analysis

662

Ensuring Quality Testing

March 2006

NC

Naming Convention Ignored

ANC

The object does not following the naming conventions for partner and customer namespaces. Under Settings Global Settings, determine which of the namespaces is to be checked. In addition: Only when you have released packages for the objects can a naming convention check be done in a customer system. For information on releasing packages, see Releasing Packages [Page 659]. In this case, you should select the option AND Linking in the Global Settings. Change the object name.

Type: Checking for an Inactive Transfer Structure Type ID TA Assigned Check Categories Inactive Transfer Structures

Categ. ID ATA

Standard Priority 4

The transfer structure was either changed manually or through the replication of assigned DataSources. As long as reactivation has not occurred (transaction RSA1 InfoSources), loading of data and the objects that are part of the import failed.

Type: Checking for InfoObjects without an InfoObject Catalog Type ID IC Assigned Check Categories InfoObject without InfoObject Catalog

Categ. ID AIC

Standard Priority 2

When the InfoObject was created, there was no assignment to an InfoObject catalog. If the assignment has not been done, the InfoObject does not follow the Content standards and is assigned to one of the following standard categories: 0CHANOTASSIGNED 0KYFNOTASSIGNED 0TIMNOTASSIGNED 0UNINOTASSIGNED

Type: Checking for Inconsistent Roles Type ID RL Assigned Check Categories Roles to Which Unavailable Objects Are Assigned

Categ. ID ARL

Standard Priority 1

A object was deleted but not its assignment to a role. This leads to inconsistencies and

Enterprise Reporting, Query, and Analysis

663

Ensuring Quality Testing collection errors as long as the assignment was not also deleted in transaction PFCG. You can use transaction PFCG Menu to check the existing object references to the role. You can check the existence of the referenced object using its name. The transaction RSRT (for query elements) or the report RS_TEMPLATE_MAINTAIN (for templates) can also be helpful here. Type: Checking for Query Elements with Duplicate GUIDs Type ID DG Assigned Check Categories Query Elements with Duplicate GUIDs

...

March 2006

Categ. ID ADG

Standard Priority 2

A query element is defined by a. its technical name, for example 0SBO_C11_Q003, which you enter manually. b. the COMPUID (GUID), the unique object key, for example 037OLMX9GF8CK9P23IV2MDO1H, which is generated automatically. If queries with identical technical names are generated in different BI systems, these elements have a different GUID. This means that 2 GUIDs exist for the identical technical name during a transport of both objects into a common system.

System A:

Technical name: ABC_Q001 GUID : 123456789

System B :

Technical name: ABC_Q001 GUID : 987654321

After transport into system C:


2 objects for the technical name ABC_Q001 GUID object 1 : 123456789 GUID object 2 : 987654321

This means that inconsistencies will occur during query executions because the system selects one of the two GUIDs randomly.

Within the system landscape, check table

Enterprise Reporting, Query, and Analysis

664

Ensuring Quality Testing RSZCOMPDIR by entering the technical name of the query element in field COMPID. You will see multiple objects displayed for different versions with different GUIDs. Try to determine the correct object version using the Content time stamp. Now proceed according to SAP Note 541024 and change the technical name of one of the objects.

March 2006

If you are sure which object is incorrect, you can also delete this object using transaction RSZDELETE by selecting a COMPID.

Deleted objects cannot be restored. Deletion in a development system also has to be exported so that the problem is eliminated in the follow-on system. Type: Checking for Routines That Refer to Fixed, Programmed Structures Type ID BI Assigned Check Categories Routines with Fixed, Programmed Structures (/BI*/*)

Categ. ID ABI

Standard Priority 1

If there are references to generated BW-DDIC structures or types such as /BIC/* in routines, it can lead to problems during the transport or during Content installation (RSOR). If the referenced structures do not yet exist at the time of import or Content installation because the affected BI object is not active in the system, it could lead to termination.

The routines should be programmed dynamically. These dynamic assignments could appear as follows:

*.. data definitions for internal table and work area data: lt_data type ref to data. field-symbols: <t_data> type standard table. *.. store name of structure (infocube 0FIGL_C01) as string constants: c_tabname type rstlogotab value '/BI0/V0FIGL_C012'. *.. create internal table and assign it to <t_data> create data lt_data type table of

Enterprise Reporting, Query, and Analysis

665

Reference Logging and Tracing (c_tabname). assign lt_data->* to <t_data>.

March 2006

5.2

Logging and Tracing

Purpose
BI Java SDK
The package com.sap.ip.bi.sdk.util provides property files for logging and tracing development with the BI Java SDK. For more information, see the description of the Javadocs on the SDN at https://www.sdn.sap.com/irj/sdn/javadocs.sdn Release Business Intelligence.

Reference

This section contains a list of all available APIs and tutorials, along with check lists that help you to avoid design errors.

6.1

API Documentation

Purpose
The following APIs are available in the Enterprise Reporting, Query and Analysis scenario:

Designing a Web Application


API Web Design API Use For enhancing Web templates and HTML pages of Web applications

BI Java SDK
API OLAP metadata API OLAP query API Relational metadata API Relational query API Uniform ResultSet API Use For accessing OLAP metadata For defining queries on an OLAP data source For accessing relational metadata For defining queries on an relational data source Allows access from a relational data source to a relational result set, and from an OLAP data source to an OLAP result set

Enterprise Reporting, Query, and Analysis

666

Copyright Web Application Examples

March 2006

6.2

Web Application Examples


Changing the Display: Table, Chart, Table and Chart [Page 262] Switching Between Chart and Table Using a Pushbutton [Page 264] Creating Planning Applications in the BEx Web Application Designer [Page 269]

The following sections provide examples of certain fundamental design aspects that frequently arise when creating Web applications:

6.3

Checklist for Defining Queries

What you need to check Defining queries If your query has characteristics in the columns that deliver a large volume of data, you should set variables in order to restrict the result of the query. Define calculated and restricted key figures so that they can be reused. Developing roles Are you defining roles? Content is structured thematically using roles. You should also assign queries to roles.

Copyright

Copyright 2006 SAP AG. All rights reserved.

7.1

SAP Copyrights and Trademarks


SAP Library document classification: PUBLIC

Enterprise Reporting, Query, and Analysis

667

Copyright SAP Copyrights and Trademarks

March 2006

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower, and PowerPC are trademarks or registered trademarks of IBM Corporation. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML, and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves information purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

Enterprise Reporting, Query, and Analysis

668

You might also like