how to model and design enterprise services in esr710 · how to model and design enterprise...

27
How to model and design enterprise services in ESR710 Applies to: NetWeaver ESR710, Any business suite components running on WebAS 6.40 and above Summary This tutorial will show you how to model and design enterprise service interfaces in SAP Enterprise Services Repository (ESR) 710. Author: Canyang (kevin) Liu Company: National Competency Center, SAP Americas Created on: 12 December 2007 Author Bio Kevin Liu is a principal enterprise architect with the National Competency Center of SAP Americas. Kevin’s current focus is on SAP Enterprise Architecture Framework and Enterprise SOA, covering the whole life cycle of enterprise service modeling, design, development, and composition. Before NCC, Kevin was a NetWeaver technology architect with SAP Labs Palo Alto since 2001 with a strong focus on industry standards for Web services technologies. He represented SAP in various standard organizations including W3C, WS-I, Rosettanet and helped the adoption of these standards in SAP NetWeaver. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 1

Upload: others

Post on 24-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Applies to: NetWeaver ESR710, Any business suite components running on WebAS 6.40 and above

Summary This tutorial will show you how to model and design enterprise service interfaces in SAP Enterprise Services Repository (ESR) 710.

Author: Canyang (kevin) Liu

Company: National Competency Center, SAP Americas

Created on: 12 December 2007

Author Bio Kevin Liu is a principal enterprise architect with the National Competency Center of SAP Americas. Kevin’s current focus is on SAP Enterprise Architecture Framework and Enterprise SOA, covering the whole life cycle of enterprise service modeling, design, development, and composition. Before NCC, Kevin was a NetWeaver technology architect with SAP Labs Palo Alto since 2001 with a strong focus on industry standards for Web services technologies. He represented SAP in various standard organizations including W3C, WS-I, Rosettanet and helped the adoption of these standards in SAP NetWeaver.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 1

Page 2: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Table of Contents Keywords ............................................................................................................................................................3 Target Audience .................................................................................................................................................3 Prerequisites.......................................................................................................................................................3 System required for this exercise .......................................................................................................................3 Overview of business case and SAP service modeling methodology................................................................4 Create a software component in System Landscape Directory(SLD)................................................................6

Start the Integration Builder ............................................................................................................................6 Create software component in SLD................................................................................................................6

Import software component to ESR....................................................................................................................8 Model the service interface in the ESR ..............................................................................................................9

Create Business Objects, Service Interface, and Operations.......................................................................10 Define the service interface in the ESR............................................................................................................12

Assign namespace to the service interface and operations .........................................................................12 Define attributes for the service operations ..................................................................................................13 Create Message types and data types .........................................................................................................16 Using SAP Global Data Type........................................................................................................................19 Activate all the changes ................................................................................................................................23

Display the ESR definitions in the Enterprise Services Browser in SAP Backend...........................................25 Related Content................................................................................................................................................26 Copyright...........................................................................................................................................................27

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 2

Page 3: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Keywords ESR, Enterprise Services Repository, PI, Integration Builder, Enterprise services modeling, consumer model, provider model, enterprise service interface model, enterprise service interface definition, Global Data Type (GDT), service operation, message type, data type.  

Target Audience Technical consultants, Architects, Developers, IT Managers, business process experts and business analysts who already have exposure to SOA concepts, and would like to learn how to do services modeling and design with SAP ESR

Prerequisites - Basic understanding of SOA concepts, especially the top-down approach and related consumer

and provider model methodology for identifying and developing enterprise services - Working knowledge of SAP NetWeaver and Business Suite

System required for this exercise To complete this tutorial, you need access to an Enterprise Service Repository version 710. Currently, the ESR is available to SAP customers and partner as part of SAP NetWeaver Process Integration (PI) 710 or Composition Environment (CE) 710 SR3.

NOTE: Throughout this tutorial, the X8A system is used which is only accessible to SAP employee. If you are using a different system to do the exercise, you need to use the appropriate hostname, port number to access the Integration Builder come with that system. Depends on the service pack levels of your system, some of the screens and task steps in your system may be slightly different from what’s shown in this tutorial, but the overall process and key activities should be similar if not same.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 3

Page 4: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Overview of business case and SAP service modeling methodology

In the example business case, a large retailer chain is experiencing slow sales of certain products. The management team realizes that their price is not competitive, and would like to adjust their prices based on market condition. To achieve this goal, the following steps have to happen:

- Select the product and competitors. A sales person who is familiar with the market condition needs to put together a list of products and the major competitors for each of the products.

