enterprise reporting,query,and analysis

672
Developer’s Guide SAP NetWeaver 2004s SPS 7 Enterprise Reporting, Query, and Analysis Document Version 3.00 – März 2006

Upload: ganesh-babu

Post on 27-Apr-2015

81 views

Category:

Documents


4 download

DESCRIPTION

ERP

TRANSCRIPT

Page 1: Enterprise Reporting,Query,And Analysis

Developer’s Guide SAP NetWeaver 2004s SPS 7

Enterprise Reporting, Query, and Analysis

Document Version 3.00 – März 2006

Page 2: Enterprise Reporting,Query,And Analysis

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

© 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. 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. 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 informational 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. Disclaimer 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. Any Java™ Source Code delivered with this product is only to be used by SAP’s Support Services and may not be modified or altered in any way. 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.

Page 3: Enterprise Reporting,Query,And Analysis

T yp o g r a p h i c C o n v e n t i o n s

Type Style Represents

Example Text 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.

EXAMPLE TEXT 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.

Example text 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.

Example text Exact user entry. These are words or characters that you enter in the system exactly as they appear in the documentation.

<Example text> Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system.

EXAMPLE TEXT Keys on the keyboard, for example, F2 or ENTER.

I c o n s

Icon Meaning

Caution

Example

Note

Recommendation

Syntax

Page 4: Enterprise Reporting,Query,And Analysis

Contents

1 ENTERPRISE REPORTING, QUERY, AND ANALYSIS.................................................. 1 2 GETTING INVOLVED........................................................................................................ 2

2.1 Working with the Development Environment ............................................................ 2 3 GO AND CREATE ............................................................................................................. 3

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

4 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

4.2 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

4.3 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

4.4 Applying Extensibility ............................................................................................ 630 4.4.1 Customer Exits ........................................................................................... 630 4.4.2 Classic BAdIs ............................................................................................. 631

4.5 Enabling Globalization .......................................................................................... 632 5 ENSURING QUALITY.................................................................................................... 633

5.1 Testing................................................................................................................... 633 5.1.1 Query Monitor............................................................................................. 633 5.1.2 BI Content Analyzer.................................................................................... 649

5.2 Logging and Tracing ............................................................................................. 666 6 REFERENCE ................................................................................................................. 666

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

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

Page 5: Enterprise Reporting,Query,And Analysis

Enterprise Reporting, Query, and Analysis March 2006

Working with the Development Environment

Enterprise Reporting, Query, and Analysis 1

1 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 Prerequisites

Development of BI content: queries, reports, Web applications

-

Developing customer and partner content ABAP development license

Web application design Proficiency in standard markup languages

BI in Visual Composer -

Enhancements using function exits and BAdIs ABAP proficiency

ICF services ABAP proficiency

Report-report interface -

Page 6: Enterprise Reporting,Query,And Analysis

Getting Involved March 2006

Working with the Development Environment

Enterprise Reporting, Query, and Analysis 2

Connecting to third-party front-end tools For more information about the technical prerequisites, see Open Analysis Interfaces [Page 545].

BI Java SDK Java programming proficiency; Business Intelligence experience

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.

2 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 Environment

Development of BI content: queries, reports, Web applications

BEx Query Designer, Report Designer, Web Application Designer

Developing customer or partner content BEx Query Designer, Report Designer, Web Application Designer

Web Application Design Web Application Designer

BI in Visual Composer Visual Composer

Customer exits and BAdIs ABAP Workbench tools

ICF services Internet Communication Framework (ICF)

Report-report interface BI system

Connection of third-party front-end tools using open analysis interfaces

Not determined

BI Java SDK Visual Composer, Developer Studio

Page 7: Enterprise Reporting,Query,And Analysis

Go and Create March 2006

Defining New Queries

Enterprise Reporting, Query, and Analysis 3

3 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 Developer’s 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 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.

Page 8: Enterprise Reporting,Query,And Analysis

Go and Create March 2006

Defining New Queries

Enterprise Reporting, Query, and Analysis 4

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

Page 9: Enterprise Reporting,Query,And Analysis

Go and Create March 2006

Defining New Queries

Enterprise Reporting, Query, and Analysis 5

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

Page 10: Enterprise Reporting,Query,And Analysis

Go and Create March 2006

Defining New Queries

Enterprise Reporting, Query, and Analysis 6

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]

Page 11: Enterprise Reporting,Query,And Analysis

Go and Create March 2006

Creating Web Applications with the BEx Web Application Designer

Enterprise Reporting, Query, and Analysis 7

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

ii. Assign a name to the data provider and make the remaining settings required.

Page 12: Enterprise Reporting,Query,And Analysis

Go and Create March 2006

Creating Web Applications with the BEx Web Application Designer

Enterprise Reporting, Query, and Analysis 8

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. Double-click to choose New Data Provider. The Maintain Data Provider dialog box appears.

ii. 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. In the header of the properties screen area, select the Web item for which you want to create a data provider.

ii. 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 double-clicking 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 single-clicking it, a quick info is displayed for the Web item.

b. If you want to rename the inserted Web item, proceed as follows:

Page 13: Enterprise Reporting,Query,And Analysis

Go and Create March 2006

Creating Web Applications with the BEx Web Application Designer

Enterprise Reporting, Query, and Analysis 9

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 item-specific 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.

Page 14: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Creating Web Applications with the BEx Web Application Designer

Enterprise Reporting, Query, and Analysis 10

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]

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

Page 15: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 11

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 Developer’s Guide in SDK distribution packages or on the SDN at https://www.sdn.sap.com/irj/sdn/javadocs.sdn → BI.

4.1.1 Web Application Design: BEx Web Application Designer

Use 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

Page 16: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 12

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:

Business Explorer Suite (BEx)

BEx Query Designer

Information Broadcasting

Web Analyzer

WebApplication

DesignerMicrosoft Excel

Add-inReport

Designer

BEx Web BEx AnalyzerBI Pattern

SAP NetWeaver

Portal

BI InfoProvider3rd Party BI

BI Consumer Services

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.

Page 17: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 13

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]

Page 18: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 14

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.

Page 19: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 15

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 Color

Comments Gray

Attributes Red

Attribute values Blue

HTML tags Black

BI-specific content (BI tags) such as Web items, commands, data providers

Dark red

Texts Green

Hyperlinks 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

Page 20: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 16

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

Page 21: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 17

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.

Page 22: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 18

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

Page 23: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 19

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

Page 24: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 20

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.

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

Delete You use this function to delete open Web templates that are already saved.

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

Save As… 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.

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

Export to File… 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].

Page 25: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 21

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.

Execute You use this function to call your Web application in the portal.

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

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

Page 26: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 22

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 Description Copy

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.

Cut

You use this function to cut a highlighted Web item, HTML element, picture or text.

Paste

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.

Edit <HEAD> tag

You use this function, which is only available in the layout view, you can edit the <HEAD> tag of the Web template.

Edit <BODY> tag

You use this function, which is only available in the layout view, to edit the <BODY> tag of the Web template.

Correct and format 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).

Page 27: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 23

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 Description Show Borders You use this function, which is only available

in the layout view, to display the frames of the inserted HTML tables.

Display HTML Tags

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.

Display Toolbars You use this function to show and hide the Insert, Format and Standard toolbars.

Web Items You use this function to show and hide the Web Items screen area.

Properties

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

Reusable Web Items

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

Page 28: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 24

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 Description

Web Item You use this function to insert Web items from the various Web item groupings into a Web template.

Hyperlink You use this function to insert hyperlinks into your Web templates.

Image You use this function to insert pictures into your Web templates.

Language-dependent text You use this function to insert language-dependent texts into your Web templates.

DIV You use this function to insert <DIV> tags into your Web templates.

SPAN You use this function to insert <SPAN> tags into your Web templates.

Favorite tag You use this function to insert favorite tags into your Web templates. The available tags are given in a dropdown box.

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

Page 29: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 25

Fonts You use this function to determine the font of the texts that you insert into your Web templates.

Font Size You use this function to select the font size of the texts that you insert into your Web templates.

Bold You use this function to format texts as bold.

Italic You use this function to set texts as italic.

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

Background Color You use this function to specify the background color of the Web template.

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

Background Color of Text 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 Description Migration Tool 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].

Page 30: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 26

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

BEx Web Analyzer 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].

Planning

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

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.

Page 31: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 27

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 Description Table

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.

Insert Columns 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.

Delete Rows You use this function to delete a row from an HTML table. Use the mouse to click on the line to be deleted.

Delete Columns

You use this function to delete a column from an HTML table. Use the mouse to click on the column to be deleted.

Merge Cells

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.

Split Cells

You use this function to split a cell that you created by merging other 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:

Page 32: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 28

Menu Entry Description Cascading

You use this function to arrange the various screen areas of the Web Application Designer so that they overlap.

Horizontally

You use this function to horizontally arrange the various screen areas of the Web Application Designer.

Vertically

You use this function to vertically arrange the various screen areas of the Web Application Designer.

Select Web Template

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.

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 Description Application Help

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.

Info…

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.

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

Page 33: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 29

[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" >

Page 34: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 30

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

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.

Page 35: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 31

● 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].

Page 36: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 32

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

Page 37: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 33

2. From a Web item that you have previously inserted into your Web template

You can choose from the following functions:

○ Properties

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

Page 38: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 34

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 template’s 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.

Page 39: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 35

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.

Page 40: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 36

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

Page 41: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 37

Filters

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.

Page 42: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 38

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

Page 43: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 39

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

Page 44: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 40

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)

Page 45: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 41

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.

Page 46: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 42

b. Choose Get Text. The selected text is shown under Text.

4.1.1.1.5.1 Creating ABAP Programs for Maintaining Language-Dependent 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.

...

Page 47: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 43

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

Page 48: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 44

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.

Page 49: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 45

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. User-dependent 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.

Page 50: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 46

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.

Page 51: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 47

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

Page 52: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 48

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.

ii. Assign a name to the data provider and make the remaining settings required.

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. Double-click to choose New Data Provider. The Maintain Data Provider dialog box appears.

ii. 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. In the header of the properties screen area, select the Web item for which you want to create a data provider.

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

Page 53: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 49

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 double-clicking 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 single-clicking 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.

Page 54: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 50

● 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 item-specific 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.

Page 55: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 51

● 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 template-dependent settings are also not saved (for example, if you use the Button Group Web item and include commands for it).

...

Page 56: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 52

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

Page 57: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 53

1. Open the Web template.

2. Select the reusable Web item in the Web template.

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 user-defined 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

Page 58: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 54

● 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]

Page 59: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 55

● 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

Page 60: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 56

● 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 Description

Width in Pixels (WIDTH) You use this parameter to specify the width of the Web item.

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

Height in Pixels (HEIGHT) You use this parameter to specify the height of the Web item.

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

Page 61: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 57

Visibility (VISIBILITY) You use this parameter to specify whether the Web item is to be visible in the Web application.

With Tray (WITH_TRAY) 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].

Internal Display

Parameter Description

Alternate Table Row Styles (ALTERNATE_STYLES)

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.

Scaling Factors Visible (SCALING_FACTORS_VISIBLE)

You can use this parameter to specify whether the scaling factors are to be displayed, if possible.

Row Header Visible (ROW_HEADER_VISIBLE)

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.

Column Header Visible (COLUMN_HEADER_VISIBLE)

You use this parameter to specify whether the column header area is to be displayed. The column headers display the labels above the data.

Data Cells Visible (DATA_CELLS_VISIBLE) You use this parameter to specify whether the data cells are to be displayed.

Number of New Lines (NEW_LINES_COUNT) You use this parameter to insert any required number of empty rows into the table. The parameter is set to 0 by default.

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

Page 62: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 58

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.

Data Column To (DATA_COLUMN_TO) 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.

Data Row To (DATA_ROW_TO) 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 Description

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

Page 63: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 59

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 Description

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.

Paging

Parameter Description

Number of Data Columns Displayed at Once (BLOCK_COLUMNS_SIZE)

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.

Page 64: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 60

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)

You use this parameter to specify whether the area for scrolling is to be displayed at the bottom of the table.

Paging Area on Top of Table Visible (PAGING_AREA_TOP_VISIBLE)

You use this parameter to specify whether the area for scrolling is displayed at the top of the table.

Page 65: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 61

Cell Content

Parameter Description

Exception Visualization (EXCEPTION_RENDERING)

You use this parameter to specify the display type for exceptions. For example, exceptions can be highlighted using colors or symbols.

Document Icons for Metadata (DOCUMENTS_ICONS_METADATA)

You use this parameter to specify whether links to metadata documents are to be displayed.

Document Icons for Master Data (DOCUMENTS_ICONS_MASTERDATA)

You use this parameter to specify whether links to master data documents are to be displayed.

Document Icons for Data (DOCUMENTS_ICONS_DATA)

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 Description

Width in Pixels (WIDTH) 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.

Visibility (VISIBILITY) You use this parameter to specify whether the Web item is to be visible in the Web application.

With Tray (WITH_TRAY) 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].

Internal Display

Page 66: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 62

Parameter Description

Edit Chart (CHART_CUSTOMIZING) 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].

Chart Type (CHART_TYPE) You use this parameter to select the required chart type. The default value is Column Chart.

Legend Type

(LEGEND_TYPE)

You use this parameter to make the following settings for the legend:

● 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) You use this parameter to specify that the legend is to be displayed without the chart.

Result Visible (RESULTS_VISIBLE) 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.

Page 67: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 63

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 Description

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

Data Binding

Parameter Description

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.

Affected Data Providers (LINKED_DATA_PROVIDER_REF_LIST)

You use this parameter to specify the list of data providers to which all chart commands are sent.

Chart Texts

Parameter Description

Title (TITLE) You use this parameter to specify the language-dependent text for the title of the chart.

Page 68: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 64

Diagram Subtitle (Language-Dependent) (SUBTITLE)

You use this parameter to specify the language-dependent text for the subtitle of the chart.

Legend Title (Language-Dependent) (TITLE_LEGEND)

You use this parameter to specify the language-dependent text for the title of the legend.

Manual Axis Description

(OVERRIDE_AXIS_DESC)

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 (Language-Dependent) (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 (Language-Dependent) (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).

Page 69: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 65

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 (Language-Dependent) (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 (Language-Dependent) (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].

Page 70: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 66

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.

Page 71: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 67

Structure The following tables list the parameters for the Report Web item, arranged according to the various parameter groupings.

Display

Parameter Description

Width in Pixels (WIDTH)

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.

With Tray (WITH_TRAY)

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

Internal Display

Parameter Description

Report Design (REPORT) 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 Description

Allow Navigation (INTERACTION_ALLOWED)

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

Page 72: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 68

Data Connection

Parameter Description

List of Data Providers (REPORT_DATA_BINDING_LIST)

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 Description

Width in pixels (WIDTH) You use this parameter to determine the width of the Web item.

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

Height in pixels (HEIGHT) You use this parameter to determine the height of the Web item.

Page 73: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 69

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

Visibility (VISIBILITY) You use this parameter to determine whether the Web item is visible in the Web application.

With tray (WITH_TRAY) 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].

Internal Display

Parameter Description

Navigation pane content (NAVIGATION_BLOCK_CONTENT)

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 Description

Activate navigation (INTERACTION_ALLOWED)

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

Data Binding

Parameter Description

Page 74: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 70

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 Description

Width in Pixels (WIDTH) You use this parameter to specify the width of the Web item.

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

Height in Pixels (HEIGHT) You use this parameter to specify the height of the Web item.

Page 75: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 71

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

Visibility (VISIBILITY) You use this parameter to specify whether the Web item is to be visible in the Web application.

With Tray (WITH_TRAY) 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].

Internal Display

Parameter Description

Number of Columns (COLUMNS) You use this parameter to specify the number of entries displayed adjacent to one other.

Has Button Row (HAS_BUTTON_ROW) You use this parameter to specify whether the filter pane is to have a pushbutton row.

Max. No. of Summary Characters (MAX_SUMMARY_CHARACTERS)

You use this parameter to specify the maximum number of characteristics for the filter summary field.

Behavior

Parameter Description

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

Automatic Apply (AUTOMATIC_APPLY) You use this parameter to specify whether the system is to make changes to the data provider automatically.

Data Binding

Parameter Description

Page 76: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 72

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 Description

Width in Pixels (WIDTH) 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.

Visibility (VISIBILITY) You use this parameter to specify whether the Web item is to be visible in the Web application.

Page 77: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 73

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 Description

Button Width (BUTTON_WIDTH)

Default value: “0”

You use this parameter to specify the width of each button. The default value adjusts the button width to the length of the text.

Page 78: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 74

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

Page 79: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 75

Behavior

Parameter Description

Allow Navigation (INTERACTION_ALLOWED) 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 Description

Width in Pixels (WIDTH) 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.

Page 80: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 76

Visibility (VISIBILITY) You use this parameter to specify whether the Web item is to be visible in the Web application.

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 Description

Maximum Length of the Text (TEXT_MAXLENGTH)

You use this parameter to specify the maximum text length for the values.

Maximum Number of Displayed Values

(ENTRIES_MAXCOUNT)

You use this parameter to specify the maximum number of values to be displayed in the dropdown box.

Behavior

Parameter Description

Allow Navigation (INTERACTION_ALLOWED) You use this parameter to specify whether navigation and other interactions, such as in the Web application, are to be possible.

Data Binding

Parameter Description

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

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.

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]

Page 81: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 77

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 Description

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 (CHARACTERISTIC)

You use this parameter to select the characteristic according to its technical name.

Read Mode (DATA_READ_MODE)

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.

Page 82: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 78

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.

Affected Data Providers (LINKED_DATA_PROVIDER_REF_LIST)

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.

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

Page 83: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 79

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 Description

Script Function (SCRIPT_FUNCTION)

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 Description

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.

Page 84: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 80

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.

Listed Alphabetically

(ORDERED_ALPHABETICALLY)

You use this parameter to specify whether the dropdown box entries are to appear in alphabetical order.

Keep Filter Values (FILTERS_RETAINED) You use this parameter to specify whether filter values are to be retained in the dropdown box when the query view is changed.

Page 85: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 81

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

Page 86: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 82

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

Page 87: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 83

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 Description

