Latest Update: There is a variation on Intent-based Navigation – if you are navigating to another Fiori (SAPUI5) Application deployed on the same Fiori Frontend Server, you can embed the target app directly into the Task Detail – see SAP Note 2305401 – Integration of SAPUI5 Fiori Applications into My Inbox 2.0 for details.
Having activated Fiori My Inbox as described in Leading S/4HANA UX – Fiori My Inbox – Part 1 – Activation you will need to understand the configuration and extensions for tasks. Each task type can use the option that best fits the need of that task, whether it’s Approving a Purchase Order, Releasing an Invoice, or responding to an Environmental Health and Safety safety observation.
The move towards greater metadata driven development in Fiori and the single Fiori archetype in S/4HANA brings all sorts of exciting benefits for scaling S/4AHANA Fiori apps, including Fiori My Inbox.
However if you have used Fiori My Inbox in SAP Business Suite or Suite on HANA, rest assured earlier options for configuring and extending My Inbox are still supported. And just as before, Fiori My Inbox supports both SAP delivered and custom workflows out of the box with a default implementation. However there are some significant benefits to be achieved by tailoring tasks – especially when it comes to mobile devices.
There are 4 main options to adjust the default behaviour of tasks in the inbox:
- Task-specific annotations
- Decision options
- Intent-based navigation
We’ll take a brief look at these and finish with:
- General extension options
- My Inbox in action – how to validate and test my inbox
Tip: Some of the extension options are covered in more depth the Fiori My Inbox wiki.
Task-specific Configuration and Extension Options
Task-specific configuration and extension options are particularly critical when we intend to use Fiori My Inbox on mobile devices. While Fiori My Inbox app itself will operate on multiple devices, how the task-specific behaviour has been configured determines whether that particular task can be viewed and actioned on the device in question.
Fortunately easy configuration is provided to control which devices can view which tasks. This avoids users becoming frustrated by being presented with related work items of a task they can’t action on their current device.
Whether we are including standard or custom workflows the steps are much the same.
By default Fiori My Inbox selects all work items for that user relevant to the user’s current device type from the configured workflow providers.
NOTE: It is possible to filter the task gateway to only select configured tasks in the IMG (transaction SPRO). Just remember that this affects all your My Inbox tiles. You can deactivate the task filter again if you need to do so later.
The newest option – currently only available in S/4HANA 1610 – is to extend the task specific details using an annotations XML file.
This option works on all device types.
These are currently provided for certain standard workflows as part of the S/4HANA 1610 install. On the Fiori Roadmap is the intention to support this option for custom workflows also.
We know if this option is being used when there is an “My Inbox Generic Application” entry (technically visualization type INBOX_GEN) configured for the task id in Task Visualization (transaction SWFVISU) in the S/4HANA Core system.
The parameters in the entry include:
- COMPONENT_NAME points to the metadata-driven generic task based UI
- QUERY_PARAM00 points to the OData service providing the detail data
- QUERY_PARAM01 points to the annotation file holding the metadata
Task-specific Decision Options
The quickest and easiest way to add task specific is to use the configuration options for Custom Attributes and Decision Options.
These option works on all device types. There are some additional instructions included in the following SAP Notes:
Using the Custom Attributes we can add custom information to the task detail shown in the inbox for a particular work item. The blog Embellishing Your Approvals Without Coding describes how.
Similarly, we can use configuration options to add simple action buttons to our task. We can even add positive (green) and negative (red) colours to the button to highlight preferred options. To use this option you need to know:
- The workflow id
- The task id
- The step number of the task within the workflow
This works exactly the same way as in earlier releases of Fiori My Inbox and the process is described in the blog Fiori My Inbox – Adding Action Buttons.
In fact if the task is a User Decision, the action buttons will already be configured for us and will operate without any further action needed.
Tip: If you display a workflow’s flowchart in the Workflow Builder (transaction SWDD) a user decision task will have the following symbol.
If the task is not a user decision task, then as per previous releases of Fiori My Inbox we can match our configured buttons with a background action by implementing the BADI /IWWRK/BADI_WF_BEFORE_UPD_IB.
NOTE: To use this option, we first need to identify an API that can perform the action we need in background. It doesn’t matter whether the API is a BAPI (enterprise service), class method, or function module – it just needs to work and to be able to be called from within the ABAP system.
An example of how to do this is shown in the blog Fiori My Inbox – Implement the BADI for Updating the Decision.
We can also view examples from S/4HANA My Inbox sub apps that use this option and deliver a working implementation for this BADI. For example, enhancement implementation MM_PUR_PO_APPROVE_ACTIONS provided for Purchase Order approvals via workflow WS20000075.
Task-specific Intent-based Navigation
When we want to launch the user from the work item to a different user interface we can use intent-based navigation.
IMPORTANT: This option may not work on all device types, i.e. the task specific details will be displayed but it may not be possible to launch the navigation target on mobile devices. In particular, SAPGUI for HTML and Web Dynpro ABAP user interfaces cannot be guaranteed to work on mobile devices – there are just too many variations in how individual apps have been written. If you use this option with mobile make sure you test it thoroughly – and don’t be surprised if you hit a roadblock.
An intent-based navigation is a semantic reference to a Target Mapping defined in the Tile Catalog for that app. It provides a default Open Task button in the task specific detail to launch the navigation target.
NOTE: There is a particularly desirable variation on intent-based navigation if your target app is another Fiori (SAPUI5) app deployed on the same Fiori Frontend Server. You can embed the target app directly into the Task Detail area. Refer to SAP Note 2305401 – Integration of SAPUI5 Fiori Applications into My Inbox 2.0 for details and a very useful Cookbook guide you can download.
We know intent-based navgation is being used when there is a Task Visualization (transaction SWFVISU) entry of type “Intent-Based Navigation” (technically visualization type INTENT) configured in the S/4HANA Core system. This example is for Chemical approvals within the Enterprise Function Hazardous Materials Management.
The parameters in the entry include:
- SEMANTIC_OBJECT – refers to the Semantic Object in the Target Mapping
- ACTION – refers to the action to be applied to the Semantic Object as configured in the Target Mapping
- QUERY_PARAM00 – query parameters hold the values to be passed to the target mapping
A matching Target Mapping must be defined in the Tile Catalog for the app, as in this example from the Target Mappings of Tile Catalog SAP_EHS_BC_HS_HAZMAT_MGMT. The target mapping defines the navigation target of the Semantic Object/action combination. In the example the target mapping for semantic object Chemical and action approve points to a Web Dynpro ABAP application.
NOTE: As usual the system alias listed in the target mapping needs to mapped to the S/4HANA Core system in (transaction SM30) table maintenance view /UI2/ALIASMAP.
More information on intent-based navigation for My Inbox can be found in Note 2274940 – URL generation for intent-based navigation
If we want full control over the task specific display and behaviour then we need to use the Fiori My Inbox extensibility concept – just as in previous releases of Fiori My Inbox.
This option supports all device types.
For example, we can use this to:
- Adjust the information in the Task Header, e.g. to highlight the financial value associated with an approval
- Add additional information below the Task Detail, e.g. to permit item-level approval of a shopping cart
- Remove or add tabs
- Remove or add buttons
For more information on this refer to SAP Note 2118812 – How to Extend SAP Fiori My Inbox
General extension options
If we want full control over the My Inbox display and behaviour then we need to use the Fiori My Inbox extensibility concept as described in SAP Note 2118812 – How to Extend SAP Fiori My Inbox Again, this works just as in previous releases of Fiori My Inbox.
For example we can use this to:
- Change the master detail display, e.g. to add a financial value attribute or the author of the request
- Change the filter, group, and sort behaviour for My Inbox
- Hide unwanted inbox features and buttons at the task or general inbox level, such as Substitution options
Example use cases can also be found in blog Real Life Experiences in Extending Fiori My Inbox
My Inbox in Action
Make sure your My Inbox users have appropriate authorizations in both the Fiori Frontend Server to access the Fiori app and call the OData Service, and in the S/4HANA Core they need inbox authorizations as per sample security role /IWPGW/RT_WF_USR.
In addition to testing the Inbox and any changes made it’s important to check more than just the task itself. In particular check:
- The count on the My Inbox tile matches the count within the app
- Action buttons work both for individual and mass actions on tasks
- Substitution and substituted items work correctly
Tip: Remember the substitute will also need access to and authorization for My Inbox
Watch out for future blogs on more My Inbox related topics… such as Workflow Notifications in the Notification Center!