top10recommendationsuwl1-110202072617-phpapp02

47
Session 1805: Universal Worklist - Top Ten Recommendations for Best Use Ginger Gatling Senior Product Management SAP NetWeaver Solution Management SAP Labs, LLC

Transcript of top10recommendationsuwl1-110202072617-phpapp02

Page 1: top10recommendationsuwl1-110202072617-phpapp02

Session 1805: UniversalWorklist - Top TenRecommendations forBest Use

Ginger Gatling

Senior Product ManagementSAP NetWeaver Solution ManagementSAP Labs, LLC

Page 2: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 1

1. Know when to use UWL

2. Know personalizationoptions for end users

3. Update UWL look and feel

4. UWL task customization

5. UWL action handlers

Agenda

sample for a picture

in the divider slide

6. UWL API

7. Recommendations forsubstitution

8. Use with extendednotifications

9. Configure delta pull

10. What is next for UWL

Page 3: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 2

Difference between UWL and SAPBusiness Workflow

UWL is not part of SAP Business Workflow

UWL uses workflow API’s to read the inbox

SAP Business Workflow can be displayed to users:SAP Business Workplace (SAP GUI)SAP Business Workflow Workplace (SAP NetWeaver Business Client)Extended notifications with Outlook / LotusUniversal Worklist

Page 4: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 3

ApplicationSystem

ApplicationSystem

ApplicationSystem

1. When to use UWL

SAP BusinessWorkflow

KMNotifications

AlertsGuidedProcedures

SAP NetWeaverBPM

Non-SAPtasks

You have multiple SAP applications that use SAP Business WorkflowThe same users have alerts and workflow tasks from multiple systemsYou want a central task list for multiple systems (SAP and non-SAP)

UniversalWorklistSAP NetWeaver

Portal

Page 5: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 4

Skills you need to be successful in UWL

Customize UWL

Patience, must read online help

XML

Possibly Web Dynpro

Portal content directory and administration

Java programming for APIUWL is a niche skill,you will be verypopular

#1 issue with UWLUnderestimating skills neededNot including UWL in overall project plan

Page 6: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 5

2. Know personalization options forend user

Main launch action: Launchvia button or via hyperlink

The Universal Worklist — “Out of the Box”

Standardinboxfeatures:Substitution

You can also:Add attachmentsView history

Standardworkflowfeatures:ForwardingAssignment

Page 7: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 6

2. End user personalization

Column orderSortingLines per pageDeadline indicators

Good or bad thing for endusers to do their ownpersonalization?

Page 8: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 7

2. Filters for end users

1

2

Page 9: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 8

3. Update UWL look and feelTwo options

1. Create a custom XML file

2. Use the UWL customizing wizard

Page 10: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 9

UWL Configuration Wizard

The UWL Administration viewincludes these wizards:

Define custom attributes andcustomize the corresponding view

Define and configure what youwant to launch when an item isclicked

Customize attributes and definewhat you want to launch when anitem is clicked (both of the aboveoptions)

Customize the look of the UWLmain page (tabs, etc.)

Page 11: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 10

1. Create a custom UWL XML configuration file (use the standard files asexamples) with your delta changes

2. Upload the file. You can upload multiple files and name them howeveryou wish (e.g., mycompany.PLM.<OurSystemAlias>).

3. Don’t forget to clear the Cache! Tip!Using an XML editor is helpful, but notessential – you can maintain yourXML file using WordPad if you wish.Use the UWL Configuration DTD file tocheck your XML syntax.

3. Update UWL look and feelIn just three steps…

Page 12: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 11

3. Change UWL Display

Change sort orderProperty sortby in the View tag

Change column orderProperty columnOrder in the View tag

Change durations for due date color codingProperties dueDateSevere (turns due date red) anddueDateWarning (turns due date yellow)Note: Duration is in milliseconds (e.g., 86400000 = 1 day)

Page 13: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 12

3. You can also hide unwantedfeaturesCompletely hide unwanted features globally by addingthe Exclude from UWL Preview and Detail property

