HowTo Use Extended Features of The SAP Application Integrator PDF
HowTo Use Extended Features of The SAP Application Integrator PDF
Applies to:
Integration of Web Dynpro for Java applications into the SAP NetWeaver Portal for the SAP NetWeaver 04s
release.
Summary
The basic task of the SAP Application Integrator is to launch a Web Dynpro application running as a Web
Dynpro iView within the SAP NetWeaver portal. Besides that there are several extended features like
customer-specific parameter providers for the URL computing available, which helps also when running Web
Dynpro iViews. The document gives a comprehensive overview about the SAP Application Integrator and
describes how to use the extended features when running Web Dynpro iViews.
Author: Jochen Guertler
Company: SAP AG
Created on: 27th February 2007
Author Bio
Jochen Guertler works as a development architect within the Web Dynpro for Java team. His main
responsibilities are the integration of Web Dynpro for Java with other components of SAP NetWeaver,
especially the integration with the SAP NetWeaver portal.
Jochen is co-author of the “Maximizing Web Dynpro for Java” book.
© 2007 SAP AG 1
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
Table of Contents
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application
Integrator.......................................................................................................................................... 1
Applies to: ........................................................................................................................................ 1
Summary.......................................................................................................................................... 1
Author Bio ........................................................................................................................................ 1
Table of Contents ............................................................................................................................ 2
Introduction ...................................................................................................................................... 3
Classification of Web Dynpro iViews ........................................................................................... 3
Prerequisites.................................................................................................................................... 3
Using the examples ......................................................................................................................... 3
Deploying the example application .............................................................................................. 3
Deploying the portal content ........................................................................................................ 3
The SAP Application Integrator ....................................................................................................... 4
Launching a Web Dynpro iView................................................................................................... 4
Computing of the Web Dynpro application URL ...................................................................... 4
Handling of NW04 Web Dynpro iViews.................................................................................... 7
Handling of NW04s Web Dynpro iViews .................................................................................. 7
Extending the URL template ........................................................................................................ 7
<IView> context ........................................................................................................................ 8
<Profile> context....................................................................................................................... 8
<Request> context ................................................................................................................... 9
<System> context................................................................................................................... 10
<User> context ....................................................................................................................... 10
Using customer-specific parameter providers ............................................................................... 11
Prerequisites .............................................................................................................................. 11
Limitations .............................................................................................................................. 12
First example.............................................................................................................................. 12
Creating a portal development component ............................................................................ 12
Creating a portal service......................................................................................................... 14
Implementing the customer-specific parameter provider ....................................................... 17
Extending the service implementation.................................................................................... 18
To get it compiled ................................................................................................................... 19
Web Dynpro related scenarios ...................................................................................................... 20
Dynamic computation of system or Web Dynpro application .................................................... 21
Forwarding portal session content ............................................................................................. 21
Forwarding the iView profile....................................................................................................... 23
Mapping of JCo destinations...................................................................................................... 25
Copyright........................................................................................................................................ 27
© 2007 SAP AG 2
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
Introduction
The basic task of the SAP Application Integrator is to launch a Web Dynpro application running as a Web
Dynpro iView within the SAP NetWeaver Portal. Besides that there are several extended features like
customer-specific parameter providers for the URL computing available, which helps also when running Web
Dynpro iViews.
The document gives a comprehensive overview about the SAP Application Integrator and describes how to
use the extended features when running Web Dynpro iViews including several running example applications
using the discussed capabilities.
Prerequisites
This document and the provided examples are developed and tested using the SAP NetWeaver 04s SP11
release.
© 2007 SAP AG 3
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
© 2007 SAP AG 4
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
need to change this. We will discuss later in this document how to extend the used URL template to add
more parameters to the computed URL.
The URL template used to compute a Web Dynpro application URL for NW04 Web Dynpro iView looks like
the following (expressions denoted in angle braces <…> are resolved during runtime):
URL = <System.Access.WAS.protocol>://
<System.Access.WAS.hostname>\
/webdynpro/dispatcher<Request.DistributionZone>/
<WebDynproNamespace>/<WebDynproApplication>\
;jsessionid=<Request.JSessionID>?\
sap-ext-sid=<ESID[URL_ENCODE]>&\
sap-wd-cltwndid=<ClientWindowID>&\
sap-locale=<Request.Locale>&\
sap-accessibility=<User.Accessibility[SAP_BOOL]>&\
sap-rtl=<LAF.RightToLeft[SAP_BOOL]>&\
sap-ep-version=<Request.Version[URL_ENCODE]>&\
sap-cssurl=<LAF.StylesheetUrl[URL_ENCODE]>&\
sap-cssversion=<LAF.Version[URL_ENCODE]>&\
<Authentication>&\
<DynamicParameter[PROCESS_RECURSIVE]>&\
<ApplicationParameter[PROCESS_RECURSIVE]>
Once the URL template has been processed by the SAP Application Integrator, the following URL could, for
example, be calculated which could be used to launch the ParameterApp example application as NW04
Web Dynpro iView within the SAP NetWeaver Portal:
http://wdhost.wdf.sap.corp:50000/webdynpro/dispatcher/
sap.com/params/ParameterApp;
jsesionid=(WDFD00146855A_P37_00)
ID1615564250DB00783426715781195164End?
sap-extsid=w5pCY0L2j19l%2FB28gt1HhA%3D%3Dv
Vf%2B0Ky5v%2BiZ268a%2BYvFjA%3D%3D&
sap-wd-cltwndid=WID1138899091639&
sap-locale=en_US&
sap-accessibility=&
sap-rtl=&
sap-ep-version=6.4.200509182320&
sap-cssurl=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttp%2Fwdfd00146855a%3A50000 %2
Firj%2Fportalapps%2Fcom.sap.portal.design.urdesigndata
%2Fthemes%2Fportal%2Fsap_tradeshow%2
Fur%2Fur_ie6.css%3F6.0.15.0.0&
sap-cssversion=6.0.14.0.0
Based on the transferred parameters, different portal settings are sent to the Web Dynpro runtime
environment. In addition to the preferred portal language (sap-locale) and the selected theme (sap-
cssurl), these settings also include information on the preferred display variant (left-to-right or right-to-left
defined by the sap-rtl parameter) and on determining whether a barrier-free display is required (sap-
accessibility).
The next picture shows the ParametersApp example application showing the passed parameters.
© 2007 SAP AG 5
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
As all these parameters are passed as standard URL parameters you can access them easily inside a Web
Dynpro application (although there is normally no need doing this, as the Web Dynpro runtime handles the
settings defined by the different parameters automatically).
The following code example shows for example how to get the sent theme URL:
String themeURL =
WDProtocolAdapter().
getProtocolAdapter().
getRequestObject().
getParameter(“cssurl”);
Keep in mind that URL parameters are not forwarded to all follow-up requests. You have to access these
parameters therefore in the initial request (typically in one of the wdDoInit()methods of a component or
custom controller).
In the ParametersApp example application we copy the list of parameters to a certain Web Dynpro context
node. To make sure that we get all values even in case that there are more than one value for one
parameter we use the WDProtocolAdapter.getProtocolAdapter().getRequestObject()
.getParameterValues() method as shown in the following code example.
while (parameterNames.hasMoreElements()) {
String parameterName = (String) parameterNames.nextElement();
if (parameterName.equals("eventQueue"))
continue;
IPublicParametersComp.ISourceElement parameter =
wdContext.nodeSource().createSourceElement();
© 2007 SAP AG 6
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
parameter.setName(parameterName);
parameter.setValue(values[i]);
wdContext.nodeSource().addElement(parameter);
}
}
© 2007 SAP AG 7
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
<IView> context
The <iView> context enables you to determine additional information on the Web Dynpro iView and transfer
that information to the Web Dynpro application:
• <IView.ID>
As mentioned in Section 5.2.2, all objects that you create for the SAP NetWeaver Portal are stored in
the Portal Content Directory (PCD). Each object can be described by a unique path that is also used
to specify navigation targets in the portal navigation.
The <IView.ID> variable contains exactly this path for the called Web Dynpro iView. Using this
path, you can directly access the iView object in the PCD within your Web Dynpro application.
• <IView.PCDUnit>
The <IView.PCDUnit> variable provides access to the roles assigned to the iView within your Web
Dynpro application. If the iView that is called has not been assigned to any role, the
<IView.PCDUnit> variable provides the iView by itself.
The following picture shows the transferred data using the iView located under SAP Application Integrator
-> NW04 Web Dynpro iViews -> iView ID and PCD Unit.
<Profile> context
You can use the <Profile> context to transfer the values of any iView property to a Web Dynpro
application. The <Profile.xyz> variable determines the value of the iView property xyz.
Please have a look at the following example: we would like to pass the Tray Type iView property to a Web
Dynpro application. This could be used to adjust the background color of the Web Dynpro application based
on the defined tray type of the iView running the application.
As we need the technical ID of the property we have to select this property in the property editor of the
related iView. Using the small triangle icon on the left side we could display the meta attributes of the
property as shown in the next picture.
© 2007 SAP AG 8
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
You can now access the forwarded trayType parameter using the WDProtocolAdapeter class as shown
in the following code example:
String trayType =
WDProtocolAdapter().
getProtocolAdapter().
getRequestObject().
getParameter(“trayType”);
The following picture shows the transferred data using the iView located under SAP Application Integrator
-> NW04 Web Dynpro iViews -> Profile. It shows the used tray type and the define iView size.
These parameters are passed using the following Application Parameters iView property value.
trayType=<Profile."com.sap.portal.iview.TrayType">&iViewSize=<Profile."com.sap.p
ortal.iview.HeightType">
<Request> context
You can use the <Request> context to determine how and where the SAP NetWeaver Portal was launched.
This can be particularly useful in scenarios when you don’t run your Web Dynpro application on the same
SAP NetWeaver installation as the SAP NetWeaver Portal.
<Request.Protocol> provides the protocol (HTTP or HTTPS), while <Request.Server> provides the
fully qualified host name on which the SAP NetWeaver Portal was launched (for example,
portal.domain.com). You can use the <Request.Port> variable to determine the port that is used. In
addition to these technical parameters, you can also use the <Request.xyz> variable to obtain the value of
any parameter that was transferred when the SAP NetWeaver Portal was launched; <Request.xyz>
provides the value of the xyz transfer parameter. If no xyz transfer parameter has been defined, the SAP
Application Integrator will ignore the variable when processing the URL template.
The following picture shows the transferred data using the iView located under SAP Application Integrator
-> NW04 Web Dynpro iViews -> Request. It shows the used host, port and protocol.
© 2007 SAP AG 9
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
<System> context
As described earlier in this chapter, you use a system alias for each Web Dynpro iView in order to define the
SAP NetWeaver installation on which you want to run the Web Dynpro application. The <System.xyz>
variable of the <System> context enables you to determine any property of the system that is used in the
iView, which has been launched. <System.xyz> determines the value of system property xyz.
<User> context
The <User> context helps you to transfer the various pieces of user information to the Web Dynpro
application. This is especially useful on those occasions when the SAP NetWeaver installation that runs your
Web Dynpro application is different from the SAP NetWeaver Portal and does not use the same user store.
The <User> context defines the variables listed in the following. You can infer the meaning of these
variables from their names:
• <User.displayname>
• <User.salutation>
• <User.firstname>
• <User.lastname>
• <User.jobtitle>
• <User.department>
• <User.telephone>
• <User.fax>
• <User.streetaddress>
• <User.zip>
• <User.city>
• <User.country>
• <User.timezone>
• <User.mobile>
The following picture shows some of the user data using the iView located under SAP Application
Integrator -> NW04 Web Dynpro iViews -> User.
© 2007 SAP AG 10
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
Prerequisites
To make sure that customer-specific parameter providers are not used “by accident” you have to turn on the
general support for this using the Server Configuration under System Administration -> System
Configuration. You have to open the configuration for the com.sap.portal.appintegrator service as
shown in the next picture using the Configure context menu entry of the Common Configuration node.
To turn on the support for customer-specific parameter providers you have to set the
Use_CustomerExit_ParameterProvider parameter to true. After changing this value you have to
restart the SAP Application Integrator service. To do so you have to open the administration view using the
Administrate context menu entry of the com.sap.portal.appintegrator node. Using the Restart link
you could restart the service.
© 2007 SAP AG 11
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
Limitations
With the current SP of the SAP NetWeaver 04 release the usage of customer-specific parameter provider is
only supported for NW04 Web Dynpro iViews. For NW04s Web Dynpro iView we will introduce this in one of
the next SPs.
First example
Use File -> New -> Project to open the New Project dialog. Choose a Development Component
Project and press the Next button at the bottom of the dialog.
© 2007 SAP AG 12
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
On the next screen you have to select whether you want to create a local development component or a
development component of a specific development configuration. For our test examples we use local
development components (as this does not require a full NetWeaver Development Infrastructure (NWDI)
installation). Choose Local Development -> MyComponents and go to the next dialog step pressing the
Next button.
Now you have to define the protect name, an (optional) caption text and the type of the development
component. We choose the Portal Application Standalone (Packed as SDA) type as shown in
the next picture.
© 2007 SAP AG 13
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
The last dialog step does not need any further input and after pressing the Finish button the simple
development component (and the associated LocalDevelopment~simple~sap.com project) is created
automatically. The next screen shows the created project structure. Most of the shown folders are empty at
the beginning.
© 2007 SAP AG 14
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
This editor offers several tabs. Please choose the Services tab and create a new portal service using the
Create … button at the right top side of the editor.
The next picture shows the dialog, which allows you to create any kind of portal application. We would like to
create portal service; therefore we select Portal Service and switch to the dialog step by using the Next
button.
We have to define now the name, the class name and the package name of the portal service. The next
picture shows the chosen values. We use the same entry for both the name and the class name.
© 2007 SAP AG 15
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
After pressing the Finish button the portal service is created. There are three important parts are created.
First the portalapp.xml is extended as shown in the following (you can see this by choosing the Source
tab of the portalapp.xml editor.
<application>
<application-config/>
<components/>
<services>
<service name="SimpleExample">
<service-config>
<property name="className"
value="com.sap.tc.wd.test.ai.simple.SimpleExample"/>
</service-config>
</service>
</services>
</application>
Besides that two Java files are created. First the service interface called ISimpleExample.java and
second the service implementation called SimpleExample.java as shown in the next picture.
© 2007 SAP AG 16
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
import com.sapportals.portal.prt.service.IService;
We use the service name also as key. This is not mandatory but it makes things easier as we do not have to
keep in mind different values. Before we describe the needed extension in the ISimpleExample.java file
we would like to discuss the needed extension of the portalapp.xml. The following example shows the
extended portalapp.xml (the bold entries are added).
<application>
<registry>
<entry path="/com.sap.portal.appintegrator/customer_exits/
parameter_provider/SimpleExample"
name="SimpleExample" type="service"/>
</registry>
<application-config>
<property name="SharingReference" value="com.sap.portal.appintegrator"/>
</application-config>
<components/>
© 2007 SAP AG 17
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
<services>
<service name="SimpleExample">
<service-config>
<property name="className"
value="com.sap.tc.wd.test.ai.simple.SimpleExample"/>
<property name="SafetyLevel" value="no_safety"/>
<property name="startup" value="true"/>
</service-config>
</service>
</services>
</application>
The most important extensions are the definition of the registry of the portal service (doing this the SAP
Application Integrator could access later on this portal service) and the definition of a sharing reference to the
com.sap.portal.appintegrator portal application (needed to run in the end the portal service
correctly).
if ("parameter1".equals(key)) {
return "parameter1=This is the resolved parameter1";
}
if ("parameter2".equals(key)) {
return "parameter2=This is the resolved parameter2";
}
return null;
The implementation is quite simple but shows nevertheless the basic idea. The key parameter defines the
requested parameter. Depending on the current value we return a string value defining at least one
name/value pair.
The SAP Application Integrator adds this string to the computed Web Dynpro application URL. In the
example above there are in the end two parameters parameter1 and parameter2 added and accessible
within the called Web Dynpro application.
The next picture shows the ParameterApp example application displaying the mentioned parameters.
© 2007 SAP AG 18
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
The usage of a customer-specific parameter provider is really simple. The only thing to do is to define for the
needed iViews instance the used customer-specific parameter provider. This is done using the Customer
Exits for ‘ParameterProvder’ iView property. The parameter provider is called during the URL
computation as soon as you add the needed variables to the Application Parameters iView property.
The next picture shows the usage of the SimpleExample parameter provider within a NW04 Web Dynpro
iView.
In general it is also possible to use more than one customer-specific parameter provider. You have to define
all needed parameter providers using the Customer Exits for ‘ParameterProvder’ iView property.
Separate the different parameter provider names using commas.
The getParameter() method is called for all parameters added to the computed Web Dynpro application
URL. You could therefore also use this method to change one of the technical parameters like the application
name or the namespace of the Web Dynpro iView. We will describe this in more detail later one.
Besides the getParameter() method you should implement at least the getProviderName() method.
You should return the same value as defined as service key here. The getAllParameterNames() and
getParameterDefault() methods are optional and are especially helpful during debugging.
To get it compiled
As mentioned above your portal service has to implement the
com.sapportals.portal.appintegrator.parameter.ICustomerParameterProvider interface.
We would like to mention that the needed JAR archives are not automatically available for a local portal
development component. One way to access them is to define a certain external library development
component containing the needed JARs. Doing this you could access these JARs using a certain public part
as shown in the next picture.
© 2007 SAP AG 19
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
To get more information about the definition and usage of library development components please have a
look to help.sap.com or sdn.sap.com.
© 2007 SAP AG 20
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
Important to mention here is the fact, that for all default iView properties the return value is only the value
and not a complete name/value pair.
The appmapp parameter provider is an example how to map the application namespace and / or the
application name of the executed Web Dynpro application. The getParameter() method is also a very
simple implementation but you could use here any meaningful logic.
© 2007 SAP AG 21
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
Dynpro application. The session parameter provider shows how to achieve this. It supports two usages.
You can specify explicitly which attributes stored in the portal session should be forwarded to the Web
Dynpro application. To do this you have to define the session attribute using for example
<"Session.parameter1"> to add the parameter1 attribute to the URL.
The second usage is to pass all attributes stored in the portal session to the Web Dynpro application. For
obvious reasons this makes sense only for string attributes. To pass the complete portal session to the Web
Dynpro application you have to add <"Session.all"> to the Application Parameters iView property.
The getParameter() method of the session parameter provider support both usages:
if (parameter != null) {
if (parameter.startsWith("Session")) {
if (key.equals("all")) {
Enumeration attributes =
request.getServletRequest().getAttributeNames();
while (attributes.hasMoreElements()) {
String parameterKey = (String) attributes.nextElement();
if (!firstParameter) {
parameterString.append("&");
} else {
firstParameter = false;
}
parameterString.append(parameterKey).append("=").append(
request.getServletRequest().getAttribute(parameterKey).toString());
}
return parameterString.toString();
} else {
object object =
request.getServletRequest().getSession().getAttribute(parameter);
if (object == null) {
© 2007 SAP AG 22
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
The following picture shows the iView located under SAP Application Integrator -> NW04 Web Dynpro
iViews -> Complete Portal Session.
if ("IViewProfile".equals(parameter)) {
StringBuffer parameterString = new StringBuffer(1024);
boolean firstParameter = true;
Enumeration attributeNames =
request.getComponentContext().getProfile().getProperties();
while (attributeNames.hasMoreElements()) {
String attribute = (String) attributeNames.nextElement();
© 2007 SAP AG 23
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
if (!firstParameter) {
parameterString.append("&");
} else {
firstParameter = false;
}
parameterString.append(attribute).append("=")
.append(request.getComponentContext().
getProfile().getProperty(attribute));
}
return parameterString.toString();
}
return null;
The following picture shows the iView located under SAP Application Integrator -> NW04 Web Dynpro
iViews -> iView Profile. I contain all properties of the profile of the current iView.
© 2007 SAP AG 24
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
© 2007 SAP AG 25
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
The getParameter() method creates the needed values of the sap-wd-arfc-useSys URL parameter
automatically.
return "sap-wd-arfc-useSys="
© 2007 SAP AG 26
Integrating Web Dynpro and SAP NetWeaver Portal: How to use extended features of the SAP Application Integrator
Copyright
© Copyright 2007 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, Informix, i5/OS, POWER, 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.
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.
These materials are provided “as is” 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 not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may
result from the use of these materials.
SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these
materials. 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.
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.
© 2007 SAP AG 27