SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

38
Ralf Kestler Huaiyang Mao Volker Guzman Jörg Brose Oliver Hilss Frank Dauscher Suite Renovation Cookbook for Reuse Inbox from Business Suite Foundation Layer Document Version Status Date 0.9 Draft 22.09.09 0.10 Draft 16.10.09 0.11 Draft 27.10.09 1.0 Released 01.12.09 1.1 Released 18.10.09 1.12 Released 10.02.10 Features and functions, which are not mentioned in this document, are not supported in the current release. You may submit your Development Request for the next release through SRM Solution Management.

description

SAP Cookbook for Reuse Inbox from Business Suite

Transcript of SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Page 1: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Ralf Kestler Huaiyang Mao Volker Guzman Jörg Brose Oliver Hilss Frank Dauscher

Suite Renovation Cookbook for Reuse Inbox from Business Suite Foundation Layer

Document Version Status Date

0.9 Draft 22.09.09

0.10 Draft 16.10.09

0.11 Draft 27.10.09

1.0 Released 01.12.09

1.1 Released 18.10.09

1.12 Released 10.02.10

Features and functions, which are not mentioned in this document, are not supported in the current release. You may submit your Development Request for the next release through SRM Solution Management.

Page 2: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 2

Inhaltsverzeichnis:

1 Inbox ................................................................................................................................ 4

1.1 Introduction ................................................................................................................................................. 4

2 Quick Guide to reuse Inbox ........................................................................................... 5

2.1 How to reuse inbox in general? ................................................................................................................. 5

2.2 How did SRM re-use the inbox? ................................................................................................................ 7

3 Tasks for Reusing Inbox ................................................................................................ 9

3.1 Define New POWL Feeder .......................................................................................................................... 9

3.1.1 Constructor ............................................................................................................................................... 9

3.1.2 Overide method READ_CUST_ACTIONS ............................................................................................... 9

3.1.3 Overide method READ_CUST_FIELDCAT ............................................................................................. 9

3.1.4 Override method SET_MV_RESULTSTRUCTURE............................................................................... 10

3.1.5 Overide method SET_MV_RESULTS .................................................................................................... 11

3.1.6 Override Interface method IF_POWL_FEEDER~GET_OBJECTS ........................................................ 11

3.2 POWL Customizing ................................................................................................................................... 12

3.2.1 Create POWL application for your inbox ................................................................................................ 14

3.2.2 Create your own POWL Feeder Type with your own Feeder Class ...................................................... 15

3.2.3 Assign the POWL Feeder Type to the your Inbox POWL application ................................................... 16

3.2.4 Create POWL Query .............................................................................................................................. 17

3.2.5 Assign the POWL Query to your inbox POWL application .................................................................... 20

3.3 Inbox Action and Task Definition ............................................................................................................ 22

3.3.1 Standard Actions .................................................................................................................................... 22

3.3.2 Create or Change Actions ...................................................................................................................... 22

3.3.3 Action Parameters .................................................................................................................................. 23

3.3.4 Define Action Parameters ...................................................................................................................... 24

3.3.5 Define Tasks........................................................................................................................................... 24

3.3.6 Select Custom Attributes ........................................................................................................................ 24

3.3.7 Assign Actions to Tasks ......................................................................................................................... 25

3.3.8 Defining the Standard Actions for Tasks, Notifications and Alerts ......................................................... 25

3.3.9 Example: Launch Application via OBN .................................................................................................. 25

3.3.10 Example: Launch Application via Launch Pad ................................................................................ 26

3.4 Other Customizing/Features .................................................................................................................... 27

3.4.1 Assign Task IDs to POWL Types ........................................................................................................... 27

3.4.2 BAdI to customize the work item details area ........................................................................................ 28

3.5 Webdynpro Configuration ........................................................................................................................ 29

3.5.1 Create the Webdynpro component configuration................................................................................... 29

3.5.2 Create the Webdynpro Application Configuration .................................................................................. 29

3.5.3 Start the application ................................................................................................................................ 29

Page 3: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 3

3.6 Integrate Inbox in Business Client for Browser ..................................................................................... 30

3.6.1 Create the role ........................................................................................................................................ 30

3.6.2 Mandatory Navigation Customizing ....................................................................................................... 31

3.6.3 Optional Navigation Customizing ........................................................................................................... 32

4 FAQ ................................................................................................................................ 35

5 APPENDIX ..................................................................................................................... 36

5.1 Standard Actions ...................................................................................................................................... 36

5.1.1 Standard Actions in Work Item POWL ................................................................................................... 36

5.1.2 Standard Actions in Alert POWL ............................................................................................................ 36

5.1.3 Standard Actions in Notification POWL .................................................................................................. 36

5.2 Adapt the layout and pushbuttons of POWL in SRM ............................................................................ 37

5.2.1 Adjusting the initial table layout .............................................................................................................. 37

5.2.2 Configuring the pushbuttons .................................................................................................................. 37

Page 4: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 4

1 Inbox

1.1 Introduction

The Inbox is a POWL application with extended functionality: workflow task specific action per configuration, Details Area, Substitution Filter etc. The following figure depicts an overview of building blocks of Inbox.

InboxSRB-EBP-INB

...

WD Inbox

POWL

Inbox Facade

Action

Handler

Refresh

Handler

R

R

Configuration

Provider

R

...Feeder

WD

Substitute

RSubst

Facade

R

R

Figure 1: Inbox Architecture Overview

Page 5: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 5

2 Quick Guide to reuse Inbox

2.1 How to reuse inbox in general?

The inbox shall be reused with little effort, mostly through customizing.

There are two levels of reuse:

- Basic re-use with action configuration in step 7 (However, you will not have any application specific actions avaible except default action for the work item text link). After configuration you can start the inbox as in step 10.