Tip!A list of action names for standardfeatures is found in the UWLconfiguration documentation.

Don’t hide it until you knowwhat it does!

<Action name="launchSAPDetails" …<Properties>

<Propertyname="display_order_priority"value="uwlExcludeFromPreviewDetail“/>

</Properties></Action>

Page 14: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 13

3. Pass Comments from One Step tothe NextActivate the standard Add Memo feature

View Memos shows automatically once a memo has been added toa work item

Page 15: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 14

3. Pass Comments from One Step tothe Next? (cont.)

1. Download the standard file uwl.webflow2. Rename the file (e.g., mycompany.webflow)3. Add the “Add Memo” action here:

<ItemType name="uwl.task.webflow" …

<Actions>

<Action reference="addMemo"/>

<Action reference=“manageAttachments” ….

4. Upload the file and clear the Cache

Page 16: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 15

3. User decisions: You can enforce areason for rejection

Use the User Decision with Note style

A memo iscreated andautomaticallypassed tosubsequentwork items

Careful!Comments are onlysaved when an answerbutton is pressed. Askusers to use addMemoto add comments whenforwarding.

Page 17: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 16

3. Enforcing a reason for rejection

1. Copy the ItemType tag for your decision-based workflow task fromuwl.webflow.<OurSystemAlias> – change decision to your own decision name

<ItemType name=uwl.task.webflow.ourdecision.TS99999999 …

2. Within the ItemType tag, add an Actions tag, with an Action tag for each button

<Actions> <Action name="approved" groupAction="yes" handler="UserDecisionHandler"returnToDetailViewAllowed="yes" launchInNewWindow="no">

<Properties> <Property name="UserDecisionNote" value="true"/>

<Property name="decisionKey" value="1"/>

<Property name="UserDecisionTitle" value="Enter a Rejection Reason"/> </Properties>

<Descriptions default="Approved"/> </Action>

<Action name="rejected" groupAction="yes" handler="UserDecisionHandler"returnToDetailViewAllowed="yes" launchInNewWindow="no">

<Properties> <Property name="UserDecisionNote" value="mandatory"/><Property name="decisionKey" value="2"/> </Properties>

<Descriptions default="Rejected"/> </Action> </Actions>

On the first button only:Turn on the note and setup the note title

On the otherbuttons:Indicate if anote ismandatory

Get the correct values for the decisionKey by running function moduleSAP_WAPI_DECISION_READ against any work item based on therelevant workflow task

Tip!

Page 18: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 17

4. UWL task customization

Create your own process-specific filtersFilters show as Subviews if, and only if, the user has work items of thatprocess in his/her worklistFilters automatically give a count of new/total number of work items

Page 19: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 18

4: Task customization - add yourown columns

Add your own Custom Attributes

Tip! Try the UWL Configuration Wizard!

Page 20: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 19

4: Mass processing

Use Multi-approval/rejection

Tip!Save time by using the standard view WorkItemApprovalsView

Page 21: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 20

4. How to create the subviews forthe tasks1. Copy the ItemType tag for your workflow task from

uwl.webflow.<OurSystemAlias>2. Copy the defaultView tag from file uwl.standard. Rename it, add a

description, and link it to your process-specific tasks.<Views>

<View name=“OurShopCartView" selectionMode="SINGLESELECT" width="98%"supportedItemTypes="uwl.task.webflow.TS10008126,uwl.task.web…. >

<Descriptions default=“Shopping Carts“/> …. </View> </Views>

3. Add the View tag for your business process to the end of the file – justabove </UWLConfiguration>

4. Change the default View of each process-specific task to your View<ItemType name="uwl.task.webflow.TS10008126.<OurSystemAlias>"

connector="WebFlowConnector" defaultView=“OurShopCartView" …

Tip!If there is no ItemType tag for your task in uwl.webflow.<OurSystemAlias>,copy uwl.task.webflow.default from file uwl.webflow and change “default” toyour task ID “TS9999999”

Page 22: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 21

4. XML for BUS1006 taskItemType

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE UWLConfiguration PUBLIC '-//SAP//UWL1.0//EN' 'uwl_configuration.dtd' []>