Width in pixels (WIDTH) 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.

Visibility (VISIBILITY) You use this parameter to determine whether the Web item is visible in the Web application.

With tray (WITH_TRAY) 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].

Page 88: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 84

Internal Display

Parameter Description

Label (LABEL_VISIBLE) 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.

Maximum text length (TEXT_MAXLENGTH) You use this parameter to determine the maximum text length for the values. Specify the number of characters for this.

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 radio button group.

Entry display ALL (ALL_VALUE_ENTRIES_INCLUDED)

You use this parameter to determine whether the All entry is displayed as a selection option in the radio button group.

Number of columns (COLUMNS) You use this parameter to determine the number of entries displayed adjacent to one other.

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

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

Data Binding

Parameter Description

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)

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.

Page 89: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 85

Characteristic (CHARACTERISTIC) You use this parameter to select the characteristic by technical name.

Read mode (DATA_READ_MODE) 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

Page 90: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 86

Parameter Description

Width in pixels (WIDTH) 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.

Visibility (VISIBILITY) You use this parameter to determine whether the Web item is visible in the Web application.

With tray (WITH_TRAY) 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].

Internal Display

Parameter Description

Label (LABEL_VISIBLE) You use this parameter to determine whether the long text of the characteristic is written as a label in front of the checkbox group.

Maximum text length (TEXT_MAXLENGTH) You use this parameter to determine the maximum text length for the characteristic values.

Maximum number of displayed values (ENTRIES_MAXCOUNT)

You use this parameter to determine the maximum number of values that are displayed in the checkbox group.

Number of columns (COLUMNS) You use this parameter to determine the number of entries displayed adjacent to one other.

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

You use this parameter to determine whether navigation and other interaction is possible, like in the Web application.

Data Binding

Parameter Description

Page 91: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 87

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) You use this parameter to select the characteristic by technical name.

Read mode (DATA_READ_MODE) 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.

Page 92: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 88

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 Description

Width in pixels (WIDTH)

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.

Visibility (VISIBILITY)

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

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 Description

Label visible (LABEL_VISIBLE)

You use this parameter to determine whether the long text of the characteristic is written as a label in front of the list box.

Maximum text length (TEXT_MAXLENGTH)

You use this parameter to determine the maximum text length for the values. Specify the number of characters for this.

Page 93: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 89

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 Description

Activate navigation (INTERACTION_ALLOWED)

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

Data Binding

Parameter Description

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)

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.

Page 94: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 90

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 Description

Width in pixels (WIDTH)

You use this parameter to determine the width of the Web item.

Page 95: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 91

Height in pixels (HEIGHT)

You use this parameter to determine the height of the Web item.

Visibility (VISIBILITY)

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

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 Description

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

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

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

Data Binding

Parameter Description

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.

Page 96: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 92

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.

(HIERARCHY_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.

Key date

(HIERARCHY_DATE)

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.

Version

(HIERARCHY_VERSION)

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.

Expand to level (HIERARCHY_EXPAND_TO_LEVEL)

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.

Page 97: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 93

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

Page 98: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 94

● 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 Description

Web template

(TEMPLATE_ID)

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

Page 99: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 95

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 Description

Width in pixels (WIDTH) You use this parameter to determine the width of the Web item.

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

Height in pixels (HEIGHT) You use this parameter to determine the height of the Web item.

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

Visibility (VISIBILITY)

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

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 Description

Page 100: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 96

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)

Page 101: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 97

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

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 Description

Width in pixels (WIDTH)

Default value: “-1”

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

Height in pixels (HEIGHT)

Default value: “-1”

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.

Page 102: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 98

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

Visibility (VISIBILITY)

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

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

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

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 Description

Width in Pixels (WIDTH) You use this parameter to specify the width of the Web item.

Page 103: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 99

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

Height in Pixels (HEIGHT) You use this parameter to specify the height of the Web item.

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

Visibility (VISIBILITY) You use this parameter to specify whether the Web item is to be visible in the Web application.

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 Description

Initial Tab Index (INITIAL_TAB )

Default value: “1”

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.

Page 104: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 100

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 Description

Allow Navigation (INTERACTION_ALLOWED)

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

Page 105: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 101

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 Description

Width in Pixels (WIDTH) You use this parameter to specify the width of the Web item.

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

Height in Pixels (HEIGHT) You use this parameter to specify the height of the Web item.

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

Visibility (VISIBILITY) You use this parameter to specify whether the Web item is visible in the Web application.

With Tray (WITH_TRAY)

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

Distance Between Content

(PADDING)

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.

Internal Display

Parameter Description

Page 106: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 102

Design (GROUP_DESIGN)

Values:

Primary Color (PRIMARYCOLOR)

SAP Color (SAPCOLOR)

Secondary Box (SECONDARYBOX)

Color of Secondary Box (SECONDARYBOXCOLOR)

Secondary Color (SECONDARYCOLOR)

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

Subordinate Web Item

(CHILD_ITEM_REF)

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.

With Caption (WITH_CAPTION) 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:

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

Page 107: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 103

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 context-sensitive 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 context-sensitive 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 Description

Width in Pixels (WIDTH) 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.

Visibility (VISIBILITY) You use this parameter to determine whether the Web item is visible in the Web application.

Page 108: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 104

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 Description

Maximum Text Lines (MAX_TEXT_LINES) You use this parameter to determine the maximum number of text lines for text documents.

Default Picture URL (DEFAULT_PICTURE_URL)

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.

Document Positioned (IS_INPLACE) 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).

Display List (DISPLAY_LIST) 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.

Property List (PROPERTY_LIST) You use this parameter to determine the properties of the document to be displayed under the document. You have the following selection options:

● 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 Description

Maintenance Possible (MAINTENANCE_POSSIBLE)

You use this parameter to decide whether it is possible to maintain the Single Document Web item. The default value is Off.

Data Connection

Parameter Description

Page 109: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 105

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.

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

Page 110: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 106

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 context-sensitive 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

Page 111: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 107

Width in Pixels (WIDTH) 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.

Visibility (VISIBILITY) You use this parameter to specify whether the Web item is visible in the Web application.

With Tray (WITH_TRAY) 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 Description

Maximum Text Lines (MAX_TEXT_LINES) You use this parameter to specify the maximum number of text lines for text documents.

Table Columns List (DOC_ITEM_TABLE_COLUMN)

You use this parameter to specify the table columns. You can select from the following options for the columns:

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

You use this parameter to specify how many documents are to be displayed on a page.

Table Frame Visible (TABLE_FRAME_VISIBLE)

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.

Table Header Visible (TABLE_HEADER_VISIBLE)

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.

Data Binding

Page 112: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 108

Parameter Description

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.

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

Page 113: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 109

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

Page 114: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 110

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

Page 115: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 111

Width in Pixels (WIDTH) 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.

Visibility (VISIBILITY)

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

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 Description

List of Map Layers

(MAPLAYER_LIST)

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

Position of Map Legend

(MAP_LEGEND_POSITION)

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:

● Right of the map (RIGHT)

● Left of the map (LEFT)

● No legend (NONE)

Legend Caption

(LEGEND_CAPTION)

You use this parameter to give the map legend a caption using the text input dialog box [Page 40].

Legend Size

(LEGEND_SIZE)

You use this parameter to determine the size of the map legend. You can only specify the values in pixels.

Page 116: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 112

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.

AXL File (cartography)

(CART_AXL_NAME)

You use this parameter to specify the name of an AXL file for the cartography description (stored in the directory for shapefiles).

Cartography Information On/Off

(CART_AXL_VISIBLE)

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

Behavior

Parameter Description

Activate Navigation (INTERACTION_ALLOWED)

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

Page 117: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 113

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]

Page 118: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 114

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)

Page 119: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 115

● 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 Sales Representative Sales

A 1 100 $

A 2 150 $

A 3 120 $

B 11 90 $

B 12 80 $

Map layer query view that describes the start points

Sales Office Longitude Latitude # Employees

A 2.3 3.4 120

A 2.3 3.4 15

A 2.3 3.4 120

B -3.5 -2.0 87

B -3.5 -2.0 80

Map layer query view that describes the end points

Sales

Representative

Longitude Latitude # Customers

1 2.8 4.7 12

2 2.6 5.7 11

3 2.4 6.7 13

11 -3.8 -1.2 23

12 -3.4 -1.8 21

Page 120: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 116

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 Description

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

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.

Number of Classes

(CLASSES)

You use this parameter to determine the number of color levels.

Page 121: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 117

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)

You use this parameter to enter color values.

Color (No Data Available)

(COLOR_NONE)

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.

Caption

(CAPTION)

This parameter allows you to use the text input dialog box [Page 40] to assign a name to the map layer.

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

You use this parameter to set even distribution for color shadings.

List of Breaks

(BREAK_LIST)

You use this parameter to enter individual class boundaries.

Page 122: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 118

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.

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

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

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

Page 123: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 119

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 Description

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is to be visible in the Web application.

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.

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.

Page 124: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 120

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

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.

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

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

Attribute

(DISPLAY_ATTRIBUTE)

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

Page 125: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 121

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 Description

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

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.

Page 126: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 122

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)

You use this parameter to enter color values.

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

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.

Page 127: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 123

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

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

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

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

Page 128: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 124

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.

Symbol Size

(POINT_SIZE)

You use this parameter to define the size of the points (symbols).

Symbol Type

(POINT_STYLE)

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)

You use this parameter to determine the color of the points (symbols). You select the color value in a color selection dialog box.

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly

(BREAKS_DISTRIBUTED)

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)

Page 129: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 125

Highlighted Labels

(LABELS_HIGHLIGHTED)

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

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

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

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

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

Page 130: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 126

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)

You use this parameter to define the size of the symbols.

Symbol Type

(POINT_STYLE)

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)

You use this parameter to determine the color of the points (symbols). You select the color value in a color selection dialog box.

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

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.

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

Page 131: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 127

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.

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

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

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

Page 132: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 128

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.

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.

Symbol (End Size) / Line (End Width)

(SIZE_END)

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

Size List

(SIZE_LIST)

You use this parameter to enter individual sizes.

Symbol Type

(POINT_STYLE)

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)

You use this parameter to determine the color of the points (symbols). You select the color value in a color selection dialog box.

List of Breaks

(BREAK_LIST)

You use this parameter to define the individual class boundaries

Number of Classes

(CLASSES)

You use this parameter to enter the number of size levels.

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

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)

Page 133: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 129

Highlighted Labels

(LABELS_HIGHLIGHTED)

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

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

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

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

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

Page 134: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 130

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.

Symbol Size

(POINT_SIZE)

You use this parameter to define the size of the symbols.

Symbol Type

(POINT_STYLE)

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

You use this parameter to enter color values.

List of Breaks

(BREAK_LIST)

You use this parameter to define the individual class boundaries

Number of Classes

(CLASSES)

You use this parameter to enter the number of color levels.

Page 135: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 131

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

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.

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

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

Attribute

(DISPLAY_ATTRIBUTE)

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

Page 136: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 132

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 Description

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

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)

You use this parameter to determine the color of the line. You select the color value in a color selection dialog box.

Line Width

(LINE_WIDTH)

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

Page 137: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 133

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 line’s 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 line’s 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)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

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.

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

Page 138: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 134

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

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

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

Page 139: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 135

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)

You use this parameter to determine the color of the line. You select the color value in a color selection dialog box.

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 line’s 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 line’s 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.

Symbol (End Size) / Line (End Width)

(SIZE_END)

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

Size List (LIST_SIZE)

You use this parameter to enter individual sizes.

Page 140: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 136

List of Breaks (BREAK_LIST)

You use this parameter to define the individual class boundaries.

Number of Classes

(CLASSES)

You use this parameter to enter the number of size levels.

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

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.

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

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

Attribute

(DISPLAY_ATTRIBUTE)

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

Page 141: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 137

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 Description

Visible

(VISIBLE)

You use this parameter to determine whether the map layer is visible.

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.

Page 142: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 138

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 line’s 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 line’s 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.

Page 143: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 139

List of Breaks

(BREAK_LIST)

You use this parameter to define the individual class boundaries

Number of Classes

(CLASSES)

You use this parameter to enter the number of size levels.

Color List

(COLOR_LIST)

You use this parameter to enter color values.

Tooltips for Map Layers

(TOOLTIPS_VISIBLE)

You use this parameter to determine whether a tooltip text is to be displayed for the map layers.

Breaks Distributed Evenly (BREAKS_DISTRIBUTED)

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.

Legend Visible

(LEGEND_VISIBLE)

You use this parameter to determine whether a legend is to be displayed for the map.

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.

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

Page 144: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 140

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 TO…Guides → 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: GIF⇒GFW, TIF⇒TFW,...). 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

Page 145: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 141

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 left-hand corner

6. line: Latitude (y coordinate) of upper left-hand 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

Page 146: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 142

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

Page 147: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 143

<?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 non-transparent (fill transparency) blue (fill color) polygons with a blue (boundary color), non-transparent (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

Page 148: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 144

<?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" workspace="shp_ws-0" /> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOL filltransparency="1"

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.

Page 149: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 145

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.

Page 150: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 146

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 Description

Width in pixels (WIDTH)

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.

Visibility (VISIBILITY) You use this parameter to determine whether the Web item is visible in the Web application.

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

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

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.

Page 151: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 147

Structure The following tables list the parameters for the Information Field Web item, arranged according to the various parameter groupings.

Display

Parameter Description

Width in Pixels (WIDTH)

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.

Visibility (VISIBILITY)

You use this parameter to specify whether the Web item is visible in the Web application.

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 Description

Headers Visible (HEADERS_VISIBLE)

You use this parameter to determine whether headers are displayed in the Web application.

Display Static Filter Values (STATIC_FILTERS_VISIBLE)

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.

Display General Text Elements (GENERAL_INFORMATION_VISIBLE)

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.

Display Dynamic Filter Values (DYNAMIC_FILTERS_VISIBLE)

You use this parameter to specify whether the dynamic filter values are to be displayed in the Web application.

Display Variables (VARIABLES_VISIBLE) You use this parameter to specify whether variables are to be displayed in the Web application.

Behavior

Parameter Description

Allow Navigation (INTERACTION_ALLOWED)

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

Page 152: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 148

Data Binding

Parameter Description

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.

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

Page 153: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 149

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 Description

List of Characteristics (CHARACTERISTIC_LIST)

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 Description

List of Characteristics for Static Filter (STATIC_CHARACTERISTIC_LIST)

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:

Page 154: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 150

● 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 Description

Data providers

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

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.

Output result data (RESULT_SET) You use this parameter to determine whether the query results of are output as XML in the source text of the Web application.

Page 155: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 151

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 Description

Width in pixels (WIDTH) 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.

Visibility (VISIBILITY) You use this parameter to determine whether the Web item is visible in the Web application.

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 Description

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

Page 156: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 152

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

Page 157: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 153

Activate navigation (INTERACTION_ALLOWED)

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

Data Binding

Parameter Description

Text binding (TEXT_BINDING) 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)

Page 158: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 154

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 Description

Width in Pixels (WIDTH)

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.

Visibility (VISIBILITY)

You use this parameter to specify whether the Web item is to be visible in the Web application.

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 Description

Text (TEXT_CONTENT) You use this parameter to specify a link text using the text input dialog. See also Text Input Dialog [Page 40].

Quick Info (TOOLTIP) You use this parameter to specify a quick info text for the link in the Web application using the text dialog.

Wrapping (TEXT_WRAPPING) 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).

Behavior:

Parameter Description

Page 159: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 155

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.

Action (Command Triggered) (ACTION)

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.

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.

Page 160: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 156

Structure The following is a parameter list for the Web item List of Exceptions, arranged according to the various parameter groupings.

Display

Parameter Description

Width in pixels (WIDTH) You use this parameter to determine the width of the Web item.

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

Height in pixels (HEIGHT) You use this parameter to determine the height of the Web item.

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 (such as the height of a tab page on a portal page or iView).

Visibility (VISIBILITY) You use this parameter to determine whether the Web item is to be visible in the Web application.

With tray (WITH_TRAY) 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].

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

You use this parameter to determine whether navigation and other interaction is possible in the Web application.

Data Connection

Parameter Description

Page 161: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 157

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 Description

Width in pixels (WIDTH) You use this parameter to determine the width of the Web item.

Page 162: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 158

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

Height in pixels (HEIGHT) You use this parameter to determine the height of the Web item.

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 (such as the height of a tab page on a portal page or iView).

Visibility (VISIBILITY) You use this parameter to determine whether the Web item is to be visible in the Web application.

With tray (WITH_TRAY) 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].

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

You use this parameter to determine whether navigation and other interaction is possible in the Web application.

Data Connection

Parameter Description

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:

For more information on the features of conditions, see Conditions [External].

Page 163: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 159

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 Description

Width in Pixels (WIDTH)

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

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

Height in Pixels (HEIGHT)

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

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

Page 164: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 160

Visibility (VISIBILITY)

You use this parameter to specify whether the Web item is to be visible in the Web application.

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 on this parameter, see Parameter Tray.

Internal Display

Parameter Description

Menu Bar

(MENU_CONTAINER_L1)

You use this parameter to design the menu bar. To do this, you create the individual menus and menu entries.

Page 165: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 161

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 language-dependent 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.

Only Menu (VISIBLE_ONLY_IN_MENU)

You use this parameter to specify that the menu entry is to be displayed in the menu only.

Page 166: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 162

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

Page 167: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 163

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:

Position in Toolbar (TOOLBAR_ITEM_POSITION)

Display Separator in Toolbar (TOOLBAR ITEM HAS SEPARATOR)

Page 168: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 164

Behavior

Parameter Description

Allow Navigation (INTERACTION_ALLOWED)

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 Description

Width in pixels (WIDTH)

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.

Visibility (VISIBILITY)

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

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 Description

Width of the ticker text in characters

(TICKER_SIZE)

You use this parameter to set the width of the ticker text in characters.

Label visible (CAPTION_VISIBLE) You use this parameter to determine whether the label (name of the query) is displayed for the ticker.

Separator (SEPARATOR) 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.

Page 169: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 165

Behavior

Parameter Description

Activate navigation (INTERACTION_ALLOWED)

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

Delay in milliseconds