- Advanced re-use with configuration and implementation of your own feeder classes, subclass of class CL_IBO_INBOX_FEEDER_WI for work items, subclass CL_IBO_INBOX_FEEDER_NOTIF for notification, or CL_IBO_INBOX_FEEDER_ALERT for alert, respectively. This allows complete control of work item list and field catalog.

Remark: See chapter 5.1 for a list of default actions provided. For these actions buttons are available without the need to create your own feeder implementations.

Remark : The POWL framework does not provide customizing tables for buttons and field catalogs; instead, each using application must implement their own feeder classes. The inbox as a re-use of the POWL assumes that each application already uses the POWL, already has a framework/ set of utility classes that assists with POWL buttons and field catalogs, and intends to re-use these.)

The steps to be followed as:

1. (Optional) Create your own Feeder classes.

Start SE80. Your own Feeder allows complete control over button layout and field catalogs; you can add application specific buttons and change the field catalog meta data. Subclass the inbox feeder class CL_IBO_INBOX_FEEDER_WI/NOTIF/ALERT respectively and override methods READ_CUST_ACTIONS and READ_CUST_FIELDCAT.

2. (Optional) Create POWL application for your inbox.

If you want to reuse the standard inbox with configuration only, you don‟t need create a new POWL application; otherwise, start transaction FPB_MAINTAIN_HIER. Each business application should use its own POWL application ID (Standard Inbox has the POWL application ID „IBO_INBOX‟).

3. (optional) Create your own POWL Type with your own Feeder Class

Start transaction POWL_TYPE to create new POWL feeder types with your own feeder class. Probably you will want to display workitems, alerts, and notifications. So you would need to create 3 different feeder types. (E.g. SRM uses 3 feeder types „SAPSRM_IBO_FEEDER_WI‟, „SAPSRM_IBO_FEEDER_ALERT‟, and „SAPSRM_IBO_FEEDER_NOTIF‟). Use feeder classes „CL_IBO_INBOX_FEEDER_WI‟, „CL_IBO_INBOX_FEEDER_ALERT‟, and „CL_IBO_INBOX_FEEDER_NOTIF‟ if you did not perform the previous step 2, otherwise use your own feeder classes.

4. (Optional) Assign the POWL Type to your Inbox POWL application.

Start transaction POWL_TYPER.

5. (Optional) Create POWL Query with the POWL Type

Start transaction POWL_QUERY

6. (Optional) Assign the POWL Query to your inbox POWL application

Start transaction POWL_QUERYR

7. Configure the mapping of workflow task and its actions.

Add all workflow task types to the configuration tables that should be handled in the inbox. Without declaration of workflow task types the tasks can only be displayed but cannot be processed. Each task

Page 6: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 6

should have a default action, this action will be executed on link click (e.g. in SRM, a click opens a document in a new window).

8. (Optional) Create a Webdynpro component configuration

Create a Webdynpro component configuration for the Webdynpro component IBO_WDC_INBOX and set the POWL application ID. This is required for finding the correct configuration (e.g. SRM uses the POWL application ID „SAPSRM_IBO_INBOX‟).

9. (Optional) Create a Webdynpro application configuration

Create a Webdynpro application configuration for the Web Dynpro application IBO_WDA_INBOX (package IBO_INBOX_UI) and set the Webdynpro component configuration for WD component IBO_WDC_INBOX and POWL_UI_COMP(e.g. SRM uses a Webdynpro component component configuration „/SAPSRM/IBO_WDCC_INBOX‟ which is referenced in Webdynpro application configuration „/SAPSRM/IBO_WDAC_INBOX‟).

10. Start the application

Start the Webdynpro application IBO_WDA_INBOX with WDCONFIGURATIONID = IBO_WDAC_POWL_INBOX (for basic reuse) or the in step 7 created Webdynpro application configuration.

11. (optional) Maintain the menu of role if Navigation Frame used.

In transaction PFCG ensure that your employee role has the following menu entry: „Inbox‟ referring to WD application „IBO_WDA_INBOX‟ with parameter WDCONFIGURATIONID set to your Webdynpro application configuration created in step 7 (e.g. SRM uses a Webdynpro component component configuration „/SAPSRM/IBO_WDCC_INBOX‟ which is referenced in Webdynpro application configuration „/SAPSRM/IBO_WDAC_INBOX‟). These settings are recommended, they ensure that an employee user can open the inbox from his user menu.

The following figure shows the architecture of reuse inbox in general.

Page 7: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 7

Figure 2: Inbox Reuse Architecture Overview

2.2 How did SRM re-use the inbox?

The SRM application was able to reuse the Inbox with little effort, mostly through customizing. The steps of inbox re-use by SRM are listed in the following:

1. Create SRM Inbox Feeder Class.

In transaction SE80 SRM specific feeder classes /SAPSRM/CL_IBO_DELEGATE_WI, /SAPSRM/CL_IBO_DELEGATE_ALERT, and /SAPSRM/CL_IBO_DELEGATE_NOTIF were created. Note: SRM did not follow the recommendations to create subclasses of class CL_IBO_INBOX_FEEDER_WI/ALERT/NOTIF. Instead, the “bridge” pattern was used to dynamically leverage an SRM specific feeder class hierarchy to the feeder class hierarchy in the foundation layer. This was necessary as SRM classes and classes from IBO package must be completely decoupled.

2. Create POWL application „SAPSRM_IBO_INBOX‟.

Start transaction FPB_MAINTAIN_HIER to create SRM Inbox

3. Create POWL Feeder Type.

In transaction POWL_TYPE 3 new POWL feeder types were created: „SAPSRM_IBO_FEEDER_WI‟, „SAPSRM_IBO_FEEDER_ALERT‟, and „SAPSRM_IBO_FEEDER_NOTIF‟

4. Assign POWL Feeder Type to SRM POWL application.

