usage guide for guided procedures on sap netweaver 7 · pdf fileusage guide for guided...

7
Usage Guide for Guided Procedures on SAP NetWeaver 7.0 SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2007 SAP AG 1 Usage Guide for Guided Procedures on SAP NetWeaver 7.0 Applies to: Guided Procedures with SAP NetWeaver 7.0. Summary This paper provides guidelines when using Guided Procedures on SAP NetWeaver 7.0. It includes typical business scenarios and recommendations when building processes, blocks, and callable objects. Author: SAP NetWeaver Product Management and SAP NetWeaver Regional Implementation Group Company: SAP Created on: 28 July 2007 Author Bio These recommendations are provided by SAP NetWeaver Development, Product Management, and Regional Implementation Group.

Upload: vandien

Post on 06-Mar-2018

227 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Usage Guide for Guided Procedures on SAP NetWeaver 7 · PDF fileUsage Guide for Guided Procedures on SAP NetWeaver 7.0 ... Usage Guide for Guided Procedures on SAP NetWeaver 7.0

Usage Guide for Guided Procedures on SAP NetWeaver 7.0

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

Usage Guide for Guided Procedures on SAP NetWeaver 7.0

Applies to: Guided Procedures with SAP NetWeaver 7.0.

Summary This paper provides guidelines when using Guided Procedures on SAP NetWeaver 7.0. It includes typical business scenarios and recommendations when building processes, blocks, and callable objects. Author: SAP NetWeaver Product Management and SAP NetWeaver Regional Implementation Group Company: SAP Created on: 28 July 2007

Author Bio These recommendations are provided by SAP NetWeaver Development, Product Management, and Regional Implementation Group.

Page 2: Usage Guide for Guided Procedures on SAP NetWeaver 7 · PDF fileUsage Guide for Guided Procedures on SAP NetWeaver 7.0 ... Usage Guide for Guided Procedures on SAP NetWeaver 7.0

Usage Guide for Guided Procedures on SAP NetWeaver 7.0

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

Table of Contents Applies to: ........................................................................................................................................ 1 Summary.......................................................................................................................................... 1 Author Bio ........................................................................................................................................ 1 1 Introduction ................................................................................................................................... 3 2 Typical business scenarios for Guided Procedures ..................................................................... 3 3 Recommendations........................................................................................................................ 4

3.1 Process and block recommendations ................................................................................... 4 3. 2 Context and parameter mapping recommendations............................................................ 4 3.3 Callable objects recommendations ....................................................................................... 4

3.3.1 General recommendations for callable objects.......................................................... 4 3.3.2 Visual Composer ............................................................................................................. 5 3.3.3 Web Dynpro for Java...................................................................................................... 6 3.3.4 Interactive Forms by Adobe .......................................................................................... 6

3.4 Universal Worklist and Roles ................................................................................................. 6 Copyright.......................................................................................................................................... 7

Page 3: Usage Guide for Guided Procedures on SAP NetWeaver 7 · PDF fileUsage Guide for Guided Procedures on SAP NetWeaver 7.0 ... Usage Guide for Guided Procedures on SAP NetWeaver 7.0

Usage Guide for Guided Procedures on SAP NetWeaver 7.0

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

1 Introduction This document provides recommendations for using Guided Procedures with SAP NetWeaver 7.0. Previous experience with Guided Procedures is assumed in this document. For an introduction and general information about Guided Procedures please refer to online help. For guidelines on specifying composite applications please read ‘Guidelines for Specifying Composite Applications' published on SDN.

2 Typical business scenarios for Guided Procedures In general, Guided Procedures are best suited for sequential, human based processes. The following are typical examples of Guided Procedures:

• Departmental tasks that occur outside of the corporate IT process

o In this example a company has a centralized process owned by IT. For example, this could be a process to book a trip (for example, in SAP ERP) or a process for expense approval. Both of these processes are centralized for the entire company.

o While each business department must follow this central process, some departments may want slight deviations. For example, a department that generates direct revenue for the company may be able to book all trips in the ERP system directly, while another department needs a special departmental approval before booking a trip.

o The departmental approval process is a good candidate for Guided Procedures. The person can submit their request for the trip, business reason, expected costs. Once the departmental manager approves the request, then the corporate-wide process can begin.

• Processes that require non-SAP system access via URL’s or Web Service calls

o In this example you need to access a non-SAP system via a URL or web service call. Perhaps you fill out a form to start a Guided Procedures process. The process uses a URL to call the external system where required objects are created, for example a folder or a business object. Once these steps are completed, an email is sent to the initiator with information on the updates performed.

• Processes that require multiple SAP, non-SAP systems, or no application systems

o In this example you have a process that is human-based, and it uses multiple systems. In the previous example we mentioned accessing a non-SAP system via a URL or a web service call. Perhaps once that step is completed we also need to update one or multiple SAP application systems (SAP ERP, SAP CRM, or SAP SRM, for example).

o Another example could be a process that uses no systems. Perhaps a process for approval on an idea for a new product, or a process seeking multiple approvals before outsourcing a particular project.

• Offline, interactive forms processes.

o In this example a company creates materials, vendors, or some other object in an SAP application system, such as ERP, or in SAP NetWeaver Master Data Management. However, before creating the object, an email is sent to key people who provide input.

o This business example is a very common usage of Guided Procedures. A Guided Procedure can facilitate routing SAP Interactive Forms by Adobe to multiple people. Each person provides their information and a Web Service or API call is used to update the related SAP system(s).