(DELAY)

Default value: 3000

You use this parameter to determine the delay in milliseconds until the ticker starts.

Speed in milliseconds.

(SPEED)

Default value: 200

You use this parameter to determine the time after which the ticker moves one character. You can only specify the time in milliseconds.

Data Binding

Parameter Description

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.

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

Page 170: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 166

Width in Pixels (WIDTH)

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

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

Height in Pixels (HEIGHT)

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

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

Visibility (VISIBILITY)

You use this parameter to specify whether the Web item is to be visible in the Web application.

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 Description

Has Button Row (HAS_BUTTON_ROW)

You use this parameter to specify whether the Web item with the pushbutton row is to be displayed.

Allow Drag and Drop (DRAGDROP_ENABLED)

You use this parameter to specify whether the drag and drop function is to be enabled for the Web item.

Debug Mode (DEBUG_MODE)

Showing the technical name

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.

Page 171: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 167

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

Page 172: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 168

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 Description

Properties Source (PROPERTIES_SOURCE) 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_PROPERTIES)

● 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 Description

Web Item (ITEM_REF) 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

Page 173: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 169

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 Description

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 (CHARACTERISTIC) You use this parameter to select a characteristic of the data providers selected under Data Provider (DATA_PROVIDER_REF).

Data Cell Properties

Parameter Description

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.

First Structure Element (FIRST_STRUC_MEMBER)

You use this parameter to specify a structure element of the first structure.

Second Structure Element (SECOND_STRUC_MEMBER)

You use this parameter to specify a structure element of the second structure.

Structure Element Properties

Parameter Description

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.

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

Page 174: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 170

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 Description

Navigate back (MENU_BACK) 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.

Sort (MENU_SORT) 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.

Broadcast (MENU_BROADCASTER) 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.

Keep filter value (MENU_FILTER) You use this parameter to determine whether the Keep Filter Value entry is displayed in the context menu of the Web template.

Fix filter value to axis (MENU_FILTER_ON_AXIS)

You use this parameter to determine whether the Fix Filter Value to Axis entry is displayed in the context menu of the Web template.

Select filter value (MENU_SELECT_FILTER) You use this parameter to determine whether the Select Filter Value entry is displayed in the context menu of the Web template.

Filters and drilldown according to (MENU_FILTER_DRILL_DOWN)

You use this parameter to determine whether the Filters and Drilldown According to entry is displayed in the context menu of the Web template.

Remove filter value (MENU_REMOVE_FILTER)

You use this parameter to determine whether the Remove Filter Value entry is displayed in the context menu of the Web template.

Page 175: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 171

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.

Exchange...with (MENU_EXCHANGE_OBJECTS)

You use this parameter to determine whether the Exchange…with entry is displayed in the context menu of the Web template.

Remove drilldown (MENU_REMOVE_DRILL_DOWN)

You use this parameter to determine whether the Drilldown entry is displayed in the context menu of the Web template.

Switch Axes

(MENU_SWITCH_AXIS)

You use this parameter to determine whether the Switch Axes entry is displayed in the context menu of the Web template.

Report/Report Jump Targets

(MENU_RRI)

You use this parameter to determine whether the Report-Report Jump Targets entry is displayed in the context menu of the Web template.

Create document (MENU_DOCUMENT_CREATE)

You use this parameter to determine whether the Create Document entry is displayed in the context menu of the Web template.

Display documents (MENU_DISPLAY_DOCUMENTS)

You use this parameter to determine whether the Display Document entry is displayed in the context menu of the Web template.

Export to Excel (MENU_EXPORT_TO_XLS) You use this parameter to determine whether the Export to Excel entry is displayed in the context menu of the Web template.

Export to CSV

(MENU_ EXPORT_TO_CSV)

You use this parameter to determine whether the Export to CSV entry is displayed in the context menu of the Web template.

Export to XML

(MENU_ EXPORT_TO_XML)

You use this parameter to determine whether the Export to XML entry is displayed in the context menu of the Web template.

Bookmark (MENU_BOOKMARK) You use this parameter to determine whether the Bookmark entry is displayed in the context menu of the Web template.

Personalize Web page (MENU_PERSONALIZE)

You use this parameter to determine whether the Personalize Web Page entry is displayed in the context menu of the Web template.

Display characteristic properties

(MENU_CHARACTERISTIC_PROPERTIES)

You use this parameter to determine whether the Characteristic Properties entry is displayed in the context menu of the Web template.

Value Cell Properties You use this parameter to determine whether the Value Cell Properties entry is displayed in the context menu of the Web template.

Data provider properties

(MENU_DATAPROVIDER_PROPERTIES)

You use this parameter to determine whether the Data Provider Properties entry is displayed in the context menu of the Web template.

Page 176: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 172

Conversion (MENU_CONVERSION) You use this parameter to determine whether the Conversion entry is displayed in the context menu of the Web template.

(De)activate hierarchy (MENU_HIERARCHY_STATE)

You use this parameter to determine whether the (De)activate Hierarchy entry is displayed in the context menu of the Web template.

Expand hierarchy (MENU_HIERARCHY_DRILL)

You use this parameter to determine whether the Expand Hierarchy entry is displayed in the context menu of the Web template.

Expand and collapse hierarchy nodes (MENU_HIERARCHY_NODE_DRILL)

You use this parameter to determine whether the Expand and Collapse Hierarchy Nodes entry is displayed in the context menu of the Web template.

Calculate result as (MENU_CALCULATE_RESULT)

You use this parameter to determine whether the Calculate Result As entry is displayed in the context menu of the Web template.

Calculate single values as (MENU_CALCULATE_VALUE)

You use this parameter to determine whether the Calculate Single Value As entry is displayed in the context menu of the Web template.

Display variable screen (MENU_VARIABLE_SCREEN)

You use this parameter to determine whether the Display Variable Screen entry is displayed in the context menu of the Web template.

Print (MENU_PRINT) You use this parameter to determine whether the Print entry is displayed in the context menu of the Web template.

Web item properties (MENU_ITEM_PROPERTIES)

You use this parameter to determine whether the Web-Item Properties entry is displayed in the context menu of the Web template.

Exceptions (MENU_EXCEPTIONS) You use this parameter to determine whether the Exceptions entry is displayed in the context menu of the Web template.

Conditions (MENU_CONDITIONS) You use this parameter to determine whether the Conditions entry is displayed in the context menu of the Web template.

Save view (SAVE_VIEW_SAVE) You use this parameter to determine whether the Save View entry is displayed in the context menu of the Web template.

Page 177: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 173

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 Description

Script language (SCRIPT_CONTENT_TYPE_LIST)

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 Description

Errors visible

(ERRORS_VISIBLE)

You use this parameter to determine whether parameters are to be displayed in the Web application.

Warnings visible

(WARNINGS_VISIBLE)

You use this parameter to determine whether warnings are to be displayed in the Web application.

Information visible

(INFORMATION_VISIBLE)

You use this parameter to determine whether information is to be displayed in the Web application.

System messages visible

(SYSTEM_MESSAGES_VISIBLE)

You use this parameter to determine whether system messages are to be displayed in the Web application.

Dialog Connection

Parameter Description

Page 178: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 174

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 Description

Label (CAPTION) 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].

Label visible (CAPTION_VISIBLE) You use this parameter to determine whether the label on the tray is visible in the Web application.

Page 179: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 175

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.

Drawing AreaChart Title Background

Axis Title

Gridlines

MoscowLondonBerlin

Washington

Paris

LegendSymbol

Sales Development for Branches

Rev

enue

s

MillUSD

Unit

Jan 2003 Feb 2003 March 2003 April 2003 May 2003 June 2003

DataSeries

Value Axis (Y)

Category Axis (X)

Data PointLegend

Text

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.

Page 180: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 176

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.

Page 181: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 177

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 PreviewProperty

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.

Page 182: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 178

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

Page 183: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 179

List of chart types and corresponding classes

Chart type class 1 [Page 179]

Chart type class 2 [Page 189]

Chart type class 3 [Page 196]

Chart type class 4 [Page 198]

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

XY scatter chart

Time scatter chart

Histogram

Heatmap

Portfolio 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

Page 184: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 180

● 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

Page 185: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 181

Product Group Net Sales 2002 Net Sales 2003 Accessories 1,081,271.23 1,076,779.96 Bags & Outdoor 838,037.56 1.093,672.49 Clothing 1,023,172.92 820,22.07

Dat

aC

olum

n

Data Row

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.000Accessories 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.

Page 186: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 182

Chart

1.100.0001.050.0001.000.000950.000900.000850.000800.000

Accessories

Bags & Outdoor

Clothing

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

Accessories Bags & Outdoor Clothing

Net Sales 2002 Net Sales 2003

600.000

400.000

200.000

0

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

Page 187: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 183

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

1.000.000800.000

Accessories

Bags & Outdoor

Clothing

Net Sales 2002 Net Sales 2003

600.000200.0000 400.000

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.

Page 188: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 184

Chart

Accessories

Bags & Outdoor

ClothingNet Sales 2003

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

Bags & OutdoorClothing

Net Sales 2002 Net Sales 2003

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

Page 189: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 185

● Profile area charts

● Pie charts

● Polar charts

● Speedometers

Product Group Net Sales 2002 Nettoumsatz 2003 Accessories 1,081,271.23 1.076.779,96 Bags & Outdoor 838,037.56 1.093.672,49 Clothing 1,023,172.92 820.322,07

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

Accessories Bags & Outdoor Clothing

Net Sales 2002

600.000

400.000

200.000

0

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.

Page 190: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 186

Chart

1.000.000800.000

Accessories

Bags & Outdoor

Clothing

Net Sales 2002

600.000200.0000 400.000

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 %

36.57 %

27.43 %

Accessories

Bags & Outdoor

Clothing

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

Page 191: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 187

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

AccessoriesBags & OutdoorClothing

Bags & OutdoorClothing

Accessories

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.

Page 192: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 188

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 Net Sales 2002 Net Sales 2003 Internet 506,656.10 576,486.84 Fax 951,105.94 920,399.22 Telephone 663,176.76 667,901.35 EDI 592,666.62 590,281.34 Other 228,876.27 235,705.78

Page 193: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 189

Chart (axes not switched for display)

Net Sales 2002

Net Sales 2003

Internet

Fax

TelephoneEDI

Other

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.

Page 194: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 190

Data Provider

X Values Y Values

Quarter.Calendar Year Billed Quantity Net Sales Planned Sales1.2003 170,250,132 742.344.30 756,1362.2003 171,406,182 747,329.80 762,0193.2003 172,765,649 753,021.96 754,5904.2003 171,685,760 748,078.47 744,276

Chart

170000000 170500000 171000000 171500000 172000000 172500000 173000000

Net

/Pla

nned

Sal

es in

EU

R

700000

720000

740000

760000

780000

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.

Page 195: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 191

Data Provider

Time No. of Batch ProcessesTime 1 06:40:00 250,00 Time 2 11:06:40 10,00 Time 3 15:33:20 19,00 Time 4 20:33:20 150,00 Time 5 23:53:20 300,00

Chart

0

50

100

150

300

Number of Batch Processes

200

250

07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23

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 Syntax Result

August 23, 2004 DD. MMM YYYY 23. Aug 2004

August 23, 2004 MM-DD-YYYY 08-23-2004

August 23, 2004 DDD MMM YY Mon Aug 04

Page 196: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 192

August 23, 2004 MMM W Aug 35

August 23, 2004 W YY 35 04

August 23, 2004 Q.YY 3.04

August 23, 2004 D 23

August 23, 2004 DD 23

August 23, 2004 DDD Mon

August 23, 2004 DDDD Monday

August 23, 2004 M 8

August 23, 2004 MM 08

August 23, 2004 MMM Aug

August 23, 2004 MMMM August

August 23, 2004 Q 3

12:34:00 hh:mm:ss 12:34:00

12:34:00 hh:mm 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.

Page 197: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 193

Data Provider

Unique ID Value

Product Sequence Net SalesPaper Clip 1 362,643.23Multi-Function Pen 2 576,034.09Post-It Set 3 198,493.43Biro 4 547,116.83Mouse Pad 5 521,850.64Business Card Holder 6 611,238.54Coffee Mug 7 577,020.82Candy Tin 8 535,852.04Bottle Opener 9 433,939.79Writing Pad 10 514,179.24Fountain Pen 11 490,866.26Automatic Umbrella 12 564,021.33

Chart

200000

0

2

Net Sales

4

6

8

300000 400000 500000 600000 700000

1 1

8

2

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.

Page 198: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 194

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.

Page 199: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 195

1,076,779,958241,551,902

83,535,015208,231,891328,978,177214,482,973

$Net Sales

409,618,4881,093,672,49281,563,856Overall Result92,644,635242,425,30617,859,461Phone31,377,97587,931,8776,506,994Others80,488,755211,184,93515,690,502Internet

125,809,073336,593,49824,955,409Fax79,298,050215,536,87616,551,490EDI

ST$STBilled QuantityNet SalesBilled QuantityAccessoriesBag & OutdoorProduct Group

Distribution Channel

2,990,774,521686,107,723820,322,071194,925,379Overall Result667,901,345154,007,218183,924,13743,503,122Phone235,705,77653,080,94764,238,88415,195,978Other576,486,844133,360,748157,070,01837,181,491Internet920,399,219210,455,798254,827,54459,691,316Fax590,281,337135,203,012160,261,48839,353,472EDI

$ST$STNet SalesBilled QuantityNet SalesBilled Quantity

Overall ResultOfficeProduct Group

Distribution Channel

Chart (with Explanation)

A

B D

C

E

Distribution Channels (Total Billed Quantity)

Product groups (Net sales for each distribution channel):

C “EDI” (135,203,012)

A “Fax” (210,455,798)

D “Internet” (133,360,748)

E “Other” (53,080,947)

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

Page 200: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 196

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.

A

B D

C

E

"Accessories" / 92,644,635 / 241,551,902

"Office" /43,503,122 / 183,924,137

"Bag & Outdoor" / 17,859,461 / 242,425,306

“Office" /15,195,978 /64,238,884

"Bag & Outdoor" /6,506,994 / 87,931,877

"Accessories" / 31,377,975 / 83,535,015

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.

Page 201: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 197

● 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 Net Sales Invoiced Quantity Sales/Quantity

Accessories 2,158,051.18 820,857,004 2.63

Bag & Outdoor 1,931,710.05 153,849,431 12.56

Off ice 1,843,494.99 534,755,366 3.45

X values Y values Bubble size

Chart

0

200000000

400000000

600000000

800000000

1600000 1800000 2000000 2200000 2400000

Net Sales in EUR

Invo

iced

Qua

ntity

in P

iece

s

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.

Page 202: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 198

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.

Valu

era

nge

Maxi mum valuee.g. 50,000

Automatic upper valuee.g.. 37,600

Automatic lower val uee.g. - 16,800

Minimum value,e.g. 0

Mar

ker s

ize

in p

ixel

s

Values are conv erted

to pixels

Minimum size, e.g. 10 pi xels (absolute) or 1% (relati ve)

Maxi mum size, e.g. 100 pixels (absolute) or 10 % (relati ve)

Size of hypotenuseof X and Y axes

Automatic calculation of valuerange

User-defined valuerange of 0 to 50,000

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:

Page 203: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 199

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

04.05.200503.28.2005Overall Result04.05.200503.28.2005Testing03.30.200503.20.2005Development03.20.200503.15.2005 Specification03.15.200503.10.2005Definition03.10.200503.01.2005Evaluation

End DateStart DateWork Packages

Chart

Startdatum /Enddatum

Project Flow

Start /End Date

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.

Page 204: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 200

● 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 Reporting 1 Reporting 2 Reporting 3 Reporting 4MilestoneMilestone 1 03.02.2005 15.02.2005 08.02.2005 17.02.2005 11.02.2005 15.02.2005 15.02.2005 15.02.2005Milestone 2 05.02.2005 28.02.2005 15.02.2005 02.03.2005 20.02.2005 02.03.2005 25.02.2005 04.03.2005Milestone 3 10.02.2005 20.03.2005 20.02.2005 25.02.2005 28.02.2005 20.03.2005 05.03.2005 18.03.2005

Reporting ReportingReportingReportingMilestone Milestone Milestone Milestone

Page 205: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 201

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

Page 206: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 202

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.

Page 207: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 203

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 können darüber hinaus die Schrift des Chart-Titels und Chart-Untertitels 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.

Page 208: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 204

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 Properties

Global settings Chart type and dimensions, color settings for transparency, screen and data series, font, data gaps.

Layout Position of chart in the plot area, position of title, subtitle and legend.

Background Color and pattern of background and border (that is, all the chart apart from the plot area).

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.

Bars, columns, and so on (depends on chart type)

Position and layout of the chart type-specific properties.

Category axis Scaling, labeling, and layout of the category axis (only for charts with a category axis).

Value axes 1 and 2 Scaling, labeling, and layout of the value axis (only for charts with relevant axes).

Title and subtitle Text, position, and appearance of the title and subtitle of a chart.

Legend Position and appearance of the legend.

Page 209: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 205

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.

Points Layout settings for individual data points.

Textures Selection of texture images for formatting areas.

Data series and categories For changes to label texts and creating trend lines.

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]

Page 210: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 206

Formatting Axes and Gridlines [Page 213]

Formatting Text [Page 216]

Formatting Data Series and Data Points [Page 217]

Formatting 3D Effects [Page 222]

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.

Page 211: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 207

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.

Page 212: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 208

Chart area

Element

Left: 25%

Right: 50%

Top: 25% Bottom: 37,5%

...

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.

Page 213: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 209

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

Page 214: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 210

The color is then assigned to the selected element.

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.

Page 215: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 211

2. Choose a color to be the transparent color.

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:

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

The secondary color is the dominating color for patterns.

Page 216: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 212

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

Page 217: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 213

○ 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

Page 218: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 214

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

Page 219: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 215

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

Page 220: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 216

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

Page 221: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 217

1. Choose the Global settings → Font property.

2. Select the required font from the list of available fonts.

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]

Page 222: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 218

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.

Page 223: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 219

You can add data labels for the following:

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

Page 224: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 220

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

Page 225: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 221

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.

Page 226: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 222

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.