In transaction POWL_TYPER the new POWL feeder types were assigned to the SRM Inbox POWL application.

5. Create POWL Query with the POWL Feeder Type

Start transaction POWL_QUERY

6. Assign the POWL Query to SRM inbox POWL application

Start transaction POWL_QUERYR

7. Customizing SRM Inbox POWL buttons and field catalogs.

SRM uses its own customizing tables for POWL buttons and POWL field catalogs. These SRM specific customizing tables are used for all POWL queries used in SRM, not only for the SRM inbox. The SRM specific feeder classes /SAPSRM/CL_IBO_DELEGATE_WI, /SAPSRM/CL_IBO_DELEGATE_ALERT, and /SAPSRM/CL_IBO_DELEGATE_NOTIF retrieve their customizing from these SRM specific customizing tables in the methods READ_CUST_ACTIONS and READ_CUST_FIELDCAT. In transaction /SAPSRM/POWL_CUST the SRM specific POWL buttons and POWL field catalogs were customized. This includes SRM specific tasks and their SRM specific actions (e.g. a task for approval of a shopping cart would include actions „Approve‟, „Reject‟, „Display‟, and „Print Preview‟).

8. Create Web Dynpro Component Cofiguration

Create the Webdynpro component configuration „/SAPSRM/IBO_WDCC_INBOX‟ for the Webdynpro component IBO_WDC_INBOX and set the POWL application ID „SAPSRM_IBO_INBOX‟.

9. Create a Webdynpro application configuration

Create a Webdynpro application configuration „/SAPSRM/IBO_WDAC_INBOX‟ for the Web Dynpro application IBO_WDA_INBOX (package IBO_INBOX_UI) and set the Webdynpro component configuration „/SAPSRM/IBO_WDCC_INBOX‟ for WD component IBO_WDC_INBOX and IBO_WDCC_POWL_INBOX for POWL_UI_COMP.

10. Start the application

Start the Webdynpro application IBO_WDA_INBOX with WDCONFIGURATIONID = /SAPSRM/IBO_WDAC_INBOX

The following figure shows the architecture of SRM reuse inbox.

Page 8: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 8

Figure 3: SRM Reuse Architecture Overview

Page 9: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 9

3 Tasks for Reusing Inbox

3.1 Define New POWL Feeder

If you have application specific actions to be performed for work items, then you need to create new class <Feeder> which inherits from class CL_IBO_INBOX_FEEDER_WI.

3.1.1 Constructor

The constructor of the feeder should initialize the feeder as in the following coding.

METHOD constructor.

super->constructor( ).

CALL METHOD me->initialize_feeder.

ENDMETHOD.

3.1.2 Overide method READ_CUST_ACTIONS

In this method you can add application specific buttons in the POWL. The mapping of tasks and its actions in the customizing will determine if certain button should be enabled or not after the line of work item selected.

METHOD read_cust_actions.

DATA lt_actions TYPE powl_actdescr_tty.

DATA ls_action TYPE powl_actdescr_sty.

* get workflow standard actions

super->read_cust_actions(EXPORTING iv_type = iv_type

iv_langu = iv_langu

IMPORTING et_actions = lt_actions ). * add application specific actions

ls_action-actionid = 'APPROVE'.

ls_action-cardinality = 'S'. "At least one object has to be selected

ls_action-placement = 'B'. "Toolbar

ls_action-enabled = 'X'.

ls_action-placementindx = '1'.

ls_action-text = 'Approve'(001).

ls_action-tooltip = 'Approve'(002).

INSERT ls_action INTO TABLE lt_actions.

et_actions = lt_actions.

ENDMETHOD.

3.1.3 Overide method READ_CUST_FIELDCAT

In this method you can override the standard field catalog to change the field catalog meta description , e.g. column position, header , header, tooltip, display type.

Page 10: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 10

METHOD read_cust_fieldcat.

DATA ls_fieldcat TYPE powl_fieldcat_sty.

DATA lt_fieldcat TYPE powl_fieldcat_tty.

DATA ls_fieldcat_wa TYPE powl_fieldcat_sty.

* get standard field catalogs

super->read_cust_fieldcat(EXPORTING iv_type = iv_type

iv_langu = iv_langu

IMPORTING et_fieldcat = lt_fieldcat ).

* override standard field catalogs

READ TABLE lt_fieldcat INTO ls_fieldcat_wa

WITH TABLE KEY colid = 'WI_TEXT'.

* in standard inbox the display type of work item text is LU (Link to URL)

* because it is assumed that each re-use application uses the link to

* display a URL (OBN or launchpad) if work item text clicked.

* you can override its display type of to TV (Text View) if no action needs

* to be performed.

ls_fieldcat_wa-display_type = 'TV'. "Text View

MODIFY TABLE lt_fieldcat FROM ls_fieldcat_wa

TRANSPORTING display_type.

et_fieldcat = lt_fieldcat.

ENDMETHOD.

3.1.4 Override method SET_MV_RESULTSTRUCTURE

If you want to see additional work item information besides the information in the standard structure IBO_S_INBOX_WORKITEM in Inbox work item list, then you need to create a new structure, e.g.

YOUR_IBO_S_INBOX_WORKITEM, which includes IBO_S_INBOX_WORKITEM.

Figure 4: Extend Inbox Work Item Result Structure

This new structure should be set in this method. To fill the data in this new structure, the method IF_POWL_FEEDER~GET_OBJECTS have to be overridden, see Chapter 3.1.6.

METHOD set_mv_resultstructure.

mv_resultstructure = 'YOUR_IBO_S_INBOX_WORKITEM'.

ENDMETHOD.

Page 11: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 11

3.1.5 Overide method SET_MV_RESULTS

In this method the table type of the objects showed in the POWL (result table of this feeder) should be defined.

METHOD set_mv_results.

mv_results = 'YOUR_IBO_T_INBOX_WORKITEM'.

