Advanced BEx Web Application Designer Concepts. Prakash Darji NetWeaver RIG



Similar documents
Download and Install Crystal Reports for Eclipse via the Eclipse Software Update Manager

Implementing Outlook Integration for SAP Business One

CREATING A PURCHASE ORDER STORE RECORD WEB SERVICE

3 rd party Service Desk interface

SAP NetWeaver MDM 5.5 SP3 SAP Portal iviews Installation & Configuration. Ron Hendrickx SAP NetWeaver RIG Americas Foundation Team

Integrate Third Party Collaboration Tools in the SAP NetWeaver Portal. SAP NetWeaver Product Management

How To Configure MDM to Work with Oracle ASM-Based Products

Ronald Bueck SBO Product Definition

SAP GRC Access Control: Background jobs for risk analysis and remediation (formerly Virsa Compliance Calibrator)

E-Recruiting Job Board Integration using XI

Budget Control by Cost Center

Configuring Distribution List in Compliant User Provisioning

Developing Applications for Integration between PI and SAP ERP in Different Network Domains or Landscapes

Backup & Restore with SAP BPC (MS SQL 2005)

OData in a Nutshell. August 2011 INTERNAL

How to Set Up an Authorization for a Business Partner in Customer Relationship Management (CRM) Internet Sales: Sample Case

Posting Messages into XI

SAP NetWeaver 7.0 Migration of Business Explorer and BI Integrated Planning. Tobias Kaufmann SAP NetWeaver RIG Business Intelligence

Performance Best Practices Guide for SAP NetWeaver Portal 7.3

USDL XG WP3 SAP use case. Kay Kadner

Monitoring and Management of Landscapes with SAP NetWeaver Administrator. Dieter Krieger, SAP AG

User Experience in Custom Apps

Integration of Universal Worklist into Microsoft Office SharePoint

SAP Central Process Scheduling (CPS) 8.0 by Redwood

How to configure BusinessObjects Enterprise with Citrix Presentation Server 4.0

SAP NetWeaver 7.0 Migration of Business Explorer and BI Integrated Planning

How to Configure Access Control for Exchange using PowerShell Cmdlets A Step-by-Step guide

SAP Sales and Operations Planning Software Product (xsop)

SAP Service Tools for Performance Analysis

How to Configure and Trouble Shoot Notification for Process Control 2.5

Methodology to Implement SAP Process Integration

Xcelsius Dashboards on SAP NetWaver BW Implementation Best Practices

Analyzing Sales Data for Choosing Forecast Strategies

Accounts Receivable. SAP Best Practices

How to Create Web Dynpro-Based iviews. Based on SAP NetWeaver 04 Stack 09. Jochen Guertler

SAP Business ByDesign Reference Systems. Scenario Outline. SAP ERP Integration Scenarios

Intelligent Business Operations Chapter 1: Overview & Strategy

DBA Cockpit for Oracle

Extract Archived Data from SAP ERP

Utilities for downloading and uploading OO ABAP classes in XML format

RUN BETTER Become a Best-Run Business with Remote Support Platform for SAP Business One

Ariba Network Integration to SAP ECC

Sales Rush Sales Order Processing S01- Lean Baseline Package. SAP Lean Baseline Package Version: V1.500 Country: UK Language: EN Date: February 2006

SOP through Long Term Planning Transfer to LIS/PIS/Capacity. SAP Best Practices

prioritize XI messages on integration server

Roster Configuration (Payroll) in SAP ECC 6.0 Tips & Tricks

mysap ERP Talent Management Dr. Christian Acosta-Flamma

How To... Call BEx Web Applications from SAP BusinessObjects Dashboards (Xcelsius) and vice versa

UI Framework Simple Search in CRM WebClient based on NetWeaver Enterprise Search (ABAP) SAP Enhancement Package 1 for SAP CRM 7.0

How to Schedule Report Execution and Mailing

How To Balance In Sap Bw