Page 227: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 223

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:

Page 228: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 224

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

Page 229: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 225

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

Page 230: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 226

Parameter Description

Data Provider (DATA_PROVIDER_REF) 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 Description

Data Provided Affected (TARGET_DATA_PROVIDER_REF)

You use this parameter to specify which data provider the command is to relate to.

System (SYSTEM) 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.

Initial State (INITIAL_STATE) You use this parameter to specify the object with which the data provider is to be initialized.

● 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 Description

Query (QUERY) You select the relevant query using the open dialog.

Parameter Value: InfoProvider (INFOPROVIDER)

Parameter Description

Page 231: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 227

InfoProvider You select the relevant InfoProvider using the open dialog.

Parameter Value: Query View (VIEW)

Parameter Description

Query View (VIEW) 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 Description

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

Page 232: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 228

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 Description

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

Page 233: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 229

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

Page 234: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 230

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.

Description (DESCRIPTION) Using the text input dialog [Page 40] for the axis to be displayed hierarchically, you can enter a description.

Initial Drill Level (INITIAL_DRILL_LEVEL) You use this parameter to specify the initial drill level for the hierarchy.

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 Description

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 to which axis (rows or columns) the command is to be applied:

● Rows (ROWS)

● Columns (COLUMNS)

Page 235: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 231

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 Description

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

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

Page 236: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 232

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 Description

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 to select the characteristic for which the position is to be changed.

Axis (AXIS) You use this parameter to specify where the selected characteristic is to be positioned:

● Rows (ROWS)

● Columns (COLUMNS)

● Free Characteristics (FREE)

Page 237: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 233

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 Description

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

First Characteristic (FIRST_CHARACTERISTIC)

You specify the first characteristic to be exchanged.

Second Characteristic (SECOND_CHARACTERISTIC)

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.

Page 238: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 234

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 Description

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, the display attribute of which you want to specify.

Display Attribute (INFO_OBJECT_ATTRIBUTE)

You use this parameter to specify the display attribute.

Page 239: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 235

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 Description

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, the display of which you want to specify.

Page 240: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 236

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

Presentation Area (PRESENTATION_AREA) You use this parameter to specify the display area of the selected characteristic or display attribute:

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

Page 241: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 237

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 Description

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 for which you want to specify the visibility of the result row.

Result Visibility (RESULT_VISIBILITY) You use this parameter to specify how the result rows are to be displayed:

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

Page 242: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 238

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

Data Provider (DATA_PROVIDER_REF) You use this parameter to specify the data provider that contains the characteristic to be selected.

Characteristic (CHARACTERISTIC) You use this parameter and the input help dialog [External] to select the characteristic whose property is to be displayed or changed.

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 Description

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 dialog [External] to select the characteristic for which the characteristic value is to be sorted.

Page 243: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 239

Sorting Type (SORTING_TYPE) You use this parameter to specify the type of sorting:

● Sort By Characteristic Member (SORT_BY_CHARCTERISTIC_MEMBER)

● 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 Description

Member Presentation (MEMBER_PRESENTATION)

You use this parameter to specify what sorting it to be based upon: key or text.

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

Page 244: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 240

Display Attribute (INFO_OBJECT_ATTRIBUT) You use this parameter to specify the display attribute, the value of which is to be used in sorting.

Member Presentation (MEMBER_PRESENTATION)

You use this parameter to specify what sorting it to be based upon:

● 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

Page 245: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 241

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

Direction (DIRECTION) You use this parameter to specify the sorting order:

● Ascending (ASCENDING)

● Descending (DESCENDING)

Sort By Selection (SORT_BY_SELECTION)

Parameter Description

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

Page 246: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 242

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 Description

Target Web Item (TARGET_ITEM_REF) Choose Next to navigate to the parameters for the command.

Page 247: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 243

Data Provider (DATA_PROVIDER_REF) You use this parameter to specify which data provider the command is to relate to.

Document Class (DOCUMENT_CLASS_SPECIFIC)

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 Description

Data Row (DATA_ROW) 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

Page 248: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 244

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 Description

Characteristic (CHARACTERISTIC) You use this parameter to specify the characteristic for which a document is to be displayed.

Member Name (MEMBER_NAME) 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.

Name of the Hierarchy (HIERARCHY_NAME) Not available in current version. Leave this parameter empty.

Hierarchy Node Type (HIERARCHY_NODE_TYPE)

Not available in current version. Leave this parameter empty.

Page 249: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 245

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 Description

Target Web Item (TARGET_ITEM_REF) Choose Next to navigate to the parameters for the command.

Document Action (DOCUMENTACTION) 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) You use this parameter to specify which data provider the command is to relate to.

Document Class (DOCUMENT_CLASS_SPECIFIC)

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

Page 250: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 246

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 Description

BI Object (BW_OBJECT) 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.

Page 251: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 247

Parameter Value: Master Data (CHARACTERSTIC_MEMBER_SPECIFIC)

Parameter Description

Characteristic (CHARACTERISTIC) You use this parameter to specify the characteristic for which the documents are to be created.

Member Name (MEMBER_NAME) 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.

Name of the Hierarchy (HIERARCHY_NAME) You use this parameter to specify the hierarchy node for which you want to create a document.

Page 252: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 248

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.

Page 253: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 249

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.

Page 254: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 250

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.

Page 255: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 251

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

Data Provided Affected (TARGET_DATA_PROVIDER_REF)

You use this parameter to specify which data provider the command is to relate to.

Active 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 Description

Reference to Data Provider of Type Filter (SELECTOR_DATA_PROVIDER_REF)

You use this parameter to specify the data volume on which the planning function is to be executed.

Variant (VARIABLE_VARIANT) You use this parameter to specify the parameterization of the planning function using a variable variant.

Planning Function (PLANNING_FUNCTION) Technical name of the planning function. You use this parameter to specify which planning function is to be executed.

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.

Page 256: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 252

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

Variant (VARIABLE_VARIANT) You use this parameter to specify the parameterization of the planning sequence using a variable variant.

Planning Sequence (PLANNING_SEQUENCE) Technical name of the planning sequence. You use this parameter to specify which planning sequence is to be executed.

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)

Page 257: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 253

● 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

Page 258: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 254

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

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.

Page 259: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 255

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

Page 260: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 256

URL Parameterization

WIDTH = ‘600’

Web Item in Web Template

WIDTH = ‘500’

ReusableWeb Item

WIDTH = ‘400’

WIDTH = ‘300’

Default

Example of the WARNINGS_VISIBLE Web Template Parameter

WARNINGS_VISIBLE = ‘X‘URL Parameterization

WARNINGS_VISIBLE = ‘ ‘Web Template

WARNINGS_VISIBLE = ‘ ‘

Default WARNINGS_VISIBLE = ‘X‘

XReusable Web Item WARNINGS_VISIBLE = ‘X‘

X

Web-Template-Parameter inCustomizing

X

General Rules for Overriding Settings

The following figure shows the priority rules when overriding Web template parameter and Web item settings.

Page 261: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 257

SAP Standard

ReusableWeb Item Parameters

Customizing Settingfor Web Template

Parameters

Template Settings forWeb Template Parameters

URL Parameterization

SAP Standard

Template Settings forWeb Item Parameters

URL Parameterization

Web Template Parameters Web Item Parameters

Reusable Web Template Parameters

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.

Page 262: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 258

○ 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 Special Feature

Set Web Item Parameters (SET_ITEM_PARAMETERS)

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_LIST-TARGET_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 >

Page 263: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 259

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

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

Page 264: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 260

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:

Page 265: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 261

var paramList = new sapbi_Parameter();

You can add parameters to the list by using the following methods:

● 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);

Page 266: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 262

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

Page 267: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 263

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" />

Page 268: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 264

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

Page 269: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 265

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 double-click 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 >

Page 270: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 266

<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" />

Page 271: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 267

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

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.

Page 272: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 268

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.

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

Page 273: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 269

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

Page 274: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 270

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 Select Query. The Open dialog box appears.

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

Page 275: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 271

Button Text Command Parameter

Data Binding → Reference to Data Provider of Type Filter: DP_01

Copy Execute planning function (simple) (EXEC_PLANNING_FUNCTION_SIMPLE)

Command-Specific Parameters → Planning Function: Select your copy planning function (PF_Copy in our example)

Data Binding → Reference to Data Provider of Type Filter: DP_01

Revaluate Execute planning function (simple) (EXEC_PLANNING_FUNCTION_SIMPLE)

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 to save your Web template (menu path Web Template → Save).

12. Choose to execute your Web template.

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 Enterprise Reporting

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

Page 276: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 272

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:

Business Explorer Suite (BEx)

BEx Query Designer

Information Broadcasting

Web Analyzer

WebApplication

DesignerMicrosoft Excel

Add-inReport

Designer

BEx Web BEx AnalyzerBI Pattern

SAP NetWeaver

Portal

BI InfoProvider3rd Party BI

BI Consumer Services

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.

Page 277: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 273

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 2Group Level 1

Group Level 0

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

Page 278: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 274

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.

Page 279: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 275

Group Levels

DetailareaGroup

level 1

Grouplevel 0

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

Page 280: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 276

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 Description

BackgroundColor This property sets the background color of the cell.

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

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

PaddingTop This property sets the gap between the upper cell boundary and the cell contents.

PaddingBottom This property sets the gap between the lower cell boundary and the cell contents.

BorderStyleLead This property sets the frame type for the cell boundary that is used as the start direction for the cell contents.

BorderStyleTrail This property sets the frame type for the cell boundary that is used as the end direction for the cell contents.

Page 281: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 277

BorderStyleTop This property sets the frame type for the upper boundary of the cell.

BorderStyleBottom This property sets the frame type for the lower boundary of the cell.

BorderColorLead This property sets the frame color for the cell boundary that is used as the start direction for the cell contents.

BorderWidthTrail This property sets the frame color for the cell boundary that is used as the end direction for the cell contents.

BorderColorTop This property sets the frame color for the upper boundary of the cell.

BorderColorBottom This property sets the frame color for the lower boundary of the cell.

BorderWidthLead This property sets the frame width for the cell boundary that is used as the start direction for the cell contents.

BorderWidthTrail This property sets the frame width for the cell boundary that is used as the end direction for the cell contents.

BorderWidthTop This property sets the frame width of the upper cell boundary.

BorderWidthBottom This property sets the frame width of the lower cell boundary.

Wrapping You use this property to insert text wrapping at the end of the cell.

Width This property determines the width of the cell.

Height This property determines the height of the cell.

VerticalAlignment This property sets the vertical orientation of the contents of a cell (top, centered, bottom)

HorizontalAlignment This property sets the horizontal orientation of the contents of a cell (top, centered, bottom)

Colspan You use this property to merge two cells that are next to each other.

Rowspan (merging rows) You use this property to merge two cells that are one below the other.

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

Page 282: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 278

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 Description

TextColor This property sets the color of the text.

BackgroundColor This property sets the background color of the text.

FontFamily This property sets the font (for example, Arial, Times Roman and so on).

FontWeight This property sets the font weight.

FontSize This property sets the size of the font.

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

Page 283: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 279

● 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

Page 284: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 280

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]

Page 285: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 281

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

Page 286: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 282

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

Page 287: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 283

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.

Page 288: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 284

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

Page 289: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 285

● 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 Description New

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.

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

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

Save As… This function takes you to the BEx save dialog, where you can save your report with a different name in your favorites or roles.

Delete When you choose this function, the report is deleted permanently.

Page 290: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 286

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.

Set Up Page 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.

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

Print Version You use this function to convert the report directly into a PDF document that you can later print.

Publish 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].

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.

Page 291: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 287

Features You can choose from the following functions in the Edit menu: Menu Entry Description Delete 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 Description Report Structure You use this function to show and hide the

Report Structure screen area.

Field Catalog You use this function to show and hide the Field Catalog screen area.

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

Format Catalog

You use this function to show and hide the Format Catalog screen area.

Group Levels You use this function to show and hide the display of group levels in the design area.

Ruler

You use this function to show and hide the ruler in the design area.

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

Page 292: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 288

Page Header

You use this function to insert a page header into the report, which you can then change according to your needs.

Page Footer

You use this function to insert a page footer into the report, which you can then change according to your needs.

Report Section

You use this function to insert a report section into the report. The inserted report section has no data connection.

Free Text You use this function to insert free text into a cell of the report.

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 Description Font You use this function to specify the font.

Font Size You use this function to set the font size for texts.

Bold

You use this function to format texts as bold.

Italic You use this function to set texts as italic.

Orientation 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

Page 293: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 289

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.

Borders You use this function to define the border type for each cell.

● 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 You use this function to color a cell.

Font Color You use this function to color text.

Conditional Formatting 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 Description BEx Query Designer

You use this function to call the BEx Query Designer, to create new data providers of the type query.

Page 294: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 290

BEx Web Analyzer

You use this function to call the BEx Web Analyzer, to create new data providers of the type query.

Settings

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.

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 Description Application Help...

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.

About…

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.

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.

Page 295: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 291

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

Page 296: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 292

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.

Page 297: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 293

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.

Page 298: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 294

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

Page 299: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 295

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.

Page 300: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 296

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.

Page 301: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 297

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: Inserted columnsFree texts

Formatted rowsand columns

Drag and drop of cells

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:

Page 302: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 298

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 Design Mode

Use In BEx Analyzer’s 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

Page 303: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 299

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 query’s 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.

Page 304: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 300

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.

Page 305: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 301

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

Page 306: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 302

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 item’s upper-left coordinate. You don’t 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.

Page 307: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 303

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 Analyzer’s 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.

Page 308: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 304

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.

Analyzer’s workbook protection is similar to Microsoft Excel’s workbook protection (Tools → Protection), however, you cannot navigate your query if you protect your workbook using Excel’s 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 Excel’s 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.

Page 309: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 305

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 Excel’s 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.

Page 310: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 306

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 Analyzer’s 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 Analyzer’s 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.

Page 311: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 307

● 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]

Page 312: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 308

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

0VC_CUST 0VC_COUN 0VC_AMT 0VC_ORD 1 AUS Australia 56.05 DM 1 DE Germany 8,877.92 DM 12 AUS Australia 224.20 DM 1 DE Germany 4,438.96 DM 13 AUS Australia 112.10 DM 14 AUS Australia 56.05 DM 1

structure member (key figure)characteristic

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:

Page 313: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 309

****************Goto

***Save Values

***Transfer Values

XXXXQuery Properties

XXXProperties

XXSort Dimension --> Sort Ascending / Sort Descending

XXXSwap Axes

******Remove Drilldown

XXXDrill Down --> List of dimensions

XXExchange Dimension1 with --> List of dimensions (+ structures)

***Remove Filter

XXFilter and Drill Down --> List of dimensions

XXXSelect Filter Value

XXKeep Filter Value

XXXXBack to Start

XXXXBack

Data Value

Structure Member (Key

Figure)Characteristic

ValueCharacteristic(Function)

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

Page 314: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 310

● 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 Description

Analysis Grid Name 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]

Page 315: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 311

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.

Enable Cell Protection

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]

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.

Page 316: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 312

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.

Display Sort Icons The sort ascending and descending icons for the characteristics and key figures appear in a report only when this option is selected.

Display Hierarchy Icons The icons for expanding or collapsing a hierarchy appear in a report only when this option is selected.

Clipping Tab

Page 317: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 313

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

Page 318: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 314

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 Excel’s 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.

Page 319: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 315

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:

structure member (key figure) row

dimension row

Key Figures0VC_COUN0VC_CUST

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:

Page 320: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 316

XXQuery Properties

XProperties

XSort Structure Member--> Sort Ascending / Sort Descending

XSort Dimension --> Sort Ascending / Sort Descending

****Remove Drilldown

XXDrill Across

XXDrill Down

**Remove Filter

XXSelect Filter Value

XXBack to Start

XXBack

Structure Member (Key Figure) Row

Dimension Row(Function)

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.

Page 321: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 317

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

Page 322: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 318

Property Description

Navigation Pane Name Displays the name of the pane, 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 navigation pane.

Display Technical Names / Do Not Display Technical Names

Use this button on any tab to toggle the display of technical names.

General Tab

Data Provider 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.

Allow Navigation 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.

Display Icons Deselect this checkbox to turn off the display of icons in the navigation pane.

Scroll bars and scrolling icons are not affected by this setting.

Page 323: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 319

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 don’t 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 Description

Filter List Name 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.

Display Technical Names / Do Not Display Technical Names

Use this button on any tab to toggle the display of technical names.

General Tab

Page 324: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 320

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]

Page 325: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 321

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 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 the button.

Button Properties

Property Description

Button Name 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.

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

Page 326: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 322

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

Page 327: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 323

Row 8 FILTER_VALUE 0 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 aren’t executed in the context of a data provider, but rather within a workbook. For example, in a re-evaluation scenario, you’ve 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 don’t 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):

Page 328: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 324

● 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 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 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 Description

Dropdown Box Name 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.

Display Technical Names / Do Not Display Technical Names

Use this button on any tab to toggle the display of 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.

Page 329: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 325

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

Page 330: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 326

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 don’t 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

Page 331: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 327

To add a checkbox group to the 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 the checkbox group in analysis mode.

Checkbox Group Properties

Property Description

Checkbox Group Name 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.

Display Technical Names / Do Not Display Technical Names

Use this button on any tab to toggle the display of 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.

Display Dimensions Horizontally Select this option to display the values of the checkbox group horizontally, in one row across the sheet.

Dimensions Tab

Dimension Select the dimension you wish to filter.

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.

Page 332: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 328

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.

Page 333: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 329

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 don’t 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 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 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 Description

Radio Button Group Name 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.

Display Technical Names / Do Not Display Technical Names

Use this button on any tab to toggle the display of 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]

Page 334: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 330

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.

Display Dimensions Horizontally Select this option to display the values of the radio button group horizontally, in one row across the sheet.

Dimensions Tab

Dimension Select the dimension you wish to filter.

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.

Page 335: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 331

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 radio button group.

Target Data Provider Tab

Target Data Provider Name 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:

Page 336: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 332

● 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 Description

Condition List Name 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.

Data Provider 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]

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,

Page 337: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 333

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 Description

Exception List Name 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.