ENDMETHOD.

that is table type with the line type defined in 3.1.4.

Figure 5: Create Inbox Result Table Type

3.1.6 Override Interface method IF_POWL_FEEDER~GET_OBJECTS

If your own result structure of work item list is used, you can fill that structure with the additional work item information in this method. Here is an example of the implementation which retrieve information from workflow container.

METHOD if_powl_feeder~get_objects.

DATA lt_results TYPE your_ibo_t_inbox_workitem.

DATA lr_result TYPE REF TO your_ibo_s_inbox_workitem.

DATA lt_container TYPE swrtcont.

DATA lr_container TYPE REF TO swr_cont.

DATA lt_messages TYPE powl_msg_tty.

DATA lv_return_code TYPE sy-subrc.

CALL METHOD super->if_powl_feeder~get_objects

EXPORTING

i_username = i_username

i_applid = i_applid

i_type = i_type

Page 12: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 12

i_selcrit_values = i_selcrit_values

i_langu = sy-langu

i_visible_fields = i_visible_fields

IMPORTING

e_results = lt_results

e_messages = lt_messages

.

* Fill additional work item information, e.g. from workflow container using

* the function module 'SAP_WAPI_READ_CONTAINER'

LOOP AT lt_results REFERENCE INTO lr_result.

CLEAR lt_container.

CALL FUNCTION 'SAP_WAPI_READ_CONTAINER'

EXPORTING

workitem_id = lr_result->wi_id

IMPORTING

return_code = lv_return_code

TABLES

simple_container = lt_container

.

READ TABLE lt_container REFERENCE INTO lr_container WITH KEY element = 'TOTA

L_VALUE_STRING'.

lr_result->total_value_string = lr_container->value.

ENDLOOP.

e_results = lt_results.

ENDMETHOD.

3.2 POWL Customizing

For POWL customizing following Transactions are used.

Page 13: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 13

Make the POWL Query

visible to the Application and

determine where the POWL

Query should be placed.

Transaction:

POWL_QUERYR

(& POWL_QUERYU)

Create a POWL Query

Transaction:

POWL_QUERY

Create a context ID

(APPLID)

Transaction:

FPB_MAINTAIN_HIER

Create a POWL Category

Transaction:

POWL_CAT

Make the POWL Feeder Type

visible to context ID

Transaction:

POWL_TYPER

(& POWL_TYPEU)

Register the POWL Feeder

Type

Transaction:

POWL_TYPE

Figure 6: POWL Customizing Transaction

Page 14: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 14

3.2.1 Create POWL application for your inbox

If you want to reuse the standard inbox with configuration only, you don‟t need create a new POWL application; otherwise, start transaction FPB_MAINTAIN_HIER. This transaction is used to create the POWL application (POWL Application ID = APPLID) and to provide a short textual description (Name of POWL).

APPLID is needed in order to identify your POWL and the content ( POWL Feeder Types ).

Figure 7: Transaction FPB_MAINTAIN_HIER

The additional POWL terms explained before have following cardinality and relations.

Page 15: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 15

Figure 8: POWL Terms and their Relations

3.2.2 Create your own POWL Feeder Type with your own Feeder Class

Start transaction POWL_TYPE to create the new POWL Feeder Type. This POWL Feeder Type has to be assigned to the Feeder Class. Description of this POWL Feeder Type has to be added. The description will be used within the POWL dialog for the user specific query definition.

In addition attribute „Sync‟ must be set for inbox, this will force a synchronous refreshing of this type. By default the POWL refreshes asynchronous.

Page 16: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 16

Figure 9: Create POWL Feeder Type in Transaction POWL_TYPE

3.2.3 Assign the POWL Feeder Type to the your Inbox POWL application

Start the transaction POWL_TYPER to tell the POWL Application which feeder types are available for the new POWL application of Inbox (APPLID). If there are no entries for the Feeder Type in this table or the following transaction POWL_TYPEU, this Feeder Type will not be available within the POWL and all queries based on this type won‟t be available too.

Page 17: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 17

Remark: For SRM POWL only the Transaction POWL_TYPER is used without Role assignment.

Figure 10: Assign POWL Feeder Type to POWL application in Transaction POWL_TYPER

3.2.4 Create POWL Query

Start the transaction POWL _QUERY to create or change „admin‟ work lists. This queries will be, when assigned to a user or a context, used for derivation. This is a simple way for the administrator to define „template‟ work lists for n users. These templates queries can contain predefined selection values, special settings like read-only, quick search etc . plus you can create admin layout variants ( now called views ) for embedded WD ALV.

This Query ID has to be assigned to a Feeder Type.

Query Description should be created.

Page 18: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 18

Figure 11: Create POWL Query in Transaction POWL_QUERY

Query Parameters

Query Parameters for represented Query have to be filled.

Page 19: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 19

Figure 12: Set Query Parameters in Transaction POWL_QUERY

Query Settings

Query Settings for represented Query have to be maintained.

Page 20: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 20

Figure 13: Set Query Settings in the Transaction POWL_QUERY

3.2.5 Assign the POWL Query to your inbox POWL application

Transaction POWL_QUERYR/ POWL_QUERYU is similar to POWL_TYPER/ POWL_TYPEU, but this time for queries(work lists) . An entry for a admin query has to be assigned to your POWL application. These queries will be automatically derivated when a user starts his POWL the first time. The sequence of queries can be changed. Categories can be assigned. Assignments can be activated/deactivated.

Remark: For SRM POWL only the Transaction POWL_QUERYR is used without Role assignment.

The Role and User assignment are issues of role configuration in PFCG.

.

Page 21: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 21

Figure 14: Assign POWL Query to POWL Application in the Transaction POWL_QUERYR

Page 22: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 22

3.3 Inbox Action and Task Definition