- Collect and maintain competitor prices. Some body needs to go to competitor stores collect the data and enter it into their system.

- Analyze the competitor data. A manager needs to look at the competitor pricing, and determine more competitive while profitable prices for the stores.

To come up with the best pricing, they need an application that can be rolled out to thousands of their stores to support store managers do analysis of their competitors pricing, and adjust their price accordingly. After checking with IT, they realized that there is no application in place for such requirements yet, so they start out to build it up.

Now they need to figure out what exactly need to happen to implement this process. In a SAP recommended eSOA based top-down development approach, the development of a new application typically goes through the following phases:

• Business Requirement • Build Consumer Model • Build Provider Model

• Search Existing Services & funtions • Identify Missing Services

• Model and design missing services • Implement Missing Services • Implement Composite Application

NOTE: The focus of this tutorial is modeling and defining service interfaces, so we will not go too deep on the overall methodology (if interested, please contact the author for more information about related trainings), or the composition process (I will write a separate paper to cover service composition for this example business case).

Based on the requirement they have identified, the first step is to build a consumer model which is basically a high level break down of required functionalities to support each key steps of the process. The consumer model only focuses on requirements, and is independent of any application that maybe used for implementation. Once a consumer model is in place, the next step is to develop a so called “Provider model” where each of the functionality is mapped to a business application module. The module can be an ABAP functional module, an SAP pre-delivered enterprise services, a third party Web service, an in-house application, or whatever system that can support such functional requirement. For SAP pre-delivered enterprise services, SAP provides an online service catalog called Enterprise Services Workplace (https://www.sdn.sap.com/irj/sdn/explore-es ) where users can browser the enterprise services and find detail information about what each of services can do, where they are deployed in SAP landscape, and how to use them.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 4

Page 5: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

In this tutorial we only focus on service interface modeling and design, so we assume the consumer model and provider model is complete. As shown in the following diagram, the retailer has figured out that most of the required functions can be supported by services delivered from SAP. For example, the consumer model (left panel of the diagram) indicates that it needs to find relevant competitors for a product which needs price adjustment. The provider model (the right panel) indicates that the enterprise service Find Business Partner by Basic Data provides this function. This services is part of the process component “Business Partner Data Management” which is implemented as part of mySAP ERP, so on the so forth. As a result of the consumer and provider model, they have identified that one piece of required function “Update Sales Price Information” is not supported by SAP or any other application yet (as shown by the fire icon in the diagram). It’s a gap that needs to be implemented as a Service.

Now let’s move on to show you how this particular service can be modeled and designed in the SAP Enterprise Services Repository.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 5

Page 6: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Create a software component in System Landscape Directory(SLD)

Start the Integration Builder

Either from x8A, using transaction SXMB_IFR, or directly from an IE browser http://pwdf2655.wdf.sap.corp:55000/rep/start/index.jsp

Prerequisite: you need Java Web Start installed to use the Integration Builder, see the following page for detail http://pwdf2655.wdf.sap.corp:55000/rep/start/webstart_installation.jsp

Create software component in SLD

Since this is a custom development, you would not want to mix it with SAP standard components, and need to define a software component and a namespace for your service.

In a typical development scenario, a software component should have already been defined for you by your project lead before you start the service development. For our example, since we want to show the process from the scratch, we need to create the software component first.

Logon to SLD from the integration builder home page, click on the “Products” link in the software catalog area.

You will be presented a few screens to enter the product and software component info. Follow the wizard to create the component and save the changes. Eventually, by search the component you just created, you should see a screen like the below.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 6

Page 7: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 7

Page 8: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Import software component to ESR Now logon to the Integration Repository by clicking on the Link in the homepage

To import the software component from SLD to ESR, the procedure changed from PI70 to PI 710. In PI 70, the menu tools has an item for transfer SLD objects to the ESR. In PI710, use menu item Objects/New…, then follow the wizard as in the following screen.

Click on the refresh button in the ESR Tree list to see the newly imported software component

After the software component is imported, use the same wizard to create a new namespace as a container of your new objects. (Models will be stored under the separate Modeling section)

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 8

Page 9: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Model the service interface in the ESR In the Design Objects tree, select the software component you would like to develop with. Choose Modeling/Models folder. Create a new folder if you would like, then right click on the folder and choose New… to get to the following screen. To see all the relevant ARIS symbols for process component definition, choose model type “SAP ProComp Model”

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 9

Page 10: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Create Business Objects, Service Interface, and Operations

Once the ARIS modeling area appears, create a business object and a service interface simply by drag and drop the corresponding symbols into the modeling pane.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 10

Page 11: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Creating the operations is a bit tricky. Select the BO symbol first, then right click on the operation symbol, and choose the second option in the pop-up (operation is realized by BO) as in the below screen

Enter a name for the new operation. Repeat the process until all intended operations are added.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 11

Page 12: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Define the service interface in the ESR

Assign namespace to the service interface and operations

Once the model is completed, now we need to assign a namespace to the new constructs.

Right click on the service interface or operation, choose create assignment.

After save, it returns to the modeling pane, and there should be a small circle appear to the lower-left corner of the service interface symbol. Double click on it to create the Interface object under the selected namespace.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 12

Page 13: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Define attributes for the service operations

When prompted to create a new object for the selected interface, proceed with yes. It creates a default operation with the same name as the interface as shown below. Save it so we can add more operations later.

Now repeat the process for the new operations. Change the attributes for each operation as appropriate (stateless, synchronous, etc)

Since we will add our own interface, the default interface will not be needed and we will delete it. Save the changes.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 13

Page 14: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

The final results of the interface model should be something like the following

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 14

Page 15: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

The final results of the interface definition should be something like the following

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 15

Page 16: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Create Message types and data types

The operations created so far do not have any message types assigned to them yet. To start, enter the names for the request, response and fault messages following the appropriate naming convention, and assign them to the right name space.

To actually define a message type, right click on a message, and select new. It brings up the message type definition page. Enter a name for the data type used by the message type as shown in the following screen. The typical naming convention is to add a prefix _sync or async to the end of the message name.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 16

Page 17: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Now right click on the value of the “data type used” field, and choose “New” from the pop-up menu. It brings up the Data type definition page.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 17

Page 18: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 18

Page 19: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Using SAP Global Data Type

We would like to use a few global data types in our data type definition for the request and response messages of our UpdateSalesPriceInformation operation.In particular, we need a business partner ID, a product ID, and a Price for the request, and a system status code for the response.

SAP GDTs are defined in the SAPGlobal software component under the namespace http://sap.com/xi/SAPGlobal/GDT as shown below.

Find the GDTs you need, right click on it and choose copy object… to get the following pop-up window. Specify the target component and namespace as shown below, then click on “Copy”. If asked to overwrite an existing data type, say Overwrite. It may show a process log window, just close it and wait for the GDTs to be copied.

Trick: Specify the Software Component Version before the Namespace.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 19

Page 20: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

A new page will be opened for each copied data type. Save and close these windows. Now we have all the GDTs in our own namespace ready for our use. Go back to the data type definition screen, and use the GDTs to define our data types.

You may need to play with the tool a bit to get yourself familiar with the use of the different icons. Overall it’s straight forward. After you are done, the data type for the request message should be something like

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 20

Page 21: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Go to the message definition page, and save the change now. It should pick up the data type definition and looks as below

Repeat the same process for the Response message. The response message should be something like

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 21

Page 22: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Now for the Fault message. Just use the default standard fault data type.

Now save everything, if not yet.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 22

Page 23: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Activate all the changes

Have a look at the list of our design objects now, you will notice that many of them has a red check beside them. The red checks indicate that these objects are not activated yet.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 23

Page 24: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Switch to the Change Lists tab, select your change list, right click and choose “activate…”

In the pop-up, select all the objects you would like to activate, and click the “Activate” button to complete the activation process.

Now we have completed the modeling and definition of the ManageSalesPriceInformation enterprise service interface.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 24

Page 25: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Display the ESR definitions in the Enterprise Services Browser in SAP Backend

You can verify that all the service interface definition is activated in the Backend. Logon to X8A, use transaction SE80 or SPROXY to go to the “Enterprise Services Broswer”. Choose your component and namespace, the service we just defined in the ESR should be list as below.

Tip: If the Enterprise Service Browser is not displayed, check it using the Utilities/Settings menu, and check the browser item.

Now it’s ready to generate a proxy and implement the service definition in the backend.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 25

Page 26: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

Related Content To cover the whole life cycle of an enterprise services, the author plans to write a series of papers to cover the following areas (Link will be provided here as soon as the papers are complete)

• How to develop enterprise services in ABAP

• How to compose enterprise services in Composition Environment

• How to enable SSO with enterprise services

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 26

Page 27: How to model and design enterprise services in ESR710 · How to model and design enterprise services in ESR710 Keywords ESR, Enterprise Services Repository, PI, Integration Builder,

How to model and design enterprise services in ESR710

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

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.

SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 27