Debugging Portal Applications

Integration of SAP central user administration with Microsoft Active Directory

SAP Master Data Governance- Hiding fields in the change request User Interface

Matthias Steiner SAP. SAP HANA Cloud Platform A guided tour

Table of Contents. How to Find Database Index usage per ABAP Report and Creating an Index

Using SAP Logon Tickets for Single Sign on to Microsoft based web applications

UI Framework Task Based User Interface. SAP Enhancement Package 1 for SAP CRM 7.0

Third Party Digital Asset Management Integration

Problems with your Data Model in SAP NetWeaver MDM Do s and Don ts

Production Subcontracting (External Processing) SAP Best Practices

K in Identify the differences between the universe design tool and the information design tool

Next Generation Digital Banking with SAP

Process Archiving using NetWeaver Business Process Management

R/3 and J2EE Setup for Digital Signature on Form 16 in HR Systems

Alert Notification in SAP Supply Network Collaboration. SNC Extension Guide

Integration of SAP Netweaver User Management with LDAP

Unified Service Description Language Enabling the Internet of Services

SAP Business One for iphone and ipad. Version 1.5.x January 2012

SAP NetWeaver: Customer Conference Call. SAP NetWeaver Product Management

Business One in Action - How can we post bank fees and charges while posting Incoming or Outgoing Payment transactions?

Enabling Full-Text Search for Business Objects in mysap ERP

Understanding HR Schema and PCR with an Example

SAP NetWeaver BRM 7.3

Enterprise Software - Applications, Technologies and Programming

Portfolio and Project Management 5.0: Excel Integration for Financial and Capacity Planning

Installation Guide Customized Installation of SQL Server 2008 for an SAP System with SQL4SAP.VBS

How To Use the ESR Eclipse Tool with the Enterprise Service Repository

How To... Integrate Custom Formulas into the Formula Builder

Global Transport Label - General Motors -

How to Create a Support Message in SAP Service Marketplace

Maintaining Different Addresses and Ids for a Business Partner via CRM Web UI

SAP CCMS Monitors Microsoft Windows Eventlog

SAP NetWeaver MDM 7.1 Features at a Glance. November, 2011

How To... configure and execute Business Process Flows in SAP BusinessObjects Planning and Consolidation 7.5 version for SAP NetWeaver

Single Sign-On between SAP Portal and SuccessFactors

UI Framework Logo exchange without skin copy. SAP Enhancement Package 1 for SAP CRM 7.0

Business Requirements... 3 Analytics... 3 Typical Use Cases... 8 Related Content... 9 Copyright... 10

Duet Enterprise Add SAP ERP Reports and SAP BI Queries/Workbooks to Duet Enterprise Configuration

SAP Portfolio and Project Management

AC 10.0 Customizing Workflows for Access Management

Application Lifecycle Management

How To... Migrate Custom Portal Applications to SAP NetWeaver 7.3

SAPFIN. Overview of SAP ERP Financials COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)

How To Improve Your Business Process With Sap

SAP xapp Resource and Portfolio Management (SAP xrpm)

Integrating Easy Document Management System in SAP DMS

Siteco Relies on SDN for its SAP CRM 5.0 Upgrade

BW Workspaces Use Cases

ERP Quotation and Sales Order in CRM WebClient UI Detailed View. SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA

Transcription:

Advanced BEx Web Application Designer Concepts Prakash Darji NetWeaver RIG

Overview API Commands, API Instructions, and Functions Scripting Web Item & XPATH Statements Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

Overview API Commands, API Instructions, and Functions Scripting Web Item & XPATH Statements Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

SAP Business Explorer Suite SAP NetWeaver Portal SAP Business Explorer Suite (BEx) BEx Broadcaster BEx Web BI Pattern BEx Analyzer BEx Web Analyzer BEx Web Application Designer BEx Report Designer MS Excel Add-in BI Consumer Services 3rd Party BI SAP NetWeaver BI Info Provider BEx Query Designer SAP AG 2006, Title of Presentation / Speaker Name / 4