You can define actions and their properties, define default actions for specific tasks, and assign custom attributes and actions to tasks in IMG SAP Customizing Impementation Guide -> Cross-Application Components -> Inbox. Note: The Action and Task Definition of the inbox is comparable to the configuration of the Universal Worklist (UWL). For more information, see SAP Help Portal at http://help.sap.com -> SAP NetWeaver Library -> Technology Consultant's Guide -> Business Task Management -> Universal Worklist Configuration. Standard settings SAP delivers default settings using the following system tables:

IBO_C_WF_ACS for actions

IBO_C_WF_APS for action properties

IBO_C_WF_TAS for tasks and their default actions

IBO_C_WF_CAS for assignment of custom attributes to tasks

IBO_C_WF_TTAS for assignment of actions to tasks The customer can override the data through entries in the following customizing tables:

IBO_C_WF_AAC for actions

IBO_C_WF_APC for action properties

IBO_C_WF_TAC for tasks and their default actions

IBO_C_WF_CAC for assignment of custom attributes to tasks

IBO_C_WF_TTAC for assignment of actions to tasks

3.3.1 Standard Actions

The inbox provides some standard actions which are available without the need for customization. These standard actions are:

- “Forward” (of workitems and alerts, with button ID “FORWARD”

- “Resubmit” (of work items and notifications, with button ID “RESUBMIT”)

- “End Resubmission” (of work items, with button ID “END_RESUBMISSION”)

- “Assign to Me” (of work items, with button ID “ASSIGNTOME”)

- “Cancel Assignment” (of work items, with button ID “CANCELASSIGNMENT”)

- “Substitution” (of workflow agents, with button ID “SUBST”)

- “Subscribe” (of alert categories, with button ID “SUBSCRIBE”)

- “Complete” (of alerts, with button ID “COMPLETE”)

- “Delete” (of notifications, with button ID “DELETE”).

- “Not Responsible” (for a work item, with button ID “DECLINE”)

- “Refresh” (with button ID “REFRESH”)

- “Complete” (of work item and alerts, with button ID “COMPLETE”)

Note: The “Complete” action for work item is specific to tasks which has set the flag “Confirm end of processing” in the transaction PFTC (maintain task). This action will be enabled if the work item has the status „COMMITTED‟ and its attribute WI_CONFIRM is „X‟.

3.3.2 Create or Change Actions

You can define actions in the table IBO_C_WF_ACS: A new action needs the following entries:

Action Name: Name for the action you want to create.

Action Type for Action: The following action types are available: FUNCTIONMODULEACTIONHANDLER OBJECTNAVIGATIONLAUNCHER

Page 23: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 23

LAUNCHPADACTIONHANDLER (BETA!!! Untested!!)

Button ID for Action Mapping: ID of the button to which this action is assigned. Example: The following buttons are available in SRM:

APPROVE REJECT FOLLOWUP DISPLAY (this is set as default action) PRINT

Refresh Type for Action: There are possible values

OPTIMISTIC (optimistic removal of selected line, after a click on “Refresh” button the entry may reappear)

(no entry, no refresh takes place)

Example: SRM uses the refresh type „OPTIMISTIC‟ for actions „APPROVE‟ and „REJECT‟. The work items are processed by calling a function module. It cannot be guaranteed that processing succeeds.

If the customizing table C_WF_IAC contains an entry for a specific action, the system ignores any entry for this action in the system table C_WF_ACS.

3.3.3 Action Parameters

Some actions have mandatory parameters.

An action of action type FUNCTIONMODULEACTIONHANDLER will try to call a function module. The minimum parameter list must include the name of the function module. Other parameters depend on the function module called. Only importing parameters of primitive types are supported.

Example: The SRM specific action “APPROVE” calls the function module „/SAPSRM/FU_WF_RFC_DECISION‟ with several importing parameters. The first parameter defines which function module is called. The other parameters are passed on to the function module :

FunctionModule = „/SAPSRM/FU_WF_RFC_DECISION‟

IV_APF_VERSION = „0600‟

IV_BOTYPE = „${item.BOTYPE}‟

IV_DECISION = „APPROVED‟

IV_HEADER_GUID = „${item.BOID}‟

IV_MODE = „APPROVAL‟

IV_WIID = „${item.externalId}‟

An action of action type OBJECTNAVIGATIONLAUNCHER will trigger object-based navigation. Mandatory parameters are „ObjectName‟, and „method‟.

Example: The SRM specific action “launchWD.sc.display” will display a shopping cart document in a new window. The Object “sc” and its method “detailprof” is called, the parameter „ObjectValue‟ will be passed on to the OBN navigation:

ObjectName = „launchWD.sc.display‟

Operation = „detailprof‟

System = „SAP_SRM‟ (optional, if empty OBN in local system will be used)

ObjectValue = „a=b&sapsrm_botype=${item.BOTYPE}&sapsrm_boid=${item.BOID}&System=${item.systemId}&sapsrm_wiid=${item.externalId}…‟ (optional, additional parameters can be passed as URL parameters)

An action of action type LAUNCHPADACTIONHANDLER will try to retrieve a launchpad configuration and launch the URL configured.

Page 24: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 24

A possible configuration might look like this:

LPD_ROLE = „SAPSRM‟

LPD_INSTANCE = „NAVIGATION‟

LPD_APPL_ALIAS = „SAP_SRM/SC/CREATE‟

3.3.4 Define Action Parameters

You can define parameters for actions that you have defined in the table IBO_C_WF_ACS A new action parameter needs the following entries:

Action Name: Name of the action as defined under Create or Change Actions.

Name of Action Property: Name of the parameter you want to define.

Value of Action Property: Enter a static or dynamic parameter. A dynamic parameter is replaced with an actual value read from the work item at runtime. It should be enclosed with "${item." and “}”, e.g., ${item.internalID}, or ${item.processor}.