<UWLConfiguration version="1.0">

<ItemTypes>

<ItemType name="uwl.task.webflow.TS9980791" connector="WebFlowConnector" defaultView="BusinessPartners"defaultAction="defaultAction">

<ItemTypeCriteria externalType="TS9980791" connector="WebFlowConnector"/>

<CustomAttributes>

<CustomAttributeSource id="ABAP_BOR" objectIdHolder="externalObjectId" objectType="BUS1006"cacheValidity="default">

<Attribute name="BUSINESSPARTNER" type="string" displayName="Business Partner"/>

<Attribute name="DESCRIPTION" type="string" displayName="Name"/>

<Attribute name="CATEGORY" type="string" displayName="Type of partner"/>

</CustomAttributeSource>

</CustomAttributes>

</ItemType>

</ItemTypes>

Page 23: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 22

4. XML for BUS1006 taskViews

<Views>

<View name="BusinessPartners" selectionMode="SINGLESELECT" width="98%"supportedItemTypes="uwl.task.webflow.TS9980791"

columnOrder="subject, isEscalated, creatorId, createdDate, priority, attachmentCount, dueDate, status, BUSINESSPARTNER,CATEGORY, DESCRIPTION" >

<DisplayAttributes>

<DisplayAttribute name="BUSINESSPARTNER" type="string" sortable="no" maxTextWidth="0" headerVisible="yes">

<Descriptions default="Business Partner"/> </DisplayAttribute>

<DisplayAttribute name="DESCRIPTION" type="string" sortable="no" maxTextWidth="0" headerVisible="yes">

<Descriptions default="Name"/> </DisplayAttribute>

<DisplayAttribute name="CATEGORY" type="string" sortable="no" maxTextWidth="0" headerVisible="yes">

<Descriptions default="Type of partner"/> </DisplayAttribute>

</DisplayAttributes>

</View>

</Views>

</UWLConfiguration>

Page 24: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 23

5. UWL by default knows how tolaunch tasksThe default launch mechanism for all work itemssourced from an SAP Business Workflow is SAPGUI forHTML, but you can override this.

Tips!You can override the defaultlaunch mechanism using anyof the following:

Special settings in the task(e.g., DECISION.PROCESSmethod)Settings in transactions:SWFVISU, WF_EXTSRVCreating a custom UWL XMLconfiguration fileGlobally in the PCD entry forthe UWL iView

Don’t forget to re-registerand clear the Cache!

Page 25: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 24

5. UWL action handlers

Use action handlers to execute custom UI’s for the task

This is recommended but requires programming knowledge

Common handlers are Web Dynpro, BSP, Function Module, iView

Page 26: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 25

5. Use action handlers to create acustom forward button

Add your own actions using theAction handlers (e.g., createyour own custom “Forward toSuperior” button calling yourown custom function moduleusing theFunctionModuleActionHandler)

Tip!Make sure you read the UWLAdvanced Configuration guide tounderstand what properties arerelevant for each handler!

PortalEventLauncherUserDecisionHandlerUpdatingContainerHandlerFunctionModuleActionHandlerTerminatingEventHandlerXhandlerLauncherUrlLauncherObjectNavigationLauncherObjectLinkLauncherSAPBSPLauncherSAPTransactionLauncherSAPWebDynproABAPLauncherSAPWebDynproLauncherSAPIACLauncherSAPMiniAppLauncherSAPAppLauncherIViewLauncher

Page 27: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 26

5. Use transaction code SWFVISU toconfigure your action handlerYou need to enter your application type and application ID

The application type pre-determines what other details are needed

Tip!To apply the SWFVISU settings you need to:• Re-register the system• You will see a matching entry in the file uwl.webflow.MySystemAlias

Don’t forget to clear the Cache!

Page 28: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 27

5. Recommendations for actionhandler customization

Three major options when customizing tasks:

1. Manually create your XML and upload it

2. UWL wizard

3. Transaction code SWFVISU

Recommendation: Use SWFVISU when possible

SAP delivers tasks in SWFVISU