Data Provider 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]

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.

Page 338: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 334

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 Description

Text Name 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.

Display Caption 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.

Constants Tab

Page 339: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 335

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

Page 340: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 336

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 you’d like to see, and AutoFit options

● Clipping – lets you configure whether to clip or scroll the message display

Messages Properties

Property Description

Message Name 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

Page 341: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 337

Display Success Messages Select this checkbox to display success messages, for example: The query ‘abc’ was successfully saved

Display Information Select this checkbox to display informational messages, for example: The system will close down at 6pm today

AutoFit When selected, the width of the cells in the message item expands as needed to accommodate the contents of the message.

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

Page 342: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 338

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.

Page 343: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 339

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.

Page 344: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 340

3. Choose the Delete Data Provider button.

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:

Page 345: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 341

● 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 item’s 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 item’s 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.

Page 346: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 342

○ 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 item’s properties dialog box), configure the coordinates to the item’s 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 lower-right 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.

Page 347: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing User Interfaces

Enterprise Reporting, Query, and Analysis 343

To change the way the coordinates expand, you can adjust the item’s 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]

Page 348: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 344

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 Installing Business Content

Use 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

Page 349: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 345

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 left-hand 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.

In the Data Warehousing Workbench, you use the Navigation Window 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.

Page 350: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 346

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 Object-Specific Recommendations [External].

● Collection Mode

Select how you want to collect the objects:

Page 351: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 347

○ 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 Collect Dependent Objects icon.

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.

Page 352: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 348

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

Page 353: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 349

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:

Page 354: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 350

● 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

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

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

Valid for Key Figures

Properties Matched Automatically: Properties Matched Manually:

Page 355: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 351

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

Page 356: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 352

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 Install selection list:

Installation Type

Installation Type What You Need to Know

Simulate Installation 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.

Page 357: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 353

Install The selected objects are installed immediately.

Install in Background The selected objects are installed in the background.

Install and Transport 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 Query Design: BEx Query Designer

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

Page 358: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 354

Business Explorer Suite (BEx)

BEx Query Designer

Information Broadcasting

Web Analyzer

WebApplication

Designer

MicrosoftExcel Add-in

ReportDesigner

BEx Web BEx AnalyzerBI Pattern

SAP NetWeaver

Portal

BI InfoProvider3rd Party BI Data

BI Consumer Services

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

Page 359: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 355

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

Page 360: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 356

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

Page 361: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 357

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.

Page 362: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 358

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.

Page 363: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 359

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

Page 364: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 360

● 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 Description

New 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].

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

Page 365: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 361

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

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

Properties 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].

Execute... 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].

Page 366: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 362

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.

Page 367: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 363

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 Description

Display/Change You can use this function to change between the display and change modes in the properties of a query or query component.

Cut You can use this function to cut selected objects.

Copy You can use this function to copy selected objects.

Paste You can use this function to paste selected objects into other areas.

Paste (subordinate) 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.

Remove You can use this function to remove selected objects.

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

Page 368: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 364

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.

Toolbars You can use this function to show and hide the View, Standard and Exit toolbars.

Technical names You can use this function to show or hide the technical names of the query components (InfoObjects, structures, variables, and so on).

Properties 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 context-sensitive.

Tasks 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 context-sensitive. This gives you an overview of the functions and options available while working in the query.

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

Filters 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].

Rows/Columns 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.

Page 369: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 365

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

Page 370: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 366

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.

Where-Used List You can use this function to show the Where-Used List screen area. The Query Designer displays the objects (workbook, Web template, report or broadcasting setting) in which this query is used.

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

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 Description

Expand Nodes You can use this function to fully expand the hierarchy nodes that you have selected, in one step.

Page 371: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 367

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 Description

Application Help 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.

Jump to Error 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.

Explain This 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.

Correct This Error 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.

Info… 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.

Page 372: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 368

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

Page 373: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 369

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

Page 374: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 370

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.

Page 375: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 371

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

Page 376: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 372

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.

If you want to undo the procedure, choose Include in Selection from the context menu (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.

Page 377: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 373

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.

Page 378: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 374

You want to select the period of the last 5 years for evaluating your data.

i. Choose Show → Value Range and Between as the operator.

ii. Choose the variable Current Calendar Year and copy it to the right Selection window using the right arrow.

iii. Select the variable and choose Set Variable Offsets.

iv. For the lower limit, enter the offset 5.

v. Do not enter an offset for the upper limit.

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

Page 379: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 375

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 . The Select Hierarchy dialog box appears.

5. Select a fixed hierarchy (see Selecting Hierarchies [Page 376]).

6. Add the selection to the right Selection window using the right arrow.

Page 380: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 376

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 . The Select Hierarchy dialog box appears.

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 . The Select Hierarchy dialog box appears.

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

Page 381: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 377

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.

Page 382: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 378

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.

Page 383: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 379

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

Page 384: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 380

− 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]

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

Page 385: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 381

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.

Page 386: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 382

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 Region Sales %CT ‘Sales’

1999 North 30 50

South 30 50

Result for 1999 60 33,3333

2000 North 60 50

South 60 50

Result for 2000 120 66,6667

Overall result 180 100

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’

Page 387: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 383

1999 North 30 16,6667

South 30 16,6667

Result for 1999 60 33,3333

2000 North 60 33,3333

South 60 33,3333

Result for 2000 120 66,6667

Overall result 180 100

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.

Page 388: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 384

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 Region Sales SUMCT “Sales”

1999 North 30 60

South 30 60

Result for 1999 60 180

2000 North 60 120

South 60 120

Result for 2000 120 180

Overall result 180 180

Page 389: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 385

Overall result SUMGT <Operand>

Delivers the overall results for the operands (see also Percentage Functions [Page 381] %GT).

Year Region Sales SUMGT “Sales”

1999 North 30 180

South 30 180

Result for 1999 60 180

2000 North 60 180

South 60 180

Result for 2000 120 180

Overall result 180 180

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.

Page 390: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 386

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.

Page 391: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 387

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

Page 392: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 388

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

Page 393: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 389

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 symbol shows you that a selection exists for this exception cell.

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 symbol shows you that a formula exists for this exception cell.

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 structural components now automatically appears in the cell. The symbol shows you that a 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

Page 394: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 390

● 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 symbol shows you that a selection exists for this exception cell.

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 symbol shows you that a formula exists for this exception cell.

Result You have defined one or more exception cells for a query.

Page 395: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 391

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.

Page 396: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 392

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]

Page 397: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 393

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

Page 398: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 394

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]

Page 399: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 395

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

Page 400: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 396

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

Page 401: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 397

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

Page 402: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 398

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 ey F ig ures

A ctua l A m o u nt

P lanned A m o u n t

V ariance

P ercen tage V ariance = F o rm ula : A c tua l A m t % P lanned A m t

= F o rm ula : A c tua l A m t – P lanned A m t

= S e lec tio n fro m K e y F ig ure A m o u n tand V alue T yp e P la n n ed

= S e lec tio n fro m K e y F ig ure A m o u n tand V alue T yp e A ctu a l

Page 403: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 399

Time Structure (= Characteristic Structure)

Time Structure

Current Month

Month from Previous Year

Percentage Variance forvon Current Month and Month from Previous Year

Percentage Varaince forYear to Date and Year to Date for Previous Year

Year to Date forPrevious Year

Year to Date

Creating a Query with Two Structures Key figure structure in the rows and characteristic structure in the columns:

CurrentMonth

Month fromPrevious Year

PercentageVariance

NetIncome

Quantity

Average

Price

CHAR. STRUCTURE

KEY

FIG

. STR

UC

TUR

E

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.

Page 404: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 400

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.

Page 405: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 401

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 Language-Dependency

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 symbol and contains the default name Key Figures as a proposal.

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.

Page 406: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 402

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 language-dependent, 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

Page 407: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 403

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.

Page 408: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 404

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.

Page 409: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 405

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.

Page 410: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 406

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

Page 411: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 407

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-for-input. For variables that are not ready-for-input, the default value is used as the variable value.

Page 412: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 408

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

Page 413: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 409

● 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 customer-specific 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.

Page 414: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 410

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 Sales 19.06.2000 Sales – 01.06.2000 – 19.06.2000

A 5 263

B 7 157

C 2 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

Page 415: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 411

● 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 Description

VNAM Variable name

IOBJNM InfoObject name

SIGN (I)ncluding [ ] or (E)xcluding ] [

OPT Operators: EQ =, BT [ ], LE <=, LT <, GE >=, GT >, CP and so on.

LOW Characteristic value

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

Page 416: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 412

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.

Page 417: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 413

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/Processing Type

Manual Entry / Default Value

Replacement Path

Customer Exit or SAP Exit

Authorization

Characteristic Value Variable

Details [Page 417]

Default Values [Page 429]

Replacement Path: Replacement with Query [Page 425]

Replacement Path: Replacement with Variable

Details [Page 417]

Details [Page 417]

Page 418: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 414

[Page 427]

Hierarchy Variable

Details [Page 417]

Default Values [Page 429]

Replacement Path: Replacement with Variable [Page 427]

Details [Page 417]

Hierarchy Node Variable

Details [Page 417]

Default Values [Page 429]

Details [Page 417]

Details [Page 417]

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]

Details [Page 417]

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]

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

following symbol next to such input fields: . When you click on the arrow, the following options appear for using a variable instead of a fixed value in the context menu:

Page 419: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 415

● 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

values for the threshold value of a condition. Click on the symbol and use the options described above for using variables. The settings are context-sensitive, 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:

Page 420: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 416

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.

Page 421: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 417

● 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

Page 422: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 418

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.

Page 423: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 419

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.

Page 424: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 420

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

Page 425: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 421

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.

Page 426: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 422

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

Page 427: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 423

● 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 Price

Material 1

Material 2

10

20

InfoCube

Material Month

Material 1

Material 2

1.2002

Sales Quantity

Material 1

Material 2 1.2002

2.2002

2.2002

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

Page 428: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 424

Material F1

Material 1

Result

Sales Quantity

Material 2

110

300

X

F2

11

15

26

K1 K2 K3

10

20

30

10

20

X

110

300

410

110

300

780

Query View 2

Month F1

1.2002

Result

Sales Quantity

1.2002

X

X

X

F2

12

14

26

K1 K2 K3

30

30

60

X

X

X

190

220

410

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 Fiscal Year / Period

0FISCPER

Internal display (key) K42002 K42002008

External display (external characteristic value of the key)

K4/2002 K4/008.2002

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.

Page 429: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 425

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 Offset start 2 Offset length 4

0FISCPER Offset start 2 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 Offset Start 3 Offset Length 4

0FISCPER Offset length 7 for year

Offset start 3 for period

Offset start 3 for year and period

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.

Page 430: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 426

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 pre-calculated value set.

For more information, see Details [Page 417] and Precalculating Value Sets [External].

Page 431: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 427

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

Page 432: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 428

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

Page 433: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 429

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.

Page 434: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 430

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

Page 435: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 431

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 Sales 2001 Sales 2002

Value 1 100,000 90,000

Value 2 200,000 180,000

Value 3 300,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.

Page 436: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 432

3. Use a characteristic value variable for the characteristic Fiscal Year/Period (0FISCPER):

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 Sales 01. – 08. 2001 Sales 01. – 08. 2002

Value 1 100,000 90,000

Page 437: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 433

Value 2 200,000 180,000

Value 3 300,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.

Page 438: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 434

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.

Page 439: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 435

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

Page 440: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 436

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]

Page 441: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 437

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

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.

Page 442: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 438

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.

Page 443: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 439

You can also enter the query description when you save the query.

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.

Page 444: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 440

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 Order Sales

DE A EUR 14,900

B EUR 15,800

C EUR 17,600

USA A EUR 12,800

C EUR 32,800

In the following example, the Hide Repeated Key Values setting is deactivated:

Region Order Sales

DE A EUR 14,900

DE B EUR 15,800

DE C EUR 17,600

USA A EUR 12,800

USA C EUR 32,800

Page 445: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 441

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 14

B 15

C 17

F D 12

E 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].

Page 446: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 442

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.

Page 447: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 443

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 changed or not. You can save your settings with Save.

4.2.2.9 Properties of Query Components

Use The various components of a query have specific properties that depict important functions.

Page 448: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 444

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.

Page 449: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 445

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.

Page 450: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 446

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.

Page 451: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 447

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.

Cost Center A.1.1.1.

Cost Center A.1.2.

Cost Center A.1.1.

Cost Center A.1.1.2.

Cost Center A.1.1.3.

Cost Center A.1.2.1.

Cost Center A.1.2.2.

Cost Center A.1.2.3.

196

10

80

50

20

10

106

55

30

21

Cost Center A.1.

This value can be suppressed.

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.

Page 452: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 448

Cost Center A.1.

Cost Center A.1.1.1.

Cost Center A.1.2.

Cost Center A

This node can besuppressed.

Cost Center A.1.1.

Cost Center A.1.1.2.

Cost Center A.1.1.3.

Cost Center A.1.2.1.

Cost Center A.1.2.2.

Cost Center A.1.2.3.

186

186

80

50

20

10

106

55

30

21

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.

Page 453: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 449

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 characteristic can or cannot be changed. You can save your settings with Save.

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.

Page 454: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 450

● 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 the attribute can or cannot be changed. You can save your settings with Save.

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

Page 455: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 451

(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

Page 456: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 452

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

Page 457: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 453

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

Page 458: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 454

● 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

Page 459: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 455

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.

Page 460: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 456

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 Column 2 Column 1 x Column 2

Row 1 Value A Value B A x B

Row 2 Value C Value D C x D

Row 1 + Row 2 A + C B + D ? 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.

Page 461: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 457

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

Page 462: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 458

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:

○ Calculate → Result as

○ Calculate → Single value as → Ranked list / Ranked list (Olympic)

○ Calculate → Cumulated

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.

Note that cumulation only operates with characteristic values and not with the structural elements of a characteristic structure. The Cumulated function is only

Page 463: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 459

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:

AmountRegion Business year/period May 1999 June 1999 September 1999 Total resu ltAUS/NRD AUS/NRD 49.996.60 DM 49,996.60 DMDE/BAW Baden-Württemberg 561,176.72 DM 1,102,729.84 DM 1,102,729.84 DMDE/BAY Bayaria 529,412.00 DM 1,068,745.64 DM 1,068,745.64 DMDE/SAC Saxony 709,412.08 DM 1,428,523.60 DM 1,428,523.60 DMTotal resu lt 1,800,000.80 DM 3,599,999.08 DM 3,649,995.68 DM 3,649,995.68 DM

Cumulate along the column s

Key figure in thecolumns

1,102,729.84 DM1,068,745.64 DM1,428,523.60 DM

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 settings with Save.

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.

Page 464: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 460

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.

Page 465: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 461

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 changed. You can save your settings with Save.

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.

Page 466: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 462

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 cannot be changed. You can save your settings with Save.

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

Page 467: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 463

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.

Page 468: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 464

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.

Page 469: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 465

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 settings with Save.

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.

Page 470: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 466

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]

Page 471: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 467

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

Page 472: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 468

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 to select all of the objects.

6. Choose Transfer.

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.

Page 473: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 469

Result The query objects you specified are deleted.

4.2.3 Customer and Partner Content

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

Page 474: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 470

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 ([email protected]). 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 customer’s 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.

Page 475: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 471

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:

OL1Content

TestSystem

OL

TP

OL0Content

DevelopmentSystem

Cus

tom

erO

L4Pr

oduc

tion

Syst

em

Cus

tom

erO

L3In

tegr

atio

n Sy

stem

Cus

tom

erO

L2D

evel

opm

entS

yste

m

Delivery Transport

Cus

tom

erB

W4

Prod

uctio

nSy

stem

Cus

tom

erB

W3

Inte

grat

ion

Syst

em

BW1Content

TestSystem

Cus

tom

erB

W2

Dev

elop

men

tSys

tem

BW

BW0Content

DevelopmentSystem

Delivery Transport

Customer Content Development Customer

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.

Page 476: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 472

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.

Page 477: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 473

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:

Page 478: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 474

A(ctive)

D(elivery

M(odified)

Version

11 11 12

11 12 12 24

11 11 23 23 23

24 24

11

1. Deliveryby SAP

2. Delivery by SAP

1. Installationof BusinessContent (copy)

2. Installation of BusinessContent (Merge)

12

12

21

Change

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:

Page 479: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 475

SAP Content Delivery System

M(odified)

A(ktive)11 11 22

create activate change

Customer System

M(odified)

A(ktive)11

1144

Content: activate change

11

Export(D Object)

Import

The A version is copied automatically into the D version only in the content delivery system11

11

1111

11

1111D(elivery)

D(elivery)

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 customer’s 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

Page 480: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 476

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 recipient’s 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

Page 481: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 477

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 non-generated 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

Page 482: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 478

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 14 characters – G

DataStore Object 13 characters – G

InfoSource 25 characters – G

InfoSet 14 characters – G

DataSource 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*)

Page 483: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 479

Changeability for other objects

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

Page 484: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 480

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:

Page 485: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 481

Customer Content System (Central)

M(odified)

A(ctive)11 11 22

create activate change

Business Area

M(odified)

A(ctive)11

1144

Activate Content Change

11

Export(D Object)

Import

1111

1111

11

1111D(elivery)

D(elivery)

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)

Business Area

InfoObject0MATERIAL

InfoCube/ABC/IC1

Export (D Object)

Import

InfoCube/ABC/IC1InfoObject

/ABC/IO01

InfoObject0MATERIAL

InfoCube/ABC/IC1

InfoObject/ABC/IO01

InfoObject/ABC/IO01

Page 486: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 482

2nd Scenario: Adapting SAP Business Content In many cases, it is more effective to use/adapt Business Content delivered by SAP instead of using one’s 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: ...

M(odified)

A(ctive)

22

33

22

D(elivery)

44

33

44

44

44

44

11

11

11

22

22

22

Customer Content System (Central)

UpdateDelivered SAP

Business Content

Merger(Special Users)

- optional -

Change Business Content Objects Activate

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

Page 487: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 483

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 Without Automatic Merge

Report-report interface, RRI recipient of the InfoCube, RRI recipient of query.

Aggregate