If the customizing table IBO_C_WF_IAP contains one or more entries for a specific action, all entries in the corresponding system table IBO_C_WF_APS for this action are ignored.

3.3.5 Define Tasks

You can define the default action for a task in the table IBO_C_WF_TAS. s follows: You need the following entries:

Workflow Task ID: Task ID for which you want to define the default action.

Task Completed: Enter 'X' if the entry is for a completed task, otherwise leave the field empty. You can make two different entries for each task, one for the case that the task is completed, and one for the case that the task is not completed.

Action Name: Default action that is to be performed when accessing the document directly by using the link of the work item.

If the customizing table IBO_C_WF_ITA contains an entry for a specific task, the system ignores any entry for this task in the system table IBO_C_WF_TAS.

3.3.6 Select Custom Attributes

A task can have custom attributes defined at the task container in the transaction PFTC. These custom attributes must be added to the customizing tables if their values should be read.

Example: The SRM specific task TS40007936 has 4 custom attributes defined:

BOID

BOMODE

BOTYPE

WD_CONFIGID You can select which custom attributes a task should use in the table IBO_C_WF_CAS. You can use transaction PFTC_DIS to find out which attributes are assigned to the relevant task. You need the following entries:

Workflow Task ID: Task ID for which you want to select a custom attribute.

Task Completed: Enter 'X' if the entry is for a completed task. Otherwise leave the field empty.

Custom Attribute Name: Enter the custom attribute you want to use.

Custom Attribute Display Name: Enter the name of the column under which the attribute is displayed. Note that this field is used for compatibility with the Universal Worklist (UWL).

If the customizing table IBO_C_WF_ICA contains one or more entries for a specific task, all entries in the corresponding system table IBO_C_WF_CAS for this task are ignored.

Page 25: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 25

3.3.7 Assign Actions to Tasks

You can assign actions to tasks in the table IBO_C_WF_TTS. You need the following entries:

Workflow Task ID: Task ID to which you want to assign an action.

Task Completed: Enter 'X' if the entry is for a completed task, otherwise leave the field empty.

Action Name: Name of the action as defined under Create or Change Actions. If the customizing table IBO_C_WF_TTA contains one or more entries for a specific task, all entries in the corresponding system table IBO_C_WF_TTS for this task are ignored.

3.3.8 Defining the Standard Actions for Tasks, Notifications and Alerts

Additionally to the actions assigned to a specific task (see chapter 3.3.7), there are standard actions for all tasks, notifications and alerts defined in the respective methods GET_STA_ACTIONS_FOR_TASK_TYPE, GET_ACTIONS_FOR_NOTIFICATION and GET_ACTIONS_FOR_ALERT of class CL_IBO_WF_INBOX_CFG_PROV.

3.3.9 Example: Launch Application via OBN

The use case is, an application should be launched via OBN if clicking on the subject link of a work item. You need to perform the configuration in the following tables:

1. IBO_C_WF_ACS (Actions of Inbox and its action handler definition)

APPL_ID ACTION_ID ACTION_TYPE

<Your Inbox POWL application ID> <Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

„OBJECTNAVIGATIONLAUNCHER„

2. IBO_C_WF_TAS (Tasks of Inbox and its default action)

APPL_ID TASK_ID DEFAULT_ACTION

<Your Inbox POWL application ID> <workflow task, e.g. TS40007953> = <Default action of this task, e.g.

LAUNCHWD.SC.REVIEW>

3. IBO_C_WF_APS (Parameters needed for performing the action)

APPL_ID ACTION_ID PROP_NAME PROP_VALUE

<POWL application ID>

<Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

'OBJECTNAME' <BO Name>

<POWL application ID>

<Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

'OPERATION' <BO Operation>

<POWL application ID>

<Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

'SYSTEM' <System Alias>

<POWL application ID>

<Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

'OBJECTVALUE' <OBN Parameters, e.g. SAPSRM_BOTYPE=${ITEM.BOTYPE}&SAPSRM_BOID=${ITEM.BOID}>

4. IBO_C_WF_CAS

In this table you can configure the parameters which value will be read from the Workflow Container; the OBN parameters configured in IBO_C_WF_APS will be replaced by the values.

APPL_ID TASK_ID TASK_COMPLETED

CUST_AT_NAME

<POWL application ID> <workflow task, e.g. TS400079

53>

<e.g. BOTYPE>

Page 26: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 26

<POWL application ID> <workflow task, e.g. TS400079

53>

<e.g. BOID>

3.3.10 Example: Launch Application via Launch Pad

The use case is, an application should be launched via Launch Pad if clicking on the subject link of a work item. You need to perform the configuration in the following tables:

1. IBO_C_WF_ACS (Actions of Inbox and its action handler definition)

APPL_ID ACTION_ID ACTION_TYPE

<Your Inbox POWL application ID> <Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

„LAUNCHPADHANDLER „

2. IBO_C_WF_TAS (Tasks of Inbox and its default action)

APPL_ID TASK_ID DEFAULT_ACTION

<Your Inbox POWL application ID> <workflow task, e.g. TS40007953> = <Default action of this task, e.g.

LAUNCHWD.SC.REVIEW>

3. IBO_C_WF_APS (Parameters needed for performing the action)

APPL_ID ACTION_ID PROP_NAME PROP_VALUE

<POWL application ID>

<Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

' LPD_ROLE' <Launch Pad Role>

<POWL application ID>

<Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

' LPD_INSTANCE' <Launch Pad Instance>

<POWL application ID>

<Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

' LPD_APPL_ALIAS' <Launch Pad Application Alias>

<POWL application ID>

<Inbox Action, e.g.

LAUNCHWD.SC.REVIEW>

' LPD_BUS_PARAMS' <Launch Pad Business Parameters, e.g. SAPSRM_BOTYPE=${ITEM.BOTYPE}&SAPSRM_BOID=${ITEM.BOID}>