Easier to maintain than XML files

Page 29: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 28

6. One Inbox for All Work – SAP andNon-SAP

Include non-SAP work in the UWL by using the UWLJava API to create your own UWL Connector

https://help.sap.com/javadocs/NW04S/current/uw/index.html

Page 30: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 29

6. How Much Work Is It to use theUWL API?

UWL API has the following parts:

1. Registration Service to register a unique ID for the non-SAP“system ID”

2. UWL Connector Service to push and pull the worklist from thenon-SAP system and map it to the UWL item attributes

3. Action Handler Services to support any buttons you need

4. Attachment Connector Services to support any attachments youneed (optional)

5. UWL XML Configuration for your non-SAP item types

Estimated effort: 10-30 person days depending on depth of integration.Basic integration is usually possible within 10-15 days.

Page 31: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 30

6. But Has Any One Else Done This …

Connectors already exist for:WebFlowAd Hoc WorkflowAlertsKM Action InboxGeneric ABAP connectorSAP NetWeaver BPMSAP NetWeaver MDM

Publicly available details of how others did it:SONiC Connector – available as part of the SONiC downloadUWL Connector for MDM

See SDN Blog www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4762RSS Feeds – presented at SAP TechEd

This has been implemented at a number of customersalready – and it’s the same approach as is used for thestandard connectors

Page 32: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 31

7. Substitution is done either inprovider systems or UWLYou can prevent users from creating/deletingsubstitution rules in the Object Visualization section inthe Portal Content Directory

Tip!To find the iView go to:

Portal Content > Content Provided bySAP > End User Content > StandardPortal Users > iViews >

Page 33: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 32

7. Recommendations forsubstitution

UWL is only for user based substitutes

Set up substitutions on backend if using multiplesystems (turn off substitution in UWL)

Use HR A210 relationships for position basedsubstitutes

Page 34: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 33

8. Extended Notifications

Use Extended Notifications to notify users of work, givinghyperlinks to launch into the UWL. Avoids complexintegration issues with mail groupware versions.

Page 35: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 34

8. Setting Up ExtendedNotifications

1. Create a Delivery Schedule2. Add a Subscription to Scenario WORKFLOW Category STANDARD3. Create a Schedule Selection for filter ALL_DELTA4. Adjust the General Settings

Minimum setup of Extended Notifications intransaction SWNCONFIG, then schedule a batch jobfor program SWN_SELSEN

Page 36: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 35

8. Setting up Extended Notifications

Solution: Minimum changes for General SettingsAddress priority:Where do I want theemail address to comefrom? Infotype 105/0010?Transaction SU01?

UWL link and caption:Hyperlink to the UWL

Sender name:Make sure it identifies thesystem/client to avoidconfusion during testing

Messages (NA) andDialog Texts (DT):Used as header/footer ofthe email notification

Page 37: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 36

9. Configuring Delta PullUWL administration setup

Delta Pull Channel Refresh - set to every few secondsWithout using the refresh feature, new items are fetched from the backend everyminute. Default: 60 seconds, 30 seconds for alerts.No optimized pull take place if you leave the field empty or enter a negativenumber.

Delta Pull Channel Snapshot – 1440 is one a dayAll items at the current time are fetched from the backend (for example from theSAP Business Workflow). The cache is synchronized thereafter.New / modified / deleted / updated items are fetched every session (every log on)if you leave the field value empty or enter a negative number.

Page 38: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 37

9. Configuring Delta PullUWL_SERVICE user

1

2

3

Page 39: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 38

9. Configuring Delta PullNote 133821 and Online Help

Define the following two batch jobs:

UWL_DELTA_PULL_1: ABAP report RSWNUWLSEL in FULL mode.Run the job once a day.

UWL_DELTA_PULL_2: ABAP report RSWNUWLSEL in DELTA modeRun the job every 1-3 minutes.

Page 40: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 39

10. What is next for UWL

SAP NetWeaver 7.2 (ramp up planned 2009)Real-time refresh upon task completionOffice notifications in UWLAccessibility 3.0 standardCCMS monitoringAttribute loading improvements