Web Application Designer - Designing a Web Application Designing a Web Application Web application design takes place in the Business Explorer (BEx) Web Application Designer, a Visual Basic.NET-based, Unicode-compliant tool. Model-driven BI application building Wizards for charts, maps, command editing Wizard for layout elements (e.g. buttons) Syntax Auto-Complete support for Web API developers Easy integration of native HTML commands New layout elements (Tab strips etc.) New Web items New chart types, e.g. GANTT chart, MTA chart Design of planning aware business applications SAP AG 2006, Title of Presentation / Speaker Name / 5

Web Items and Properties Area in WAD Grouping of web items Standard - most frequently used items Advanced - used less often Miscellaneous - special items Item properties are grouped as well Display all properties affecting the rendering of the item such as width, height and visibility Internal Display all properties relating to item specific rendering, i.e. alternate table row styles for the analysis item Behavior item specific behavior Data Binding item specific settings such as assignment of data provider or specification of characteristics for a filter pane SAP AG 2006, Title of Presentation / Speaker Name / 6

Selection of Web Items Button Group Display a group of Buttons where each button can execute one or more commands (e.g. Filter by region) Tab Pages Item Each tab page is assigned exactly one web item If you want to group multiple Web items on a tab page, use the Container or Container Layout Web item and assign it to the tab page Container Collection of your own HTML code or an assortment of Web items E.g. within a tab page you may want to organize your HTML for each tab Report Item Embed reports created with the new BEx Report Designer directly in your web application SAP AG 2006, Title of Presentation / Speaker Name / 7

Selection of Web Items Property Pane Item Before, web item properties could only be changed at design time or at run time via the Web API The property pane now allows the user to change web item properties at runtime Filter Pane Enables the display of multiple filter dropdown boxes for a data provider Selections can be made automatically, can be predefined or made at run time using drag & drop Group Group one or more web items in three parts (caption, toolbar and content area) Documents Documents of all formats can now be embedded in place. No need to create frames or iframes in the Web application Online displaying, editing & creation of documents Use KM services on documents stored on the BI server via the BW repository managers SAP AG 2006, Title of Presentation / Speaker Name / 8

Web Application Designer: Command Wizard Command Wizard Leveraging the power of the WEB API in an easy & intuitive fashion Reducing the need for customer Java scripting Finally, specify needed information for your command and finish by clicking OK (example: command Export Web Application ). SAP AG 2006, Title of Presentation / Speaker Name / 9

Command Wizard Example: Calling Conditions Dialog With the Calling Conditions Dialog command you can create or change a condition. SAP AG 2006, Title of Presentation / Speaker Name / 10

Web Application Designer: Changed Web Items (1) Dropdown Box Merged with Query View Selection web item, thus allowing the selection of characteristic values to filter data as well as navigating among different query views User definable entries with associated Web API commands The ONLY_VALUES parameter is no longer supported The parameters VIEW_DD_USE_BUTTONS and VIEW_DD_BUTTONS_IN_ROWS from the Query View Selection Web item are no longer supported. Use the new Button Group web item instead Navigation Area Supersedes the Navigation Block web item, supporting Drag & Drop to change the navigational state Info Field Replaces the Filter and Text Elements web items Text Item Enhances the SAP NetWeaver 2004 Label item by allowing the display of language dependent text SAP AG 2006, Title of Presentation / Speaker Name / 11

Web Application Designer: Changed Web Items (2) Analysis Item Formerly known as the Table Item New capability to sort Now supports drag & drop to change the navigational state Supports select and multiselect of rows and columns SAP AG 2006, Title of Presentation / Speaker Name / 12