4. IBO_C_WF_CAS

In this table you can configure the parameters which value will be read from the Workflow Container; the OBN parameters configured in IBO_C_WF_APS will be replaced by the values.

APPL_ID TASK_ID TASK_COMPLETED

CUST_AT_NAME

<POWL application ID> <workflow task, e.g. TS400079

53>

<e.g. BOTYPE>

<POWL application ID> <workflow task, e.g. TS400079

53>

<e.g. BOID>

Page 27: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 27

3.4 Other Customizing/Features

3.4.1 Assign Task IDs to POWL Types

We assume that a certain role e.g. manager, wants to see certain types of work items (Task ID). To avoid implementation of a feeder class for each role, you can assign Task IDs to POWL Types with the maintenance view IBO_V_WF_TA_P_TY. You need the following entries:

Appl. ID: POWL application ID

POWL Type: POWL Type to which you want to assign a Task ID

Task ID: Task ID that shall be available as a search criteria for this POWL Type, including prefix TS

Note: Customers may use view cluster (SM34) IBO_VC_TA_P_TY_C for overriding the entries in the system table. They can add additional Taks IDs to POWL Types as well as hiding entries from the system table.

If Task IDs are assigned to a POWL Type, Task ID is displayed as a combobox in search criterias. Only Task IDs that are assigned to this POWL type can be used while defining queries. Leaving the field empty shows all Tasks that are assigned to this POWL Type.

If there are no Task IDs assigned to a POWL Type, Task ID is displayed as an input field with an appropriate value help. Leaving the field empty shows all Tasks of this user.

After assigning / unassigning Task IDs to POWL Types it might be necessary to delete your queries from database using report POWL_D01.

Page 28: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 28

3.4.2 BAdI to customize the work item details area

The BAdI BD_IBO_INBOX_WI_DETAILS can be implemented to customize the work item details area. The interface IF_EX_IBO_INBOX_WI_DETAILS has the following methods:

SHOULD_HIDE_PRIORITY

Based on the given work item information, this method will decide if the „Priority‟ field should be visible

SHOULD_HIDE_SENT

Based on the given work item information, this method will decide if the „Sent‟ field should be visible

SHOULD_HIDE_STATUS

Based on the given work item information, this method will decide if the „Status‟ field should be visible

MODIFY_TEXT_IN_WI_DETAILS_AREA

Modify the text in details area with the following parameters

Exporting Parameter Type Description

EV_ADDITIONAL_TASK_DESCRIPTION STRING Additional task description showed in the details area

ET_ADDITIONAL_TEXT_FIELDS IBO_INBOX_T_TEXT_AND_LABEL

Additional text fields and its label showed in details area

EV_ADDITIONAL_TASK_DESCRIPTION ABAP_BOOL Decide if the standard task description should be hidden in the details area

Page 29: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 29

3.5 Webdynpro Configuration

3.5.1 Create the Webdynpro component configuration

Create a Webdynpro component configuration for the Webdynpro component IBO_WDC_INBOX and set the new POWL application ID. This is required for finding the correct POWL configuration (e.g. SRM uses the POWL application ID „SAPSRM_IBO_INBOX‟).

Figure 15: Create Webdynpro Component Configuration

3.5.2 Create the Webdynpro Application Configuration

Create a Webdynpro application configuration for the Web Dynpro application IBO_WDA_INBOX (package IBO_INBOX_UI) and set the Webdynpro component configuration for WD component IBO_WDC_INBOX and POWL_UI_COMP (e.g. SRM uses a Webdynpro component component configuration „/SAPSRM/IBO_WDCC_INBOX‟ which is referenced in Webdynpro application configuration „/SAPSRM/IBO_WDAC_INBOX‟).

Figure 16: Create Webdynpro Application Configuration

3.5.3 Start the application

Start the Webdynpro application IBO_WDA_INBOX with WDCONFIGURATIONID = <the new Webdynpro application configuration>.

Page 30: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 30

3.6 Integrate Inbox in Business Client for Browser

3.6.1 Create the role

In the following figure the inbox has been integrated in the Business Client for Browser.

To archieve this you need to create a role in the transaction PFCG and maintain your inbox in the menu.

The following attributes should also be maintained for this role.

Page 31: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 31

3.6.2 Mandatory Navigation Customizing

3.6.2.1 Execute Action in SAPGUI

If there is no default action for certain workflow task configured in the inbox, we will start the SAPGUI transaction SWNWIEX to process the selected work item as fallback. You should add the transaction SWNWIEX in the role and maintain the followings in the Popup „Details for NetWeaver Business Client‟:

Business Type = SWF_WIOBN

Method = NAVIGATE

Parameter Mapping:

Transaction SWNWIEX Value SWF_WIOBN.NAVIGATE

P_NOSECM {P_NOSECM}

P_ACTION {P_ACTION}

P_WI_ID {P_WI_ID}

Force OBN Call = „X‟

Skip Selection Screen = „X‟

Page 32: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 32

3.6.3 Optional Navigation Customizing

Generally OBN is used for inter-window navigation. If a user action should trigger OBN navigation, the corresponding OBN parameters (System/BO Name/BO Operation/etc.) should be provided by the method HANDLE_SPECIAL_ACTION in exporting parameter E_PORTAL_ACTIONS of the implemented POWL feeder in 3.1. The NetWeaver Business Client will look into the role maintained in PFCG of the current user and determine which application should be started based on the BO Name and BO operation.

For example, if an SRM user clicks on the button „Details‟, the shopping cart should be opened in a new window through OBN. Let‟s see how to realize this requirement.

Page 33: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 33

First of all, the method HANDLE_SPECIAL_ACTION of the POWL feeder will return E_PORTAL_ACTIONS of type POWL_FOLLOW_UP_STY as following:

BO_NAME = sc

BO_OP_NAME = detailprof