Page 4: Usage Guide for Guided Procedures on SAP NetWeaver 7 · PDF fileUsage Guide for Guided Procedures on SAP NetWeaver 7.0 ... Usage Guide for Guided Procedures on SAP NetWeaver 7.0

Usage Guide for Guided Procedures on SAP NetWeaver 7.0

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

3 Recommendations

3.1 Process and block recommendations

A process may contain one or several blocks. Blocks are groups of steps that can be reused. For performance reasons it is recommended to:

Focus on straight forward, sequential process flow

Avoid:

o Dynamic parallel blocks

o Nested blocks and deep hierarchy (block in block)

Use no more than 15 process steps

3. 2 Context and parameter mapping recommendations

At runtime, the Guided Procedures framework stores process context data in the so-called GP context. The following rules should be applied:

Save ‘simple’ / ‘low amount of’ intermediate data in GP (Process) context. The only data that should be stored in the context is ‘simple’ intermediate data that needs to be exchanged between actions.

No value help (F4) should be stored in GP context as it could change

Parameters in the GP context should be restricted to keys. Texts will be included in GP context only if texts for keys cannot be determined via F4 help values in the callable object UIs. These measures help prevent inconsistencies.

Only expose parameters that must be used within the process. If a parameter is not used, it should not be exposed.

3.3 Callable objects recommendations

Callable objects link to specific functions to execute. In this section we will first provide general recommendations for callable objects, and then provide specific recommendations for Visual Composer, Java Web Dynpro, and Interactive Forms callable object types.

3.3.1 General recommendations for callable objects

Best choices for callable objects:

o Web Dynpro for Java with the Guided Procedures interface

o Web Service

o Java Background

o Visual Composer using guidelines provided in 3.3.2

o Interactive Forms using guidelines provided in 3.3.4

Callable Objects offering an UI should ensure data consistency by calling a service to validate data (such as a ‘check’ service) to avoid inconsistent data being persisted.

If consistency checks depend on data entered in different callable objects, the corresponding actions including the update service will be called within a loop block. Then actions can be executed again depending on the results of the check service.

Page 5: Usage Guide for Guided Procedures on SAP NetWeaver 7 · PDF fileUsage Guide for Guided Procedures on SAP NetWeaver 7.0 ... Usage Guide for Guided Procedures on SAP NetWeaver 7.0

Usage Guide for Guided Procedures on SAP NetWeaver 7.0

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

Further explanation of separation of UI and Update: Figure 1 shows that user interactions can be divided into two actions / callable objects, one handling just the UI and the other handling the backend calls (background action). This separation offers high flexibility of the process flow definition, so for example it would very easy to add an approval step between data maintenance and the service call.

Figure 1 Data consistency has to be ensured by the callable object offering an UI. When calling the update service no input data dependent errors should occur. This ensures that it will not be necessary to change edited data which would require going back to the callable object offering the UI.

3.3.2 Visual Composer

The Visual Composer enables a model-driven development of applications using web services for interactions with underlying layers.

Avoid using nested tables

A common pitfall is the generation of very complex models. When using Flex as your runtime try to keep the models small as there is a 32k size limitation for the Flex Compiler (Adobe Flex 1.x limitation).

Avoid creating dynamic User Interfaces using Visual Composer. In such cases consider using Web Dynpro.

Avoid using tables/structures as an end point of a VC Model.

Avoid the use of very long descriptions for field labels. The length of the label is not definable or controllable and will be truncated at runtime.

Page 6: Usage Guide for Guided Procedures on SAP NetWeaver 7 · PDF fileUsage Guide for Guided Procedures on SAP NetWeaver 7.0 ... Usage Guide for Guided Procedures on SAP NetWeaver 7.0

Usage Guide for Guided Procedures on SAP NetWeaver 7.0

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

.3.3 Web Dynpro for Java

Remember that the Web Dynpro Java application is only used for the UI layer. All necessary business logic of the backend layer should be implemented in the business layer.

3

or object persistence on top

We recommend that you have no business logic or object persistence within Web Dynpro Java components

Restrict yourself to the coding absolutely necessary to call the web services and create the userinterface

All WDJ components have to implement the interface IWebDynproCO (packagecom.sap.caf.eu.gp.co.api)

3.3.4 Interactive Forms by Adobe

Online forms are implemented by adding an SIF control within Web Dynpro Java components e form is achieved by interaction with the component context. The Data retrieval from and to th

backend connectivity is implemented within the WDJ component and the rules for WDJ apply.

Offline forms are implemented by creating an ‘Interactive Form’ type callable step within GuidedProcedures.

Minimize the amount of scripting within the form, and in particular, do not call Web services so anot to confuse the layers

s

3.4 Uni

The Universal Worklist is used as the central access point to tasks, alerts and notifications. You can access uided Procedures actions.

versal Worklist and Roles

the UWL to manage and track your G

We recommend using UWL as the workflow inbox since it integrates assignments from differenworkflow systems, including Workflow, Alerts, KM notifications and Collaboration Tasks, and non-SAP tasks.

t

UWL with Guided Procedures cannot be used as a mass processing tool, each work item has to be processed individually

UWL is “inbox only”, no actions in UWL are possible effecting the GP process instance, e.g. approve, reject

For Default roles administrator and overseer GP Runtime Work Center should be used.

umber of roles in a process should be no more than 5.

Total n

Page 7: Usage Guide for Guided Procedures on SAP NetWeaver 7 · PDF fileUsage Guide for Guided Procedures on SAP NetWeaver 7.0 ... Usage Guide for Guided Procedures on SAP NetWeaver 7.0

Usage Guide for Guided Procedures on SAP NetWeaver 7.0

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

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.