Web Application Designer: Replaced Web Items Role Menu Replaced by the role-based display of content in the SAP NetWeaver Portal. Alert Monitor Replaced by the Universal Worklist (UWL) in the SAP NetWeaver Portal. With the integration of information broadcasting into the Alert Framework, this allows all alerts to be monitored centrally with a consistent user interface, regardless of origin. Ad hoc Query Designer Replaced by the BEx Web Analyzer. Broadcaster Is now available as an iview in the SAP NetWeaver Portal and thus can be assigned to pages and roles. SAP AG 2006, Title of Presentation / Speaker Name / 13

Architecture of Web Application Technology SAP NetWeaver 2004s Web Template <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="ztime_rep02" text="ztime_rep02" /> </bi:initial_state> </bi:query_view_data_provider> <bi:template_parameters name="template_parameters" /> <bi:script_item name="script_item_1" designwidth="100" designheight="100" > <bi:script value="bilargedata:s04ng1iuvmq1cf9p2cmkdylx2" /> </bi:script_item> <bi:analysis_item name="analysis_item_1" designwidth="400" designheight="200" > <bi:data_provider_ref value="dp_1" /> </bi:analysis_item> <!-- insert data providers, items and other template content here --> </body> </html> </bi:bisp> <html xmlns="http://www.w3.org/tr/rec-html40"> <head > <!-- *** Automatic Head Intermixture Start *** -->... /irj/portalapps/com.sap.portal.design.urdesigndata/themes/portal/* <!-- *** Include Cascading Style Sheets *** -->... <!-- *** #1 Pre-Include Javascript *** -->... <!-- *** #2 Include Javascript *** --> /irj/portalapps/com.sap.ip.bi.web.portal.mimes/web.scripting/resources/js/*... <!-- *** #3 Javascript Initialization *** --> /irj/portalapps/com.sap.ip.bi.web.portal.mimes/*... <!-- *** #4 Javascript After Body Load *** -->... <!-- *** Javascript Initialization End *** -->... <!-- *** Automatic Head Intermixture End *** --> <title >Netweaver BI Web Application</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" ></meta> </head> <body onload="sapbi_page.initializepage()" class="urbdystd urtrcbodybox urtrcbodyboxmrg"> <!-- *** Automatic Body Intermixture Start *** -->... <!-- *** Automatic Body Intermixture End *** -->... <!-- End of Template Body: ZTEST_JS_012 -->... </body> </html> SAP AG 2006, Title of Presentation / Speaker Name / 14

Overview API Commands, API Instructions, and Functions Scripting Web Item & XPATH Statements Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

Overview of API Commands and Instructions SAP BW 3.x Web API Commands are obsolete &FILTER_IOBJNM=0MATERIAL&FILTER_VALUE= 1 no longer works in the SAP NetWeaver 2004s Runtime SAP NetWeaver 2004s Web API Commands are based off Instructions In addition, JavaScript can directly call functions to perform operations Offers additional flexibility in development SAP AG 2006, Title of Presentation / Speaker Name / 16

SAP NetWeaver 2004s API Commands - Procedure Step By Step: 1. Insert a Web item into your Web application, with which you can execute commands (such as the Button Group Web item). 2. Use the command wizard 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. Command sequences are built by preceding the actual parameters with the text bi_command_n, where "N" is the index of the command in the command sequence. 5. Special cases: Special Case Set Web Item Parameters (SET_ITEM_PARAMETERS) Set Data Provider Parameters (SET_DATA_PROVIDER_PARAMETERS) Special Feature For this command, the parent parameter for the Web item parameters is INIT_PARAMETERS. Example: INIT_PARAMETERS-VISIBILITY=VISIBLE For this command, the parent parameter for the data provider parameters is INIT_PARAMETERS. Example: INIT_PARAMETERS-INITIAL_STATE=QUERY SAP AG 2006, Title of Presentation / Speaker Name / 17

SAP NetWeaver 2004s API Commands 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 SAP AG 2006, Title of Presentation / Speaker Name / 18

SAP NetWeaver 2004s API Commands 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 BEx Web Application Designer displays the following result (only the INSTRUCTION node is show in this example): <bi:instruction > </bi:instruction> <bi:set_item_parameters > <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> 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= SAP AG 2006, Title of Presentation / Speaker Name / 19

JavaScript API for Executing Commands (1) 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. Example 1: 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); SAP AG 2006, Title of Presentation / Speaker Name / 20

JavaScript API for Executing Commands (2) 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_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) SAP AG 2006, Title of Presentation / Speaker Name / 21

Overview API Commands, API Instructions, and Functions Scripting Web Item & XPATH Statements Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

Overview of Scripting Web Item Scripting Item allows you to write JavaScript Code within Web applications In your code block, do not include these tags: <script type="text/javascript"> </script> JavaScript Command Wizard can generate calls to direct OLAP functions 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> SAP AG 2006, Title of Presentation / Speaker Name / 23

XML Result Set Changes (1) The format of the XML Query Result has changed In SAP BW 3.x <?xml version="1.0" encoding="iso-8859-1"?> <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"> <asx:values> <AXIS_DATA> <RRWS_SX_AXIS_DATA> <AXIS>000</AXIS> <SET> <RRWS_SX_TUPLE>... </RRWS_SX_TUPLE> </SET> </RRWS_SX_AXIS_DATA> </AXIS_DATA> </asx:values> </asx:abap> <?xml version="1.0" encoding="iso-8859-1"?> <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"> <asx:values> <CELL_DATA> <RRWS_S_CELL>... </RRWS_S_CELL> </CELL_DATA> </asx:values> </asx:abap></queryview> </xml> SAP AG 2006, Title of Presentation / Speaker Name / 24

XML Result Set Changes (2) The format of the XML Query Result has changed In SAP NetWeaver 2004s <xml id="data_provider_info_item_1"> <BICS_VIEW> <RESULT_SET> <AXES> <AXIS name="rows">... </AXIS> <AXIS name="columns">... </AXIS> </AXES> <DATA_CELLS>... </DATA_CELLS> </RESULT_SET> </BICS_VIEW> </xml> SAP AG 2006, Title of Presentation / Speaker Name / 25

XPATH Statements for Binding (1) XPATH Statements can be used to grab any metadata or data values and assign these dynamically to commands or web items such as the text item or dropdown Useful for scenarios where you want to execute commands based on selection For details and scenarios, see this blog: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4520 SAP AG 2006, Title of Presentation / Speaker Name / 26

XPATH Statements for Binding (2) Within <= SPS9 you have web template command sequences cannot be used before rendering. With SPS10 and greater you can use the web template command sequence before rendering. SAP AG 2006, Title of Presentation / Speaker Name / 27

Overview API Commands, API Instructions, and Functions Scripting Web Item & XPATH Statements Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

Container Layout vs HTML layout controls Container Layout A web item that allows you to control the layout and positioning of objects on the screen Well Structured Environment HTML Layout Controls Allow complete freeform control over layout elements on the screen Recommendations: In general, try to use the container layout element wherever possible as this falls within the well structured framework and properties are extensible within this framework If you need to include div scrolling or other layout and formatting options that aren t available with the container layout, then you should use freeform HTML Layout Controls SAP AG 2006, Title of Presentation / Speaker Name / 29

Web Application Designer: HTML Editor (1) Layout Mode Easier creation of HTML content via the Insert option in the context menu Increased flexibility and control by providing access to the HTML tags as well as CSS elements, eliminating the need of detailed HTML knowledge SAP AG 2006, Title of Presentation / Speaker Name / 30

Web Application Designer: HTML Editor (2) Insert - Table SAP AG 2006, Title of Presentation / Speaker Name / 31

Web Application Designer: HTML Editor (3) Insert - Hyperlink Launches the Command Wizard SAP AG 2006, Title of Presentation / Speaker Name / 32

StyleSheets & Themes StyleSheet Scoping (SAP NetWeaver 2004s) Format is defined by the Portal Theme StyleSheet StyleSheets in the Web application override the Portal StyleSheet Individual <style> blocks in the BEx Web Application Designer override the stylesheets from the Portal and from the Web application StyleSheet Scoping (SAP BW 3.x) StyleSheet is defined in the BEx Web Application Designer Portal StyleSheet overrides the stylesheet in the web application if the application is deployed on the SAP NetWeaver Portal Specific <style> elements in the Web application override the global Portal StyleSheet SAP AG 2006, Title of Presentation / Speaker Name / 33

Overview API Commands, API Instructions, and Functions Scripting Web Item & XPATH Statements Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

Buidling Blocks Modular development allows for flexibility, scalability, and the lowest TCO We will discuss scenarios involving modularizing Web applications built within the BEx Web Application Designer XML Documents are becoming the best communication method to communicate and integrate applications Portal Eventing Framework allows modularizing portal components SAP NetWeaver Visual Composer and BEx Web Application Designer can be integrated with modular components! Modular components allow for use of global navigation areas SAP AG 2006, Title of Presentation / Speaker Name / 35

UI Component Layout Ensure you have the following UI Components Control Area Portal creates this for you Report Tree Area Navigate across multiple applications Global Input Parameters Populate any filters or variables Application Area Display Report or Application SAP AG 2006, Title of Presentation / Speaker Name / 36

UI Component Layout (2) SAP AG 2006, Title of Presentation / Speaker Name / 37

UI Component Layout (3) SAP AG 2006, Title of Presentation / Speaker Name / 38

Portal Eventing The Enterprise Portal Client Framework (EPCF) provides an infrastructure for scripting used in iviews and by the portal. When a business application uses more than one iview, you need the EPCF service to transfer data between the iviews. The EPCF service provides: Mechanisms for eventing between iviews. A Java object, called a client data bag, that serves as transient data buffer on the browser. The EPCF implementation itself is based on JavaScript and Java applets. SAP AG 2006, Title of Presentation / Speaker Name / 39

Portal Navigation EP/BW Portal Navigation API provides JavaScript methods to navigate inside the Portal BI iviews are running in inside an iframe (due Isolation Method URL), therefor you must use parent.epcm to access the EP Client Framework Portal Page function EPCM.doNavigate (target, ) 2 1 BW iview parent.epcm.donavigate Portal Page BW iview Other iview When accessing iviews and pages in the role from the Portal Content Directory (PCD), you have to add the prefix ROLES:// to the target URL EPCM.doNavigate("ROLES://portal_content/<folder>/<role>/<workset>/.../<iView>"); You can add BI commands with &dynamic_parameter to the target URL SAP AG 2006, Title of Presentation / Speaker Name / 40

Portal Eventing and BI iviews EP/BW Portal Eventing allows exchange of information between iview during runtime BI iviews is rendered in an IFrame and is therefore using EPCM Proxy to access EP Client Framework (see notes below) Portal Page function EPCM.subscribeEvent (namespace, eventname, eventhandler) function EPCM.raiseEvent (namespace, eventname, dataobject [, sourceid]) 2 1 3 BW iview EPCMPROXY.raiseEvent BW iview EPCMPROXY.subscribeEvent function eventhandler Use Web Items Attribute ONLY_VALUES (Filters, Dropdown Box, etc.) to retrieve only values. This allows you to perform an own submit operation (e.g., EPCM.raiseEvent) SAP AG 2006, Title of Presentation / Speaker Name / 41

Portal Eventing Works only within a singular domain Works only within a page (popup communication not supported) Can be called from any application through Java or Javascript - Webdynpro for Java - SAP BW 3.x Web application - SAP NetWeaver 2004s Web application - BSP - JSP -.NET applications - Etc Usually utilizes a sender and receiver iview Sending and Receiving occurs on a portal namespace SAP AG 2006, Title of Presentation / Speaker Name / 42

Receiver iview Here is an example of a Receiver iview s code: <script language=javascript> EPCMPROXY.subscribeEvent( "urn:com.sap.vc:epcm", "Filter", window, "myreceiveevent"); function myreceiveevent( eventobj ) { values = eventobj.dataobject; } </script> SAP AG 2006, Title of Presentation / Speaker Name / 43

Sender iview Here is an example of a Sender iview s code: <script language=javascript> function raiseevents(value) { EPCMPROXY.raiseEvent( "urn:com.sap.vc:epcm", "Filter1", value, null ); </script> SAP AG 2006, Title of Presentation / Speaker Name / 44

BEx Web Application Designer Modularization Web applications built with the SAP BW 3.x BEx Web Application Designer or SAP NetWeaver 2004s BEx Web Application Designer can send and receive events! Each Web application can subscribe to events that are specified by a singular web application where filter values are specified Navigation between BEx Web Application Designer applications can occur without loosing the context or filter values! Portal capabilities such as personalization of a page layout become available when using modularization concepts! SAP AG 2006, Title of Presentation / Speaker Name / 45

BEx Web Application Designer - Sender & Receiver SAP AG 2006, Title of Presentation / Speaker Name / 46

SAP NetWeaver Visual Composer Modularization Web applications built with the SAP NetWeaver Visual Composer (VC) can send and receive events with no code required! Each VC application can subscribe to events that are specified by a singular VC application where filter values are specified Navigation between VC applications can occur without loosing the context or filter values! Portal capabilities such as personalization of a page layout become available when using modularization concepts! SAP AG 2006, Title of Presentation / Speaker Name / 47

SAP NetWeaver Visual Composer - Sender & Receiver SAP AG 2006, Title of Presentation / Speaker Name / 48

Integration Scenarios Multiple applications can be integrated, such as SAP NetWeaver Visual Composer and BEx Web Application Designer The preferred method of communication between many applications is the XML Document Model SAP is working on standardizing the communication format of XML Documents Visual Composer SPS7 utilizes this xml document format: - <Params> <Param name= F0FISCPER value="2002001 /> <Param name= F0CALYEAR value="2002 /> <Param name= F0COMP_CODE value="1000" /></Params> SAP NetWeaver Visual Composer SPS8 utilizes this xml document format: - <Params version = "2"> <Row F0FISCPER="2002001" F0CALYEAR="2002" F0COMP_CODE="1000" /></Params> SAP AG 2006, Title of Presentation / Speaker Name / 49

XML Document Model This is the recommended format to use when communicating using events: - <Params version = "2"> <Row F0FISCPER="2002001" F0CALYEAR="2002" F0COMP_CODE="1000" /></Params> This format is extensible to pass tables! Make sure you unescape values when receiving XML documents! ASCII Code format: %3CParams%20version%3D%222%22%20%3E%3CRow%20F0FISCPER%3D% 222002%22%20F0CALYEAR%3D%222002%22%20F0COMP_CODE%3D%22100 0%22%20/%3E%3C/Params%3E HTML Code format: < Params version = "2" > <Row F0FISCPER="2002001" F0CALYEAR="2002" F0COMP_CODE="1000" /></Params> For a tutorial on XML DOM objects, see http://www.w3schools.com/dom/default.asp SAP AG 2006, Title of Presentation / Speaker Name / 50

Overview API Commands, API Instructions, and Functions Scripting Web Item & XPATH Statements Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

BI-JAVA Performance Logging Parameter Start the Web application with the "&PROFILING=X" addition. Simply attach this to the start URL. To do this, use the BEx Web Application Designer to execute the Web template in the Web and attach the addition to the URL in the address area of the Web browser and confirm this using "Return". Go through the steps until the performance problem occurs. Due to the "&PROFILING=X" addition, detailed statistics were collected for the runtimes in Java and ABAP (OLAP statistics). You can call these using the automatically generated link at the top of the "BI Statistics" Web page. Choose this link. The system displays a window containing detailed statistical information for each of the navigation steps that you have carried out up to now. SAP AG 2006, Title of Presentation / Speaker Name / 52

Overview API Commands, API Instructions, and Functions Scripting Web Item Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

Publishing from the BEx Web Application Designer In order to publish reports, there are multiple options available. This is an overview of the options available within the BEx Web Application Designer. Full publishing strategies are available in the Publishing section of this course. BI Favorites BI Roles BI Bookmark KM Repository Collaboration Room Portal Content Directory Portal Roles SAP BW 3.x BEx Web Application Designer Direct Save Direct Save NA Publish or BEx Broadcaster Publish or BEx Broadcaster Publish Publish SAP NetWeaver 2004s BEx Web Application Designer Direct Save Direct Save or Publish NA BEx Broadcaster BEx Broadcaster Publish Manually SAP AG 2006, Title of Presentation / Speaker Name / 54

Publishing from the SAP BW 3.x BEx Web Application Designer (1) Save from SAP BW 3.x BEx Web Application Designer to BI Favorites or BI Roles SAP AG 2006, Title of Presentation / Speaker Name / 55

Publishing from the SAP BW 3.x BEx Web Application Designer (2) Save from SAP BW 3.x BEx Web Application Designer to KM Repository, Collaboration Room, Portal Content Directory, or Portal Roles SAP AG 2006, Title of Presentation / Speaker Name / 56

Publishing from the SAP BW 3.x BEx Web Application Designer (3) Broadcast from SAP BW 3.x BEx Web Application Designer to KM repository or Collaboration room SAP AG 2006, Title of Presentation / Speaker Name / 57

Publishing from the SAP NetWeaver 2004s BEx Web Application Designer (1) Save from SAP NetWeaver 2004s BEx Web Application Designer to BI Favorites or BI Roles SAP AG 2006, Title of Presentation / Speaker Name / 58

Publishing from the SAP NetWeaver 2004s BEx Web Application Designer (2) Publish from SAP NetWeaver 2004s BEx Web Application Designer to BI Roles SAP AG 2006, Title of Presentation / Speaker Name / 59

Publishing from the SAP NetWeaver 2004s BEx Web Application Designer (3) Publish from SAP NetWeaver 2004s BEx Web Application Designer to Portal Content Directory SAP AG 2006, Title of Presentation / Speaker Name / 60

Publishing from the SAP NetWeaver 2004s BEx Web Application Designer (4) Broadcast from SAP NetWeaver 2004s BEx Web Application Designer to KM repository or Collaboration room SAP AG 2006, Title of Presentation / Speaker Name / 61

Overview API Commands, API Instructions, and Functions Scripting Web Item & XPATH Statements Formats, Stylesheets, & Themes Building Blocks Performance Tuning Web Applications Publishing from BEx Web Application Designer Summary

Related Links Using XPATH Statements within the BEx Web Application Designer: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4520 Setting the Presentation of a Characteristic within BI-IP: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4661 Tips & Tricks when Printing to PDF: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4820 Options with Segmenting the Navigation Pane: https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4821 Integrating UI Elements as Services: https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/librar y/uuid/5a40f2f7-0c01-0010-d69f-c6317c5165cd SAP AG 2006, Title of Presentation / Speaker Name / 63

Summary Understand the Architecture of Web Technology Web API has changed to include API Commands, API Instructions, and Functions Scripting Web Item can be used for customization! Container Layout, HTML Layout, Stylesheets & Themes allow detailed control over look and feel. Use Modular Building Blocks Know your publishing strategy for Web Application Designer. SAP AG 2006, Title of Presentation / Speaker Name / 64

Copyright 2006 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, System i, System i5, System p, System p5, System x, System z, System z9, z/os, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/os, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated 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. The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages. SAP AG 2006, Title of Presentation / Speaker Name / 65