Then based on this OBN parameters the business client will find out the associated application, in PFCG.

This application will then be started as configured in the following:

Page 34: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 34

Page 35: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 35

4 FAQ

1. How to restrict the result list of inbox in general?

You can override the method IF_POWL_FEEDER~GET_OBJECTS in the standard feeder so that filtering can be performed additionally by the subclasses of inbox feeder, see chapter 3.1.6.

2. How to use OBN navigation with parameters that are not available in the work item container?

You have to configure a FUNCTIONMODULEACTIONHANDLER action. Implement a function module and assign it to your action. The function module should have an exporting parameter OBN_TARGET of type IBO_S_WD_UI_OBN. Of course, the function module may also have import parameters that can be filled with work item container values and used in your function module e.g. work item ID.

In your function module fill the export structure OBN_TARGET with appropriate values. For reference, you can look at method EXECUTE_ACTION_WITH_PARAMS of class CL_IBO_CH_WD_INB_ACTHDL_ON on how to work with this structure.

Page 36: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 36

5 APPENDIX

5.1 Standard Actions

5.1.1 Standard Actions in Work Item POWL

The following actions are provided as standard buttons in the work item POWL.

Action Constant Description

Resubmit if_ibo_inbox_feeder_c=>gc_action_resubmit Resubmit work item

End Resubmission if_ibo_inbox_feeder_c=>gc_action_end_resubmission End the resubmitssion of work item

Forward if_ibo_inbox_feeder_c=>gc_action_forward Forward work item

Assign To Me if_ibo_inbox_feeder_c=>gc_action_assigntome Assign the work item for me

Cancel Assignment if_ibo_inbox_feeder_c=>gc_action_cancelassignment Cancel the assignement of work item

Substitution if_ibo_inbox_feeder_c=>gc_action_substitution Maintain substitution rule

Refresh if_ibo_inbox_feeder_c=>gc_action_refresh Refresh the list

5.1.2 Standard Actions in Alert POWL

The following actions are provided as standard buttons in the Alert POWL.

Action Constant Description

Subscribe if_ibo_inbox_feeder_c=>gc_action_subscrib Subscribe Alert Category

Forward if_ibo_inbox_feeder_c=>gc_action_forward_alert Forward Alert

Complete if_ibo_inbox_feeder_c=>gc_action_complete_alert Complete Alert

Refresh if_ibo_inbox_feeder_c=>gc_action_refresh Refresh the list

5.1.3 Standard Actions in Notification POWL

The following actions are provided as standard buttons in the Notification POWL.

Action Constant Description

Delete if_ibo_inbox_feeder_c=>gc_action_delete_notification Delete Notification

Resubmit if_ibo_inbox_feeder_c=>gc_action_resubmit Resubmit Notification

Page 37: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 37

Refresh if_ibo_inbox_feeder_c=>gc_action_refresh Refresh the list

5.2 Adapt the layout and pushbuttons of POWL in SRM

Start the transaction /SAPSRM/WF_CUST in SRM to adapt the layout and pushbuttons of the Personal Object Worklist (POWL) for each POWL Feeder Type. Note the following naming conventions for the feeder types that SAP provides for the POWLs in the SRM inbox:

The names of the feeder types start with "SAPSRM_IBO_FEEDER_”.

The name of the feeder type ends in a character string that indicates to which the feeder type refers. Examples:

SAPSRM_IBO_FEEDER_WI: Feeder type for an work items

SAPSRM_IBO_FEEDER_ALERT: Feeder type for alerts

5.2.1 Adjusting the initial table layout

1. In the dialog structure, choose Feeder Types. 2. Select a feeder type. 3. In the dialog structure, choose Field Catalog. 4. To add a table column for this feeder type, choose New Entries. To change a table column, select an entry from the Column ID column and choose Details. You can enter the following data:

Column: technical name of the field

Header: column heading that is displayed for this field in the POWL

Tooltip: defines the tooltip text

Display Type: output format of the field, for instance, 'Text' for fields that contain text only, 'Link to action' for fields that contain a link to the object details, or 'Checkbox'.

Position: defines the sequence of columns in the POWL from left to right; columns are displayed in ascending order depending on the position number you assign here.

Length You can also select the following indicators:

Fixed Column: column is visible all the time

Filtering Allowed: enables filtering for this column

Sorting Allowed: enables sorting for this column

Visible Column: column is visible for the user Hidden Column: column is displayed in the field catalog and can be activated by the user Technical Column: column is hidden and cannot be activated by the user

Ref. TextField: data source for columns that have display type 'Textview' or 'Link to action'

Ref. Checkbox: data source for columns that have display type 'Checkbox'

5.2.2 Configuring the pushbuttons

1. In the dialog structure, choose Actions. 2. To add a pushbutton for the selected feeder type, choose New Entries. To change a pushbutton, select an entry from the Action ID column and choose Details. You can enter the following data:

Action ID: unique identifier of the pushbutton

Action Text: pushbutton label

Tooltip: defines the tooltip text

Cardinality: defines whether an entry in the table needs to be selected before choosing this pushbutton

Display Area: defines the area of the screen where the pushbutton is displayed

Position: defines the order of the pushbuttons in the toolbar You can also select the following indicators:

Enabled: defines whether the pushbutton is enabled or not

Separator: defines whether the pushbutton is separated from other pushbuttons by a horizontal line

Page 38: SAP Cookbook for Reuse Inbox from Business Suitee+Inbox+Cookbook+Version+1.12

Suite Renovation

Cookbook for Reuse Inbox from Business Suite Foundation Layer Seite 38

3. If you want to group several actions, you can use pushbuttons with dropdown boxes containing several actions. To do so, select an action and choose Action Dropdowns in the dialog structure. 4. Enter the action IDs of the actions as well as the corresponding texts that you want to appear in the dropdown box.