DataSource / FileSource Application components

InfoCube Crystal Report

InfoObject Query element: Query, structure, restricted and calculated key figures, variables

InfoObject Catalog Update rules

Data Mining: Mining model, Model source InfoArea

MultiProvider InfoPackage

ODS Object InfoPackage Group

Process Chains InfoSet, Classic InfoSet

Transfer rules InfoSet query

Page 488: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 484

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

Page 489: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 485

• 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 Example

Source system-dependant object, carries the source system directly in its key

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

Transfer Structure

Source system-dependant object, carries a GUID [External] (Globally Unique Identifier) in its key

InfoPackage

Source system-independent object, refers to a source system-dependent object

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.

Page 490: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 486

See also:

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 Key Fields

A (active) / M (modified) / T (Transport) - ISMP

DataSource, source system, object version

D (Delivery / Content) - SHMP 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

Page 491: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 487

A (active) / M (modified) / T (Transport) - ISFS

DataSource, source system, object version

D (Delivery / Content) - SHFS 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 system-dependent 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 after-import 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).

Page 492: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 488

Content

0CUSTOMER

0CUSTOMER

LOGSYS

X1

X2

0CUSTOMER

0CUSTOMER

SAPREL

3.1

4.5

ShadowVersion

0CUSTOMER

0CUSTOMER

0CUSTOMER

LOGSYS

Q1

Q2

Q3

A Version

0CUSTOMER

0CUSTOMER

SAPREL

3.1

4.5

Shadow Version

A Version

Content Delivery

0CUSTOMER

0CUSTOMER

X1

X2

D VersionLOGSYS

After-Import Method

Content Activation

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 system-dependant 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 Key Fields

A (active) / M (modified) / T (Transport) - ISTS DataSource with coded connection, object version

D (Delivery / Content) - SHTR DataSource, source system release

Page 493: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 489

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 SAPREL TSPREFIX

Q1 3.1 QA

Q2 4.5 QB

Q3 4.5 QC

The customer’s 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.

Page 494: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 490

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

0CUSTOMER_QA

0CUSTOMER_QB

0CUSTOMER_QC

0CUSTOMER

0CUSTOMER

0CUSTOMER

0CUSTOMER

0CUSTOMER_XA

0CUSTOMER_XB

Q1

Q2

Q3

SAPREL

3.1

4.5

SAPREL

3.1

4.5

OLTP SOURCE

X1

X2

D Version

A-Version

D Version

A-Version

Content Delivery

TRANSTRU

TRANSTRU

TRANSTRULOG SYS

OLTP SOURCE

LOG SYS

0CUSTOMER

0CUSTOMER

0CUSTOMER

0CUSTOMER

TRANSTRU

Content Activation

0CUSTOMER

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

Page 495: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 491

Structure Key Fields of an InfoPackage (ISIP/SHIP)

Version Key Fields Data Fields

A (active) / M (modified) / T (Transport) - ISIP

GUID Source System

D (Delivery /. Content) - SHIP GUID 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

GUID1

GUID2 GUID3

GUID3

GUID4

LOGSYS

Q1

SAPREL

4.0

LOGSYS

X1

LOGSYS

X1

X2

Shadow Version

A Version

D Version

A Version

Content Delivery

GUID

GUID GUID

GUID

GUID2

SAPREL

4.0

Shadow VersionGUID

GUID4 X2

Content Activation

When SAP delivers again, you need to know from which InfoPackage GUID3 and GUID4 are derived. This information is stored in table RSSHIPDVERS:

Page 496: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 492

Table RSSHIPDVERS

LOGDPID_SH LOGSYS LOGDPID

GUID3 X1 GUID2

GUID4 X2 GUID2

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.

Page 497: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 493

Content

PK1 PK1

PK1

VARIANT

GUID1

VARIANT

GUID3

GUID4

D Version

A Version

D Version

A Version

Content Delivery

CHAIN_ID CHAIN_ID

PK1

VARIANT

GUID2

CHAIN_ID

PK1

VARIANT

GUID2

CHAIN_ID

Content activation: caution when using

several source systems

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:

Page 498: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 494

Start ProcessInitial data load

ODSO data generated fromLOADING 0PAK_DWUH3S0N8VJRIBNDFI31RP9HO

Further processing generated fromODSACTIVAT 0PAK_DWUH3S0N8VJRIBNDFI31RP9HO

4.0B 4.5B

InfoPackage for data load2LIS_11_V_SSL_INIT_R3

InfoPackage for data load2LIS_11_V_SSL_INIT_R3

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:

Page 499: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 495

Start ProcessInitial data load

ODSO data generated fromLOADING 0PAK_DWUH3S0N8VJRIBNDFI31RP9HO

Further processing generated fromODSACTIVAT 0PAK_DWUH3S0N8VJRIBNDFI31RP9HO

4.0B 4.5B

InfoPackage for data load2LIS_11_V_SSL_INIT_R3

InfoPackage for data load2LIS_11_V_SSL_INIT_R3

AND 1

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.

Page 500: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 496

Difficulties in Collecting Objects

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?

No.

Does the object appear in the shadow table?

Yes.

The problem lies in the object itself.

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 Features when Transporting Roles

Delivery

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.

Page 501: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 497

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 Description Field name in table RSAPPL

Parent Superordinate application component (parent node)

APPLNM_P

Child Subordinate application component APPLNM_C

Page 502: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 498

(child node)

The system (only) enters the first subnode, even if there are several nodes.

Next Next application component (neighbor node) APPLNM_N

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:

SAP1

Content1

SAP2

Content11

Content12

0SAP Parent

Next

Child

Cus

tom

er

Content1 inserted as Next

in SAP1

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

Page 503: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 499

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.

Page 504: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 500

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:

Page 505: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 501

A(ctive)

D(elivery

Version

11 12 13 23

11 11 23 23 2311

1st Delivery by SAP 2nd Delivery by SAP

1st Activationof BusinessContent

2nd Activationof BusinessContent

12

21

Change

11

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.

Page 506: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 502

SAP ContentDelivery System

Customer System

A(ctive) 11

Activate Content Change

11

Export(D Object)

Import

22

1111D(elivery)

A(ctive)

Create Change

1111

2211

D(elivery) 2222

11

A(ctive)

Transport from Development System

1111

D(elivery) 11

SAP ContentDevelopment System

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

Page 507: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 503

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 Description

R3TR OSOD /<Namespace>/<DataSource>

/ABC/DATASOURCE1

D-version of DataSource

R3TR TABL /<Namespace>/ES<DataSource><four-character counter>

or

R3TR TABL /ABC/<freely-chosen name of extract structure>

/ABC/DATASOURCE1

Extract structure

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><four-character 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.

Page 508: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 504

3. Choose Create.

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.

Page 509: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 505

Also see: Using Namespaces for the Development of BW Objects [Page 475]

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 ContentDelivery System

Business Area

A(ctive) 11

Activate Content Change

11

Export(D Object)

Import

22

1111D(elivery)

A(ctive)

Transport from Development System

1111

D(elivery) 11A(ctive)

Create Change

1111

2211

D(elivery) 2222

11

Customer ContentDevelopment System

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

Page 510: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 506

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.

Page 511: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 507

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

Page 512: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 508

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,

Page 513: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 509

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.

Page 514: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 510

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.

Page 515: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 511

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.

Page 516: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 512

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.

Page 517: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 513

Notes on Extraction Using SAP Query [Page 520]

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.

Page 518: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 514

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

Page 519: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 515

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 delta-relevant 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

Page 520: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 516

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.

Page 521: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 517

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

Page 522: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 518

This parameter contains the number of lines expected within a read call.

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.

Page 523: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 519

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.

Page 524: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 520

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 Notes for Extraction Using the SAP Query

Client Dependency 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

Page 525: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 521

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

Page 526: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 522

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 customer-defined 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 exit_saplrsap_001

Attributes, texts exit_saplrsap_002

Hierarchies exit_saplrsap_004

For more information, see Enhancing DataSources [Page 523].

Page 527: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 523

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 Enhancement Component

Transaction data exit_saplrsap_001

Attributes, texts exit_saplrsap_002

Page 528: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 524

Hierarchies exit_saplrsap_004

See also:

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

To display the documentation for a component, select the component and choose Goto → Display Documentation.

Page 529: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 525

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

Page 530: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 526

● 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 ([email protected]). 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.

Page 531: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 527

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 ([email protected]). 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.

Page 532: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Developing Business Logic

Enterprise Reporting, Query, and Analysis 528

SAP1

SAP2

0SAP

SAP1

Content1

Content11

Content12

Content2

0SAPPa

rtner

1

Partn

er2

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:

SAP1

SAP2

0SAP

Content1

Content11

Content12

Partn

er1

Content2

Partn

er2

Page 533: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 529

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.

Page 534: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 530

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 non-OLAP 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 Report-Report Interface

Use 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

Transaction or ABAP report inan SAP system(CRM, ERP etc.)

Web address

BEx Web Application, BEx Query

Goto

SAP

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

Page 535: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 531

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.

Page 536: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 532

Tab Page What You Need to Know

Query Enter the technical name of the sender query or select a query using value help.

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

3. Choose Create. You reach the Maintain Sender-Receiver Assignment dialog box.

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 What You Need to Know

Report title Specify a name.

Page 537: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 533

Source system Choose the required source system using input help. You can assign all source systems by entering “*”.

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

Page 538: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 534

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.

Page 539: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 535

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)

Effects

Generic (default) Selections are automatically transferred from the Report-Report 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.

V Variable 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 (non-compounded) key. For example, the characteristics 0MATERIAL and 0MATPLANT can be assigned to one another.

Page 540: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 536

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 (non-compounded) 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 Effects

* (default) No restriction of the selection type. Single values, intervals, free selection options and hierarchy nodes can be transferred.

P Parameters In the report-report interface, only one single value is permitted.

E Individual values In the report-report interface, a list of values is permitted.

Page 541: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 537

I Interval In the report-report interface, only one single interval is permitted.

S Selection option Single values, intervals and free selection options (such as >, <, <>,…) can be chosen. Hierarchy nodes are expanded in lists of single values.

H Hierarchy nodes Only hierarchy nodes are permitted.

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

2. Choose Transaction as the report type for the receiver.

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.

Page 542: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 538

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 Assignment Details. See also Maintain Assignment Details [Page 534].

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.

5. Select your sender-receiver assignment and choose Assignment Details.

Page 543: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 539

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 customer’s stocks in a query. Goto the CNN Money Web page from the customer’s 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.

Page 544: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 540

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:

Aktien-suchbegriff

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.

Page 545: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 541

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 customer’s 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:

Page 546: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 542

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

Page 547: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 543

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 Characteristic value variable

Processing type Manual entry / Default value

Variable represents Selection option

Variable value is Optional

Ready for input Switched on

Changeable with query navigation 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:

Page 548: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 544

Amount

$490000,00$490000,00$500000,00

Cost ElementPersonnel Costs

$10000,00$10000,00

$1000,00$1000,00

$500,00$500,00

Personnel Costs fixedSalaries

Building CostsBuilding Costs fixedElectricity

Personnel Costs variableTravel Costs

Water

Balance

$490000,00$490000,00$500000,00

Account NumberPersonnel Costs

Personnel Costs fixed47110000

GotoSender Query

Receiver Query

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:

Goto

Amount

$490000,00$490000,00$500000,00

Cost ElementPersonnel Costs

$10000,00$10000,00

$1000,00$1000,00

$500,00$500,00

Personnel Costs FixedSalaries

Building CostsBuilding Costs FixedElectricity

Personnel Costs VariableTravel Costs

Water

Sender Query

Receiver Query

Balance

$490000,00$490000,00$500000,00

Account NumberBuilding Costs

$10000,00$10000,00

ElectricityElectricity/4712000OtherWater/4713000

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.

Page 549: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 545

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 Open Analysis Interfaces

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

Page 550: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 546

InfoProvider XML/A

OLE DB forOLAP

BAPI

Business Explorer

Third-PartyTools

Enterprise Portal

MD

X Processor

OLA

P Processor

Data Objects

Virtual ObjectsMulti-Provider

Info-Set

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

Features The following table gives an overview of the available interfaces:

OLE DB for OLAP (ODBO) OLAP BAPI XML for Analysis (XML/A)

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

Prerequisites

Driver installed on client system Access library available from all SAP platforms

Platform Independence

Only MS Windows platforms All platforms supported by SAP All 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).

Page 551: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 547

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

OLE DB for OLAP

Web Service

Web Browser Rich client

BI Server

BEx

InfoCube DataStore Master Data

OLAP ProcessorMetadata

MDX Processor

XML for Analysis OLAP BAPIs

RFCHTTPSOAP

COM

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.

Page 552: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 548

Structure The following table gives an overview of the most important components of MDX statements:

MDX Component Significance FROM Cube selection

SELECT

ON COLUMNS ON ROWS

Axes definition

Definition of column axes Definition of rows axes

WHERE 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].MEMBERSON ROWS

FROM [0D_SD_C03/SAP_DEMO_OLEDB]

WHERE( [0CALMONTH].[200201],[0D_COUNTRY].[US] )

$ 166.665,009,000$ 144.710,00Chicago

$ 46.665,009,000$ 226.487,00Calgary

$ 26.664,006,000$ 95.286,00Manchester

$ 26.664,009,000$ 236.088,00Frankfurt

$ 266.658,0033,000$ 702.571,00

OpenOrders

DocumentNo.

Profit

JAN 2002, USA

Page 553: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 549

Examples for basic modules

Entity Example Member (characteristic value) [City].[Las Vegas], [Time].[Year].[2003] Tuple (several characteristic values, various characteristics)

([City].[Las Vegas],[Time].[Year].[2003],[Event].[SAP TechEd 2003])

Set (several tuples or member) {([City].[Los Angeles],[Time].[Year].[2002]),([City].[Las Vegas],[Time].[Year].[2003]),}

Value (number, characters) 5, “red”

Examples for expressions that generate the entities named above

Expression Example Member as result <member>.PARENT Set as result TOPCOUNT(<set>,<index>,<numeric_value_expres

sion>) Number as result 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:

Page 554: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 550

Catalog

Schema

Cube

Dimension (Measure)

Hierarchy

Level

Member

Property

InfoCube

Not Supported

Query

InfoObject(Characteristic)

(BI) Hierarchy

Numbered Level or Name of Dummy Level

Characteristic Value

Display Attribute

OLE DB for OLAP BI

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:

Page 555: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 551

○ 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].

Page 556: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 552

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:

(Standard) InfoCube, MultiProvider

Database Server

OLAP Processor processesQUERY_CUBE (BEx: Query)

Datasets

Response

OLE DB for OLAP

InfoCubes -storedin star schema

BI Application Server

Presentation Server; OLE DB Client

MDX Request

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

Page 557: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 553

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:

Measures

BI Query Structure of QUERY_CUBE

Characteristic 1: Region Dimension1: Region

Char. 2: Fiscal Year Dimension2: Fiscal Year

Char. 3: Customer Dimension3: Customer

Structure for Key Figures

Member1: Costs

Member2: Sold Quantity

Member3: Revenue

Measures-Dimension

Costs

Sold Quantity

Revenue

Variable1: Cost Center SAP Variables Cost Center

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:

Page 558: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 554

○ 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 Microsoft’s 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)

Page 559: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 555

● 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 Profit Change

JAN 2001 11.324.466,00 * 11.324.466,00 *

FEB 2001 7.767.949,00 * -3.556.517,00 *

MAR 2001 9.598.544,00 * 1.830.595,00 *

APR 2001 7.225.499,00 * -2.373.045,00 *

MAY 2001 9.216.444,00 * 1.990.945,00 *

JUN 2001 12.050.631,00 * 2.834.187,00 *

JUL 2001 14.757.033,00 * 2.706.402,00 *

AUG 2001 558.144,00 MIX -14198889,00

SEP 2001 14.834.377,00 * 14276233,00

OCT 2001 13.158.103,00 * -1.676.274,00 *

NOV 2001 17.673.019,00 * 4.514.916,00 *

DEC 2001 13.833.383,00 * -3.839.636,00 *

Example 2 Using the MDX function AGGREGATE allows you to carry out multiple filtering at run time.

Page 560: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 556

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 Number of documents Open orders

JAN 2001 7.285.219,00 * 117,000 1.457.574,00 *

FEB 2001 1.739.881,00 * 75,000 764.598,00 *

MAR 2001 4.780.278,00 * 105,000 1.832.472,00 *

APR 2001 2.424.971,00 * 90,000 607.362,00 *

MAY 2001 3.396.595,00 * 108,000 899.562,00 *

JUN 2001 7.353.737,00 * 114,000 1.810.962,00 *

JUL 2001 9.072.158,00 * 142,000 2.409.090,00 *

AUG 2001 558.144,00 MIX 359,000 316.800,00 MIX

SEP 2001 8.229.915,00 * 135,000 3.163.524,00 *

OCT 2001 5.652.256,00 * 99,000 931.890,00 *

NOV 2001 10.243.235,00 * 114,000 3.999.390,00 *

DEC 2001 7.868.259,00 * 117,000 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

Page 561: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 557

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]

The following graphic displays the results table: The profit is displayed as is the predicted value taken from the linear regression calculation:

Profit Predict

JAN 2001 11.324.466,00 * 7991404,68

FEB 2001 7.767.949,00 * 8538385,53

MAR 2001 9.598.544,00 * 9085366,37

APR 2001 7.225.499,00 * 9632347,22

MAY 2001 9.216.444,00 * 10179328,06

JUN 2001 12.050.631,00 * 10726308,91

JUL 2001 14.757.033,00 * 11273289,76

AUG 2001 558.144,00 MIX 11820270,60

SEP 2001 14.834.377,00 * 12367251,45

OCT 2001 13.158.103,00 * 12914232,29

NOV 2001 17.673.019,00 * 13461213,14

DEC 2001 13.833.383,00 * 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:

Page 562: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 558

0,00

2.000.000,00

4.000.000,00

6.000.000,00

8.000.000,00

10.000.000,00

12.000.000,00

14.000.000,00

16.000.000,00

18.000.000,00

20.000.000,00

Jan 2

001

Feb 20

01

MAR 2001

Apr 20

01

