Enhancing a standard Fiori app – a real life example Part 1
1. Introduction and Analysis of the standard oData Service (this part)
I am currently implementing S/4 HANA 1511 FPS1 on premise for a customer, and recently got my first opportunity to enhance a standard Fiori app in a real business scenario. I thought it would be useful to share how I did this and what I learnt along the way.
1.2 Business Requirement
Standard Fiori app ‘Revise Payment Proposals’ includes a screen where financial document items are listed that are included in the Payment Proposal:
To help the user to understand what is to be paid, we would like to add the Item Text (BSEG-SGTXT) to this table.
2 Analysis of the standard oData Service
I first wanted to check if the Item Text field was already provided in the oData service for the app, FAP_REVISE_PAYMENT_PROPOSAL, or whether the service would need to be enhanced. To do this I went to transaction SEGW in my back-end S/4 HANA system (where the service is defined) and opened project FAP_REVISE_PAYMENT_PROPOSAL. In here I could see that Entity Type PaytProposalInvoice already includes Item Text:
To test this I first checked that the Items in a Payment Proposal had texts in BSEG-SGTXT:
I then tested the oData service in /IWFND/MAINT_SERVICE, in my front-end Fiori Gateway system. Note that key data values have to be provided for all the nodes in the oData structure that are above the PaytProposalInvoiceSet we are interested in. To build the required URI, I navigated to the Invoice Items view in the app with the F12 debugger on. By looking in the $BATCH request (under ‘Network’) I could get the URI parameters:
The complete URI therefore is:
Initially the ItemText attribute was returned empty:
Having raised this with the app’s product owner, we were told that as standard the field is only populated (from table REGUP) when the Item Text begins with a star ‘*’, which is intended to signify externally-visible texts as opposed to texts that should only be seen internally. So we added a ‘*’ to each Item Text:
The oData service now returned the ItemText:
No enhancement of the oData service was strictly necessary in this case as the Item Text field is already available as standard. Later on we decided to enhance the oData service anyway, this the app is for internal use and therefore should show all item texts regardless of whether or not they begin with a star. But initially I switched attention to the UI, and how I could show the additional field in the table.
In the next part I explain four possible Fiori enhancement techniques which we initially considered.