SAP NetWeaver 7.02 (ramp up planned 2009)Office notifications in UWLAccessibility 3.0 standardAttribute loading improvements

Page 41: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 40

UWL Strategy Tips

Consider what you will need for the long term (not justfor the first-phase workflows)Consider how you want your users to use standardfeatures

Especially Substitution and ForwardingOne workflow inbox in the Portal – the UWL

Decide your corporate attitude towards the Windows GUI SAPBusiness Workplace inbox (avoid supporting it if you can)

Don’t forget the obviousConsistency in subject and detail text format

Don’t turn it off until youunderstand what it does!

Page 42: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 41

Debugging tip

In your Development Portal, turn on the UWL SupportInformation in the Portal Content Directory. This can save youa lot of time when configuring the UWL XML.

Support Information:Appears immediatelybelow the work itempreview.

Page 43: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 42

Key Points to Take Home

Don’t settle for UWL “Out of the Box”

Don’t leave usability up to your developers

Include UWL in your project plan and allocate time tolearnBusiness process owners need to sign off on usability

As a minimum, set up UWL Filters to improve usability

Set enterprise-wide Workflow Standards to improveconsistency

Consider what you will need for the long term

Don’t turn it off until you know what it does

Page 44: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 43

Resources – UWL Configuration

Advanced Configuration of UWLhttp://help.sap.com/saphelp_nw70/helpdata/en/27/8be9f12c6746158328764a13c0ef99/frameset.htm

SDN UWL Blogswww.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_weblog&query=UWL&adv=false&sortby=cm_rnd_rankvalue

SDN Extended Notification Blogswww.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_weblog&query=SWNCONFIG&adv=false&sortby=cm_rnd_rankvalue

SAP SDN BPM and Workflow Forumhttps://forums.sdn.sap.com/forum.jspa?forumID=146

UWL FAQhttps://wiki.sdn.sap.com/wiki/display/BPX/UWL+FAQ

SAP PressUniversal Worklist with SAP NetWeaver PortalPractical Workflow for SAP, 2nd edition, due June 2009

Page 45: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 4444

Join docupedia today!

Docupedia, our SAP NetWeaver documentation wiki pilot is now open tocustomers and partners.

How can YOU participate? Access to docupedia:https://cw.sdn.sap.com/community/docupedia

Learn more about docupedia at ASUG:

3002 - Lowering the Total cost of understanding via interactive documentation 05/12/2009 @ 2:00PM - 3:00 PM EP 2

1603 - Making SAP's Knowledge Architecture More Effective 05/12/2009 @ 3:30 PM - 4:45 PM -Influence 2

5309 - Strategy Session: docupedia 05/13/2009 @ 4:00 PM - 5:30 PM NetWeaver 3

5311 - Strategy Session: docupedia 05/14/2009 @ 10:00 AM - 11:30 AM NetWeaver 3

Test drive Docupedia @ Usability Lab Tuesday through Thursday:http://usability.sap.com/Home.aspx

Page 46: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 45© SAP 2007 / Page 45

Thank you!

Page 47: top10recommendationsuwl1-110202072617-phpapp02

© SAP 2009 / Page 46

Copyright 2009 SAP AGAll rights reservedNo part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission ofSAP 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 softwarevendors.SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge and otherSAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAPAG in Germany and in several other countries all over the world. All other product and service names mentioned and associatedlogos displayed are the trademarks of their respective companies. Data contained in this document serves informationalpurposes only. National product specifications may vary.

The information in this document is proprietary to SAP. This document is a preliminary version and not subject to your licenseagreement or any other agreement with SAP. This document contains only intended strategies, developments, andfunctionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, productstrategy, and/or development. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrantthe accuracy or completeness of the information, text, graphics, links, or other items contained within this material. Thisdocument is provided without a warranty of any kind, either express or implied, including but not limited to the implied warrantiesof 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 damagesthat 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 youmay access through the use of hot links contained in these materials and does not endorse your use of third-party Web pagesnor provide any warranty whatsoever relating to third-party Web pages