MAY 2001

Jun 2

001

Jul 2

001

Aug 20

01

Sep 20

01

OCT 2001

Nov 20

01

DEC 2001

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 BI-specific 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 Property ID and Values

Type of DataSource

The DataSource type is always ‘multi-dimensional’.

ID: DBPROP_DATASOURCE_TYPE

Value: DBPROPVAL_DST_MDP

Flattening

Flattening is fully supported.

ID: MDPROP_FLATTENING_SUPPORT

Value: MDPROPVAL_FS_FULL_SUPPORT

Named Level

Levels with names are supported.

ID: MDPROP_NAMED_LEVEL

Value: MDPROPVAL_NL_NAMEDLEVELS

Join Cubes

Join Cubes are not supported.

ID: MDPROP_MDX_JOINCUBE

Value: MDPROPVAL_MJC_SINGLECUBE

Page 563: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 559

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:

● A maximum of 48 Dimensions, in addition to the MEASURES Dimension

● A maximum of one Hierarchy for each Dimension.

ID: MDPROP_AXES

Refreshing Cell Data

Refreshing cell data is not supported.

ID: MDPROP_AGGREGATECELL_UPDATE

Value: MDPROPVAL_AU_UNSUPPORTED

RangeRowsets

RangeRowsets are only read.

ID: MDPROP_RANGEROWSET

Value: MDPROPVAL_RR_READONLY

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

ID: MDPROP_MDX_SLICER

Value: MDPROPVAL_MS_MULTIPLETUPLES

Outer Reference

Outer reference is not supported.

ID: MDPROP_MDX_OUTERREFERENCE

Value: Zero

Using Attributes (MDX: Properties)

BI supports queries using dimension properties in a MDX statement.

ID: MDPROP_MDX_QUERYBYPROPERTY

Case Commands

Case commands are not supported.

ID: MDPROP_MDX_CASESUPPORT

Value: Zero

String Comparison

BI only supports the “equal” and “unequal” comparison operators for strings.

ID: MDPROP_MDX_STRING_COMPOP

Value: Zero

Descendants Flags

SELF, BEFORE and AFTER are supported in all combinations.

ID: MDPROP_MDX_DESCFLAGS

Value: MDPROPVAL_MD_SELF MDPROPVAL_MD_BEFORE MDPROPVAL_MD_AFTER

Set Functions

As well as the standard functions, the following functions are also supported:

ID: MDPROP_MDX_SET_FUNCTIONS

Value: MDPROPVAL_MSF_TOPPERCENT MDPROPVAL_MSF_BOTTOMPERCENT MDPROPVAL_MSF_TOPSUM

Page 564: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 560

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_DRILLDOWNMEMBERTOP MDPROPVAL_MSF_DRILLDOWNMEMBERBOTTOM MDPROPVAL_MSF_DRILLDOWNLEVELTOP MDPROPVAL_MSF_DRILLDOWNLEVELBOTTOM MDPROPVAL_MSF_DRILLUPMEMBER MDPROPVAL_MSF_DRILLUPLEVEL MDPROPVAL_MSF_YTD MDPROPVAL_MSF_QTD MDPROPVAL_MSF_MTD MDPROPVAL_MSF_WTD

Member Functions

As well as the standard functions, the following functions are also supported:

COUSIN, PARALLELPERIOD, OPENINGPERIOD, CLOSINGPERIOD.

ID: MDPROP_MDX_MEMBER_FUNCTIONS

Value: MDPROPVAL_MMF_COUSIN MDPROPVAL_MMF_PARALLELPERIOD MDPROPVAL_MMF_OPENINGPERIOD MDPROP_MMF_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

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

Formulas

WITH SET/MEMBER and CREATE SET/MEMBER are supported in the local and in the SESSION context.

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

Numerical Functions in SET Commands

BI supports statements with Dimensions.

ID: MDPROP_MDX_NONMEASURE_EXPRESSONS

Value: MDPROPVAL_NME_ALLDIMENSIONS

Page 565: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 561

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 Name in OLE DB for OLAP Specification

Characteristic values, hierarchy nodes, pre-calculated value sets

MEMBER_UNIQUE_NAME

Hierarchies HIERARCHY_UNIQUE_NAME

Formula variables Number values

Text variables 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])

Page 566: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 562

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 Number of Restrictions Restriction Columns

MDSCHEMA_SAP_VARIABLES 1 CUBE_NAME

Use DEFINE_GUID(MDSCHEMA_SAP_VARIABLES, 0xcaff2c30, 0x30d, 0x11d3, 0x87, 0x1, 0x0, 0x10, 0x5a, 0x18, 0x50, 0x2e);

Structure Column Name Type Indicator Description

CATALOG_NAME DBTYPE_WSTR Name of Catalog to which the Cube belongs

SCHEMA_NAME DBTYPE_WSTR Not supported

CUBE_NAME DBTYPE_WSTR Name of QUERY_CUBE to which the variable belongs

VARIABLE_NAME DBTYPE_WSTR Name of variable. A variable name can have leading zerosthis reason, the provider always returns the name with separators.

VARIABLE_CAPTION DBTYPE_WSTR A description (label or caption) associated with the variablethat is mainly used for the display.

VARIABLE_UID DBTYPE_GUID Variable GUID

VARIABLE_ORDINAL DBTYPE_I2 An ordinal number assigned to a variable in the group of variables for a Cube.

VARIABLE_TYPE DBTYPE_I2 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

Page 567: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 563

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 thetypes appearing in appendix A of the OLE DB ProgrammeReference.

CHARACTER_MAXIMUM_ LENGTH

DBTYPE_UI4 Maximum length of variable values having data type Chara

VARIABLE_PROCESSING_TYPE DBTYPE_UI2 Processing type for variable. The following value is possib

SAP_VAR_PROC_TYPE_USER_INPUT. You can manually enter values for the variable before executthe query.

With this processing type, only the variables are returned tOLE Db for OLAP interface.

For more information, see Variable Types anProcessing 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 sinvariable.

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 areasvariables in BI, see Details [Page 417].

VARIABLE_ENTRY_TYPE DBTYPE_UI2 Type that shows whether replacing variables is optional ormandatory:

The following values are possible for the entry type:

● SAP_VAR_INPUT_TYPE_OPTIONAL. Specifying avalue is optional for this variable.

● SAP_VAR_INPUT_TYPE_MANDATORY. You musspecify this variable. When no value is specified for variable, executing the Statement results in terminawith an error message.

● SAP_VAR_INPUT_TYPE_MANDATORY_NOT_INI

Page 568: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 564

These variables must be specified. When no value ispecified for the variable, executing the Statement results in termination with an error message. An initfield is not a valid entry.

For more information about the creation typevariables, 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 tQUERY_CUBE. You must select a value for hierarchy from this dimension.

REFERENCE_HIERARCHY DBTYPE_WSTR This column contains a HIERARCHY_UNIQUE_NAME forvariable type SAP_VAR_TYPE_MEMBER.

Note that the hierarchy must not be containethe 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 typdisplayed in the column DATA_TYPE.

DEFAULT_LOW_CAP DBTYPE_WSTR A description (label or caption) associated with the DefaultMember.

DEFAULT_HIGH Variant Either contains a default value for the variable or is ZEROis only important for variables with the selection type SAP_VAR_SEL_TYPE_INTERVAL and SAP_VAR_SEL_TYPE_SELECTION.

DEFAULT_HIGH_CAP DBTYPE_WSTR A description (label or caption) associated with the DefaultMember.

DESCRIPTION DBTYPE_WSTR 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

Page 569: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 565

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

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> : <variable_name> <sign> [<option>] <variable_value>

<sign> : INCLUDING | EXCLUDING

<option> : = | > | >= | < | <= | <>

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

Page 570: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 566

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 Features

MDDataProviderBW [Page 568] Methods used to browse BW metadata and master

Page 571: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 567

data

MDDataSetBW [Page 575] Methods used to execute multi-dimensional result sets and fetch data

The following graphic provides an overview of the methods for OLAP BAPI MDDataProviderBW:

MDDataProviderBW

GetCatalogs

GetCubes

GetDimensions

GetHierarchies

GetLevels

GetMeasures

GetMembers

GetProperties

GetVariables

The following graphic provides an overview of the methods for OLAP BAPI MDDataSetBW:

MDDataSetBW

CheckSyntax

CreateObject

DeleteObject

FindCell

FindTuple

GetAxisData

GetAxisInfo

GetCellData

SelectData

Page 572: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 568

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 meta- and master-data.

The following table contains details about the BAPI definition:

Object type BUS6110

Package RSR_MDX

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

Page 573: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 569

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

Page 574: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 570

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

Page 575: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 571

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]

Page 576: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 572

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

Page 577: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 573

● 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

Page 578: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 574

● 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]

Page 579: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 575

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 BUS6111

Package RSR_MDX

Component 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]

Page 580: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 576

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]

Page 581: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 577

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

Page 582: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 578

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]

Page 583: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 579

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]

Page 584: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 580

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 Export Parameters

AllProperties [Page 581] AggrExceptional [Page 584]

CatNam (Restriction: CAT_NAM) Catalogs [Page 585]

CubeNam (Restriction: CUBE_NAM) Cubes [Page 585]

CubeType (CUBE type) Dimensions [Page 586]

DimNam (Restriction: DIM_NAM) Hierarchies [Page 587]

DimUnam (Restriction: DIM_UNAM) Levels [Page 587]

HryNam (Restriction: HRY_NAM) Measures [Page 588]

HryUnam (Restriction: HRY_UNAM) Members [Page 589]

LvlNam (Restriction: LVL_NAM) OptionalProperties [Page 590]

LvlNumber [Page 581] Properties [Page 590]

LvlUnam (Restriction: LVL_UNAM) Return [Page 599]

MemCap (Restriction: MEM_CAP) Variables [Page 591]

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 Export Parameters

Axis (0-based number of axes in the dataset) AxisDimensions [Page 595]

Page 585: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 581

Cmd [Page 593] AxisInfo [Page 595]

CmdParams [Page 594] AxisLevels [Page 595]

CommandText [Page 594] Cell (ordinal number of cell in dataset)

EndCell (ordinal number of cell in dataset) CellData [Page 596]

EndRow (end row in dataset) Data [Page 597]

Members [Page 594] DataSetID (MD_COMMAND-Objekthandle: ID of a runtime object that was generated using the method MDDataSetBW.CreateObject [Page 576].)

StartCell (ordinal number of cell in dataset) DimPrptys [Page 597]

StartOrdinal (0-based ordinal number of an axis tuple)

Fltcolinfo [Page 598]

StartRow (Start row in dataset) MndtryPrptys [Page 598]

Trace [Page 594] 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

Page 586: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 582

Significance

Note the following special features of 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).

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

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 Description

PRPTY_NAM Property name

SIGN Field SIGN in structure of the SELECT-OPTIONS

Page 587: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 583

tables

● 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 Operator in SELECT OPTIONS and other expressions.

LOW Member name

HIGH 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 Description

PRPTY_NAM 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]

Page 588: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 584

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

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.

Page 589: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 585

For more information about exception aggregation, see Selection/Formula Properties [Page 450].

The parameter consists of a table with the following fields:

Name Description

CAT_NAM CATALOG name, to which the CUBE belongs

CUBE_NAM CUBE name

MES_UNAM Member unique name

MES_AGGREGATOR Key figure aggregation behavior

MES_AGGR_EXCEPTIONAL Key figure aggregation behavior with exception aggregation

MES_AGGR_REF_DIM 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 Description

CAT_NAM 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 Description

CAT_NAM CATALOG name, to which the CUBE belongs

CUBE_NAM CUBE name

CUBE_TYPE Type of CUBE

CUBE_UID CUBE unique ID (UUID) in compressed form

Page 590: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 586

CREATED_ON Time the (BW query) CUBE was created; time stamp in UTC format YYYYMMDDhhmmss.

LST_SCHEMA_UPD Time the (BW query) CUBE was last changed; time stamp in UTC format YYYYMMDDhhmmss.

SCHEMA_UPD_BY Last changed by: Name of person who last changed the CUBE- (BW query-) definition.

LST_DATA_UPD Time of last data load; time stamp in UTC format YYYYMMDDhhmmss.

DATA_UPD_BY Last changed by: Name of user who last loaded data

DSCRPTN 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 Description

CAT_NAM CATALOG name, to which the CUBE belongs

CUBE_NAM CUBE name

DIM_NAM 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 DIMENSION unique name

DIM_UID Unique ID (UUID) in compressed form

DIM_CAP Description (caption)

DIM_ORDINAL DIMENSION ordinal number within the CUBE

DIM_TYPE DIMENSION type (TIME,MEASURE)

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

Page 591: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 587

DFLT_HRY Default hierarchy unique name

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

CAT_NAM CATALOG name, to which the CUBE belongs

CUBE_NAM CUBE name

DIM_UNAM Dimension unique name

HRY_NAM Hierarchy name (uniquely identified with name, version, key day)

hienm30, version3, dateto8

HRY_UNAM Hierarchy unique name

HRY_UID Unique ID (UUID) in compressed form

HRY_CAP Caption

DIM_TYPE Dimension type (TIME, MEASURE)

HRY_CARDINALITY Dimension cardinality (estimated number of members)

DFLT_MEM Member unique name

ALL_MEM Member unique name

DSCRPTN Description

4.3.2.5.3.12 Export Parameter: Levels

Short text Result: LEVELS

Page 592: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 588

Significance The Levels export parameter returns DIMENSIONS as a result.

The parameter consists of a table with the following fields:

Name Description

CAT_NAM CATALOG name, to which the CUBE belongs

CUBE_NAM CUBE name

DIM_UNAM Dimension unique name

HRY_UNAM Hierarchy unique name

LVL_NAM Hierarchy level unique name

LVL_UNAM Hierarchy level unique name

LVL_UID Unique ID (UUID) in compressed form

LVL_CAP Caption

LVL_NUMBER Distance of member from root node (root = 0)

LVL_CARDINALITY Level cardinality (estimated number of members)

LVL_TYPE Level type (year,month,day..)

DSCRPTN 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 Description

CAT_NAM CATALOG name, to which the CUBE belongs

CUBE_NAM CUBE name

MES_NAM 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 Member unique name

MES_CAP Description (caption)

Page 593: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 589

MES_UID Unique ID (UUID) in compressed form

MES_AGGREGATOR MEASURE aggregation behavior (BW InfoObject with type key figure)

DATA_TYPE Data type in ABAP dictionary

NUM_PREC Maximum precision

Maximum precision is only specified for numerical data types

NUM_SCALE Scaling factor (where applicable)

MES_UNITS 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 Description

LVL_NUMBER Distance of member from root node (root = 0)

MEM_NAM Member name

MEM_UNAM Member unique name

MEM_TYPE Member type

REGULAR, ALL, MEASURE

MEM_UID Unique ID (UUID) in compressed form

MEM_CAP Caption

MEM_ORDINAL General reference field for numerations

CHILDREN Number of children for member

PARENT_LVL Distance of member from root node (root = 0)

PARENT_UNAM Member unique name

Page 594: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 590

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 Description

MEM_ORDINAL General reference field for numerations

PRPTY_NAM Master data attribute

PRPTY_VAL 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 Description

CAT_NAM CATALOG name, to which the CUBE belongs

CUBE_NAM CUBE name

DIM_UNAM Dimension unique name

HRY_UNAM Hierarchy unique name

LVL_UNAM Hierarchy level unique name

MEM_UNAM Member unique name

PRPTY_TYPE Property type

MEMBER, CELL

PRPTY_NAM Property name

PRPTY_CAP Caption

Page 595: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 591

DATA_TYPE Data type in ABAP dictionary

CHR_MAX_LEN Maximum length of a value in characters or bytes

CHR_OCT_LEN Maximum length of an attribute value in bytes, where a char is involved

NUM_PREC Maximum precision

Maximum precision is only specified for numerical data types

NUM_SCALE Scaling factor (where applicable)

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

CAT_NAM CATALOG name, to which the CUBE belongs

CUBE_NAM Name of CUBE, to which the variable belongs

