Technical Articles
Embellishing your Approvals Without Coding (My Inbox)
Update 4th September to mention specific SAP custom attributes. Update May 2019 - prerequisite 2 has been added.
Here’s a really useful way to spruce up your approvals that involves no coding. It applies not just to approvals but to any type of workflow task.
Prerequisite 1: Your users are already using the My Inbox Fiori app to access their approvals. They are not alone, because its usage is rocketing up, thanks to the spectacular simplification and beautification of the user interface coupled with the ease of implementation for your IT department.
Prerequisite 2: The approval Display is the generic display, and not a Fiori application rendering. At the time the blog was published, this was rare, but as of 2019 most approvals are rendered by the applications using the attractive Fiori framework, making it unnecessary to add detail to the display. However, the left hand frame can still be enhanced, and in some cases the header can also be enhanced.
This is what a typical approval looks like:
Figure 1. Vanilla My Inbox
The “open” button at the bottom of the screen will open the item to be approved in a separate browser tab, but let’s face it if a little more detail could be shown with the description then the approval could be done instantly in many cases. The rest of this blog shows you how to add this detail so that the approval appears like this:
Figure 2. My Inbox embellished with context details. Users will be forever in your debt!
You (and the decision-maker) see at a glance the context of the approval. E.g. the leave duration, start of leave and type of leave so they can approve right away. In addition they still have to option to open the underlying approval-item if they want to.
This is how to achieve this:
This brief tutorial uses standard delivered workflow WS30000015 (Formabsence) without modification so that you can repeat the steps yourself, even if you haven’t yet created a workflow.
Run the transaction SWF_USER_ATTR (or the report RSWD_MAINTAIN_USER_ATTR using the transaction SA38 or SE38) and press enter to skip the first screen to arrive at this:
Figure 3. Configuring the list of attributes to display with transaction SWF_USER_ATTR.
Now add the approval context that your users would like to view. In the screenshot above you can see how I have added entries for the attributes that I want displayed in a list. The entries are as follows:
- Task: Either the task or the workflow ID.
- Step: Technical step number if you added a workflow instead of a task. This is particularly useful when one workflow uses a task in several different ways, for example to several different roles. For example, someone performing a technical approval can see a different list from someone approving from the business perspective.
- Active: Active or not. This is useful for testing. As you can see, I deactivated the “hours” attribute.
- Scenario: You are setting this up for My Inbox so select WF_INBOX_DC using value help (F4)
- Name: A technical identifier for this attribute. I chose to add the project name, followed by a numerical number to control the order of list of attributes displayed to the user (undocumented feature – behaves this way in this release).
- Description: The name of the attribute as it should appear in My Inbox. Translation is not possible.
- Expression: The value to display. Use the context-senstive help (F4) to select the field. You can use container elements, attributes of container elements, system variables, or operations on one of these using the _WFSYST element.
[Tip] If you already configured columns for your Business Workplace you can import them instead of recreating them manually as described above. Select the Business Workplace icon (“Import SWL1 definitions”) to import the settings.
You can test an entry to see how they will appear based on an existing work item. And you can generate the values for existing work items, which is not just useful for testing but also for instantly improving a productive system where work items may be several days old.
Figure 4. Retrospectively publishing the list to My Inbox users.
Since no coding is involved you can improve your installation immediately. Go to it, and send me a screenshot of your results to earn virtual round of applause from the My Inbox and Business Workflow developers.
Update: Here’s a useful blog showing how specific attribute names can be used to show your own attributes in the work item header:
The attribute names are:
- CustomTaskTitle
- CustomNumberValue
- CustomNumberUnitValue
- CustomObjectAttributeValue
If you want to show them in the left-hand summary use the parameter showAdditionalAttributes=true in the My Inbox target mapping (or launchpad URL when testing).
Hello!
You said you assume that everyone is using Fiori inbox for all workflow approvals.
Where I work this may be a bit of a battle so I would be very interested if you have some statistics as to what percentage of companies that run SAP are actually in fact doing so. If it is a nice high number that may give me some leverage,
The reason I am dubious is that in October 2015 at SAP TECHED Karl Kessler asked the audience how many people were using ABAP 7.40. He also expected "everybody" but a very small amount of people put their hands up and he was shocked.
I have known some people who work at SAP who work with the latest technology every day, and tend not to realize that the "customers" can be five years behind (or worse). A sad state of affairs in the world where advances happen faster and faster, but true nonetheless.
Cheersy Cheers
Paul
Hi Paul,
Apologies for misleading you. I didn’t make the assumption based on probability, but based on the fact that the My Inbox screenshots would make the relevance clear. Thanks to your comment I’ve improved the text.
In SAP Business Workflow development we’re acutely aware of the span of releases that need to be supported because of the long-running nature of workflow processes themselves. Some customers are 10 years behind our latest technology, and we’re proud of the fact that their processes are supported by new technology (e.g. My Inbox) as well.
Upgrades cost money however little, and since SAP customers in particular have a focus on ROI it’s an understandable situation. But this shouldn’t block innovation, because some/many will profit from this. We need to cater for both groups of customers, hence this blog.
BTW: We don’t have access to statistics so I can’t be more exact than “some/many”.
Happy New Year,
Alan
Hi Alan,
I did exactly as mentioned in the blog above, but still I don't see the changes reflecting MyInbox.
Any help would be appreciated.
Thanks
Gopi
Thank you it worked after reindexing.

Wonderful! And many thanks for posting the screenshot here. Much appreciated 🙂
Gopi,
How exactly did you "reindex"?
Thx,
Piet
I had to look it up, but the program for reindexing is RSWW_FILL_USER_ATTR.
Alan, I am trying this for purchase requisition approvals, task TS00007986. I have done everything you mention above, and even tested it within the customising against an existing work item ID. However, when I go into the Fiori inbox I see no new additional data on the approval. Any ideas as I'd love to do this without any coding as you mention.
Sam,
Did you re-index as show in figure 4? And are you using My Inbox or a different Fiori tasklist?
Alan
Hi Alan,
I understand this is not applicable for any S/4HANA Cloud product (EMC, PSC or FC), since you are accessing the backend, which is not offered to public cloud Customers.
However your solution is applicable for S/4HANA On-Prem running Fiori Apps.
Can you please confirm?
Regards,
Axel.
Hi Axel,
Good point. Yes, I confirm your observation - except for the cases where SAP development has preconfigured their workflows for the cloud using this technique.
Alan
Hi Alan,
This option is nice. It requires that all necessary data you want to show easily are available in the Workflow. In most SAP HR Workflow templates (i.e. Leave Request, Time corrections) the information is not in. So coding might be necessary.
Regards,
Frank
Hello!
I found some problems in my project when using a transaction SWF_USER_ATTR (maybe it will be interesting):
Regards,
Denis
Please be aware that the SWF_USER_ATTR Implemetation for the left hand frame won´t work if there is an active implementation of the BAdI /IWWRK/BADI_TGW_CUSTOM_ATTR. For more information see:
https://launchpad.support.sap.com/#/notes/2953003
Hi,
I do have requirement to bring the PO header text (to be retrieved from text object), to the inbox approval notification body. But this PO header text not available in Workflow or task container, how can we achieve it?
Thanks
Lava Kumar.