VAR_NAM Variable technical name (including the separator ‘[‘)

VAR_CAP Caption

VAR_UID Unique ID (UUID) in compressed form, variable GUID

VAR_ORDINAL General reference field for numerations; An ordinal number assigned to a variable in the group of variables for a CUBE.

VAR_TYPE Variable type; this field corresponds to the VARIABLE_TYPE column of the SAP VARIABLES Schema-rowset The following values are possible:

● SAP_VAR_TYPE_MEMBER

● SAP_VAR_TYPE_HIERARCHY

● SAP_VAR_TYPE_NUMERIC

Page 596: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 592

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 Maximum length of a variable value in characters or bytes

VAR_PROC_TYPE 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_NOT_INITIAL

Page 597: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 593

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 Member unique name, default value for variable (if available)

DFLT_HIGH Member unique name, default value for variable (if available)

DFLT_LOW_CAP Description for default value for variable (if available)

DFLT_HIGH_CAP Description for default value for variable (if available)

DSCRPTN 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 Description

CMD_ID MDX processor command internal ID

Page 598: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 594

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 Description

CMD_PARAM1 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 Description

LINE 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 Description

MEM_UNAM 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

Page 599: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 595

MSG_TYPE Type of a debug- (trace-) message of the parser

MSGNR Message number

TXT 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 Description

AXIS 0-based number of axes in the dataset

DIM_UNAM DIMENSION unique name

DIM_KEY 0-based ordinal number of a DIMENSION on an axis

DIM_PRPTY_COUNT 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 Description

AXIS 0-based number of axes in the dataset

DIMS Counter for the number of dimensions on an axis

COORDINATES 0-based counter for the number of tuples on an axis

4.3.2.5.3.25 Export Parameter: AxisLevels

Significance

Page 600: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 596

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 Beschreibung

I_AXIS 0-based number of axes in the dataset

DIM_KEY 0-based ordinal number of a DIMENSION on an axis

LVL_KEY 0-based ordinal number of a hierarchy level (LEVEL) modeled onto an axis

LVL_UNAM 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 Beschreibung

CELL_ORDINAL Ordinal number of a dataset cell

VALUE String-representation of a Float-figure

FORMATTED_VALUE Formatted value of a cell

VALUE_TYPE

CURRENCY Currency key, dependent on QVKF (Quantity Value Key Figure)

UNIT Unit key, dependent on QVKF (Quantity Value Key Figure)

The unit for a unit key is required with the dimension key figures amount and price.

QVKF Grouping key figures

NUM_SCALE Number scaling factor

NUM_PREC Number of decimal places for the output

CELL_STATUS Status of a cell

• E (empty)

• N (null)

BACK_COLOR Background color

Page 601: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 597

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 Beschreibung

COLUMN Ordinal number of a cell in the dataset, column

ROW Ordinal number of a cell in the dataset, row

DATA Member unique name

VALUE_DATA_TYPE Data type in ABAP dictionary

CELL_STATUS 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 Description

LVL_KEY 0-based ordinal number of a hierarchy level projected onto an axis

PRPTY_NAM Master data attribute

DATA_TYPE Data type in ABAP dictionary

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

Page 602: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 598

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 Description

COL_ORDINAL General reference field for numerations

DATA_TYPE Data type in ABAP dictionary

CHR_MAX_LEN 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 Description

TUPLE_ORDINAL 0-based ordinal number of an axis tupel

DIM_KEY 0-based ordinal number of a DIMENSION on an axis

MEM_UNAM Member unique name

MEM_CAP Caption

LVL_UNAM Hierarchy level unique name

LVL_NUMBER Distance of member from root node (root = 0)

CHILDREN Number of children for member

DRILLED_DOWN Indicator determining whether member is in drilldown state in hierarchy

PARENT_SAME_AS_PREV Indicator determining whether parent node of this node is identical to parent node of previous member

Page 603: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 599

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 Description

DIM_KEY 0-based ordinal number of a DIMENSION on an axis

PRPTY_NAM PROPERTY name

PRPTY_KEY 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 Description

TUPLE_ORDINAL 0-based ordinal number of an axis tuple

PRPTY_KEY Numerical key having three digits

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

Page 604: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 600

Name Description

TYPE 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 Message, message class

NUMBER Message, message number

MESSAGE Message text

LOG_NO Application log: Log number

LOG_MSG_NO Application log: Message number running internally within log

MESSAGE_V1

MESSAGE_V2

MESSAGE_V3

MESSAGE_V4

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

PARAMETER Name of parameter in which the error message occurred

ROW Row in parameter in which the error message occurred

FIELD Field in parameter in which the error message occurred

SYSTEM 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].

Page 605: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 601

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 Microsoft’s concept of Universal Data Access:

ICommandIRowsetISession

OLE DB OLE DB OLE DB OLE DBOLE DB

for OLAP

Applications

ActiveX Data Objects (ADO) ADO MD

Multi-dimensional

DataHTMLRDBMSTable

CalculationEmail

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.

Page 606: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 602

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 Microsoft‘s 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:

Page 607: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 603

● 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 withOLE DB for OLAP-driver forSAP BusinessInformationWarehouse

SAP BusinessInformationWarehouse- Server -

OLE DB Objects

ADO

ConsumerOLE DB Objects

DatasetObject

Third PartyClient

OLAP-ProcessorOLAP-Processor

Staging EngineStaging Engine

OLAP BAPIs

DatabaseMetadataRepository

RFC

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 Microsoft’s 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.

Page 608: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 604

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 Description Mdrmsap.dll SAP BW OLE DB doe OLAP provider DLL

Mdrmdlg.dll Service DLL used to create a connection to the SAP server.

Scerrlkp.dll Error handling DLL

Mdxpars.dll MDX parser DLL

Librfc32.dll SAP RFC library

Wdtlog.ocx SAP RFC logon dialog

Saplogon.ini 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 Description Provider Technical name, under which the SAP components

are installed: MDrmSAP.

DataSource System name This name must concur with the name in SAP logon.

UserID User name in system

Password User password in system

SFC_CLIENT Number of productive client in BW server system

SFC_LANGUAGE Logon language

A typical example of a provider string is as follows:

DataSource=JXX;UserID=MyName;Password=MyPassword;Provider=MDrmSAP; SFC_CLIENT=005;SFC_LANGUAGE=DE

Page 609: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 605

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 Microsoft’s 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].

Page 610: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 606

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 InfoCube-Name/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.

Page 611: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 607

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 Description

Discover 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,

Page 612: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 608

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

Page 613: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 609

XML for Analysis:Provider

Implementatiom

Client

User Interface

ClientFunctions

DiscoverandExecuteQueries

Internetor LAN

Internetor LAN

DiscoverandExecuteQueries on Server

SOAP

SOAP

HTTP

HTTP

DiscoverExecute

Data

Provider of Web ServiceClient of Web Service

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 Open Standards in the SDK

Purpose

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.

Page 614: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 610

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 Sun’s J2EE platform, the BI Java SDK provides an object-oriented framework for building multi-tier, Web-centric analytical applications that are:

● Portable

● Highly scalable

● Secure

● Reusable component-based

SAP’s 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 NetWeaver’s Web Application Server, which provides additional enhancements to the following areas of J2EE-standard compliance:

● Stability

Page 615: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 611

● Serviceability

● Performance and Scalability

● Improved Administration

● Replacement of the internal database by open JDBC.

J2EE Connector Architecture

Sun’s 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 SDK’s needs for a pluggable driver-based architecture, required for achieving the openness necessary to integrate with a variety of data sources.

SAP NetWeaver’s 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 Relational-based 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 SAP’s 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

Page 616: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 612

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 SDK’s 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 Group’s (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.

Page 617: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 613

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 Sun’s 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 SDK’s 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 meta-modeling 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.

Page 618: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 614

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 OMG’s meta-metamodel, the MOF.

● In the SDK, implementing the metadata services exposed by the connectors as full-blown 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

Microsoft’s 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. Microsoft’s 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 SDK’s 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 BI Java Connectors

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

Page 619: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 615

Scenario 1 Scenario 2 Scenario 3 Scenario 4

BI Java Connectors

XMLASAPQuery JDBC ODBO

Portal System Landscape

Portal Connector Framework

Metamodel Repository

J2EE

J2EE Visual AdministratorFor each runtime scenario, UDI and MMR need to be

deployed (AS-JAVA Usage Type in

NW2004s)

For UD Connect scenarios, configure connector

properties in Visual Admin

Visual Composer

BEx WebBI Platform & Data Warehouse

UD Connect (ABAP)

BI JavaSDK

For BEx & VC scenarios, create

and configure systems via the

Portal Connector Framework

UDI

For BI Java SDK scenarios, use built-in

connector JARs @ designtime; configure

properties in the Visual Admin @ runtime

MMR

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

Page 620: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 616

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 Modeler’s 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 Access To Technology Based On

System Requirements

BI JDBC Connector Relational data sources: over 170 JDBC drivers

Examples:

Teradata, Oracle, Microsoft SQL Server, Microsoft Access, DB2, Microsoft Excel, text files such as CSV

Sun's JDBC (Java Database Connectivity) -- the standard Java API for Relational Database Management Systems (RDBMS)

JDBC driver for your data source

BI ODBO Connector OLAP data sources: OLE DB for OLAP-compliant data sources

Examples:

Microsoft Analysis Services, SAS, Microsoft PivotTable Services

Microsoft's OLE DB for OLAP -- the established industry-standard OLAP API for the Windows platform

● Microsoft Windows 2000 / NT / XP or greater

● Microsoft Data Access Components (MDAC) 2.6 or greater

Page 621: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 617

● ODBO driver for your data source

BI SAP Query Connector

SAP operational applications

Examples:

Data in transactional systems such as Ad-Hoc, and Operational Reporting

SAP Query -- a NetWeaver component that allows you to create custom reports without any ABAP programming knowledge

SAP JCo

BI XMLA Connector XMLA-compliant OLAP data sources

Examples:

MS Analysis Services, Hyperion, MicroStrategy, and SAP BW 3.x

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.

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 Server’s 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

Page 622: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 618

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 connector’s 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 (you’ll 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]

Page 623: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 619

○ 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 source’s 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.

Page 624: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 620

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 URL Successful Result

BI JDBC Connector

http://<host>:<port>/TestJDBC_Web/TestJDBCPage.jsp A list of tables is displayed

BI ODBO Connector

http://<host>:<port>/TOdbo/servlet/TestOdbo A list of cubes is displayed

BI SAP Query Connector

http://<host>:<port>/TSapq/servlet/TestSapq A list of tables is displayed

BI XMLA Connector

http://<host>:<port>/TXmla/servlet/TestXmla 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 JNDI Name

BI JDBC Connector SDK_JDBC

BI ODBO Connector SDK_ODBO

BI SAP Query Connector SDK_SAPQ

BI XMLA Connector 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.

Page 625: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 621

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 source’s 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 Description Examples

UserName Data source username.

User must have at least read access to the data source.

(your user name)

Password Data source password. (your password)

Page 626: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 622

URL URL string specifying the location of a database (used by the java.sql.DriverManager to determine which driver to use).

jdbc:inetdae7:domain:port?database=mydatabase

DriverName Class name of the JDBC driver used for this connection.

com.inet.tds.TdsDriver

FixedCatalog Restriction of metadata access to metadata contained in specified catalog. Optional.

null (no restriction)

xyz (restrict access to catalog “xyz”)

FixedSchema Restriction of metadata access to metadata contained in specified schema. Optional.

null (no restriction)

xyz (restrict access to schema “xyz”)

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

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 Sun’s 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 ODBO-compliant OLAP data sources such as Microsoft Analysis Services, SAS, and Microsoft PivotTable Services. This connector is fully compliant with the J2EE Connector Architecture (JCA).

Page 627: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 623

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 Description Examples

UserName Data source user name.

User must have at least read access to the data source.

(your user name)

Password Data source password. (your password)

ConnString Connection string information such as provider name, file name, remote provider, remote server, and URL.

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

Local cube:

Provider=MSOLAP;Location=

"c:\public\SalesOverview.cub"

Microsoft Analysis Server:

Provider=MSOLAP;data source=palbiteam

BW OLAP provider:

Data Source=BWP;

Provider=MDrmSAP;

SFC_CLIENT=010;

SFC_LANGUAGE=EN

Page 628: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 624

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.

EN=English

DE=German

LogonAsUserID

(see note below table)

Username of a given windows domain account.

Optional. Empty string means property not set.

(your user name)

LogonAsUserPassword

(see note below table)

Password for a given windows domain account.

Optional. Empty string means property not set.

(your password)

LogonAsUserDomain

(see note below table)

Windows domain account name.

Optional. Empty string means property not set.

(a Windows domain name)

Using a specific Windows domain account:

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

Page 629: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 625

● 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 Microsoft’s ADO, see: http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/dasdk/mdac3sc7.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 Description Examples

UserName Data source user name.

User must have at least read access to the data source.

(your user name)

Password Data source password. (your password)

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

EN=English

DE=German

QueryArea Single-character value (char) specifying whether

X=global

Page 630: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 626

the SAP Query area is global (client-independent) or local (client-dependent). Default value is local.

[blank]=local

Client Client specified as a three-digit integer.

000

MessageServer Hostname for message server.

server1.mydomain.com

ApplicationServer Hostname for application server.

server1.mydomain.com

SystemNumber Two-digit integer specifying the SAP system (R/3) instance.

00

ServerGroup Logon group for load balancing.

A string, such as PUBLIC or SPACE

R3Name SAP system (R/3) name. 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

Page 631: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 627

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 Description Examples

UserName Data source user name.

User must have at least read access to the data source.

(your user name)

Password Data source password. (your password)

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

EN=English

DE=German

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.

SAP BI XMLA provider -- http://[domain:port]/sap/

bw/xml/soap/xmla

Microsoft Analysis Server --

http://[domain:port]/

isapi/msxisapi.dll

DataSource Data source info property. Local Analysis Server

Page 632: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 628

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 Sign-On 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 Sun’s 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 Access to External Data Sources

Use 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].

Page 633: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Using Connectivity and Interoperability

Enterprise Reporting, Query, and Analysis 629

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 SAP’s 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:

UDI

XMLASAPQuery JDBC ODBO

EP System Landsape

EP Connector Framework

J2EE

J2EE Visual Admin

BEx Web Visual Composer

BI Platform & Data Warehouse

UD Connect (ABAP)

BI JavaSDK

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

Page 634: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Applying Extensibility

Enterprise Reporting, Query, and Analysis 630

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.

Page 635: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Applying Extensibility

Enterprise Reporting, Query, and Analysis 631

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.

Page 636: Enterprise Reporting,Query,And Analysis

Core Development Tasks March 2006

Enabling Globalization

Enterprise Reporting, Query, and Analysis 632

● 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].

Page 637: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 633

5 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 Analysis Options

Defining queries You use the query monitor to test queries. See Query Monitor [Page 633].

Developing BI content You use the BI Content Analyzer to check the consistency of BI Content. See BI Content Analyzer [Page 649].

Customer exits and BAdIs You use the ABAP workbench tools to analyze enhancements. For more information, see the Developers’ Guide for ABAP development.

5.1.1 Query Monitor

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

Page 638: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 634

View

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 Function

Execute 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

Page 639: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 635

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 Non-cumulative 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]).

Page 640: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 636

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.

Page 641: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 637

Parallel Processing

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

Page 642: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 638

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 pre-aggregated data, is least supported in the Query to read all data at once mode.

Page 643: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 639

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

Page 644: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 640

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

Page 645: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 641

Without swapping

With swapping per application server

Cross-application server

Removal Yes (LRU algorithm and delete)

Yes (LRU algorithm and swapping)

No No

Swapping No Yes No No

Global cache size

Restricted Main memory restricted, outsourced part not restricted

Unrestricted Unrestricted

File name No With swapping in flat files: The data removed is to be found under the file name

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

Page 646: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 642

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 floating-point 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. From the SAP Easy Access Menu, choose Modeling → Object Maintenance → InfoObject.

ii. Enter the name of the key figure and choose Maintain.

iii. 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].

Page 647: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 643

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 sub-queries 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.

Page 648: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 644

● 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

Page 649: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 645

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 Virtual InfoObjects

ODS Object Inventory Statistics Prepayment Counter

Technical name: 0UCS_DS02

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

Page 650: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 646

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)

Page 651: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 647

● 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

Page 652: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 648

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.

Page 653: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 649

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 What You Need to Know

Display Gen. Report 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 BI Content Analyzer

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

Page 654: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 650

System B System C

DataStore Object

System A

Local Results Table

ConsolidatedView

Local View of the System

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

Page 655: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 651

or (if check data from other BI system has already been loaded):

ii. individual BI systems connected using the DataStore object

iii. 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. Very high (1)

ii. High (2)

iii. Medium (3)

iv. Low (4)

v. All problems

vi. 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. Package / Check / Type / Object

ii. Type / Check / Object

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

Page 656: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 652

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

Page 657: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 653

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.

Page 658: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 654

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.

Page 659: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 655

The Global Settings for BI Content Analyzer view appears.

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.

Page 660: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 656

○ 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].

Page 661: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 657

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. Development system

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

Page 662: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 658

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

Page 663: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 659

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.

Page 664: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 660

2. Enter the package of your choice.

3. Repeat step 2 if you want to release more packages.

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.

Page 665: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 661

○ 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 Assigned Check Categories Categ. ID Standard Priority

Object Status: A Version Newer Than D Version

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

SAD 1 UNIT

Object Status: D Version Newer Than A Version

● Content activation failed or has not yet taken

SDA 1

Page 666: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 662

place.

Object Status: No A Version Available

● Content activation failed or has not yet taken place.

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

SND 1

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 Assigned Check Categories Categ. ID Standard Priority

Object Collection – Collection Error

CCE should be executed for test systems.

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

CCE 1 CE

Object Collection – Temporarily Saved Objects

COT should be executed for development systems.

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

COT 1

Type: Checking for Inconsistent Naming Conventions(Multi)

Type ID Assigned Check Categories Categ. ID Standard Priority

Page 667: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 663

NC Naming Convention Ignored

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

ANC 2

Type: Checking for an Inactive Transfer Structure

Type ID Assigned Check Categories Categ. ID Standard Priority

TA Inactive Transfer Structures

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

ATA 4

Type: Checking for InfoObjects without an InfoObject Catalog

Type ID Assigned Check Categories Categ. ID Standard Priority

IC InfoObject without InfoObject Catalog

● 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

AIC 2

Type: Checking for Inconsistent Roles

Type ID Assigned Check Categories Categ. ID Standard Priority

RL Roles to Which Unavailable Objects Are Assigned

● A object was deleted but not its assignment to a role. This leads to inconsistencies and

ARL 1

Page 668: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 664

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 Assigned Check Categories Categ. ID Standard Priority

DG Query Elements with Duplicate GUIDs

● 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

ADG 2

Page 669: Enterprise Reporting,Query,And Analysis

Ensuring Quality March 2006

Testing

Enterprise Reporting, Query, and Analysis 665

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.

● 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 Assigned Check Categories Categ. ID Standard Priority

BI Routines with Fixed, Programmed Structures (/BI*/*)

● 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

ABI 1

Page 670: Enterprise Reporting,Query,And Analysis

Reference March 2006

Logging and Tracing

Enterprise Reporting, Query, and Analysis 666

(c_tabname).

assign lt_data->* to <t_data>.

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.

6 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 Use

Web Design API For enhancing Web templates and HTML pages of Web applications

BI Java SDK API Use

OLAP metadata API For accessing OLAP metadata

OLAP query API For defining queries on an OLAP data source

Relational metadata API For accessing relational metadata

Relational query API For defining queries on an relational data source

Uniform ResultSet API Allows access from a relational data source to a relational result set, and from an OLAP data source to an OLAP result set

Page 671: Enterprise Reporting,Query,And Analysis

Copyright March 2006

Web Application Examples

Enterprise Reporting, Query, and Analysis 667

6.2 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]

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.

7 Copyright

© Copyright 2006 SAP AG. All rights reserved.

7.1 SAP Copyrights and Trademarks SAP Library document classification: PUBLIC

Page 672: Enterprise Reporting,Query,And Analysis

Copyright March 2006

SAP Copyrights and Trademarks

Enterprise Reporting, Query, and Analysis 668

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.