Extend a Fiori Application with SAP Web IDE Part 1
In this blog, I will show you how to extend a standard SAP Fiori application (here: Purchase Order Approval) using a SAP Web IDE. The different possibilities of extending a Fiori app view are shown:
Part 1: hide a control,
Part 2: extend by implementing an extension point & replace a view
Part 3: replace a service
Start creating a new Extension Project
+++new Version: SAP Web IDE 1.16 +++ (for more Informations about the new Features look here )
Start SAP Web IDE from your browser
Click on Local folder and start by creating a new extension project (File > New > Extension Project)
From step 1 in the wizard, click Remote…, and select SAPUI5 ABAP Repository to access the remote SAP Gateway system which has the
standard SAP Fiori PO Approval application deployed.
In the Select Application from SAPUI5 ABAP Repository dialog, select your SAP Gateway System.
NOTE: Please be aware that the server used in this blog is just an example, thus you may not have granted access to it.
All available applications on you system are shown.
Search for “purchase” to show search and filter capabilities
Select MM_PO_APV Approve Purchase Orders and click OK.
You may change the proposed project name to e.g. POApprovalExtended or leave it as proposed by SAP Web IDE ‘MM_PO_APVExtension’ Then click Next.
Check Open Extension Project in extensibility pane and click Finish. An extension project is created in your workspace
If authentication is required, enter User Name and PW for your SAPGateway system.
The application Preview Pane automatically opens in Preview Mode. Once the application is loaded and the data has been fetched from the backend, you can see that the application is fully running.
Explore the features of the preview. Display the app in the different screen sizes. When in Small size, change the orientation.
At the end, go back to Large or Medium size.
In the application Outline, select the Show property Extensible Elements in the drop down list
Toggle to Extensibility Mode by clicking Preview Mode down arrow. Notice that the app gets a shadow.
Hover the mouse of the controls in the app. Notice how views are highlighted and the scrolling occurs automatically.
Extend the app by hiding an existing control
In the app, navigate to the view S4 by scrolling down in the detail view until you see the Items table, click on an item.
Note: You may need to toggle off Extensibility Mode, because in Extensibility Mode you cannot navigate to other views.
We are going to hide the Pricing Conditions in the view S4.
Make sure you are in Extensibility Mode.
Select the Pricing Condition at the bottom of the view. To highlight the control you need to point the mouse pointer to the right or left side of the table.
Alternatively, you may select in the Outline the PricingCondTable under S4.
Select Hide Control in the drop-down of Extend to hide it – busy indicator appears, followed by a popup message saying the extension was added successfully.
Alternatively, you can right-click on PricingCondTable in the Outline and select Hide Control
A pop-up window appears to indicate that the control is successfully hidden. Click Yes to refresh the application.
Navigate to S4 view and show the control was hidden
In Outline section, under Show field, drop down to select Extended Elements. Now, you can see that under S4 element PricingCondTable is listed as Hidden.
Close the Extensibility Pane by clicking on the X on the top right
In the next part I will show you how you can extend an Fiori App by implementing an extension point and how you can replace a view.
More Web IDE stuff published by Technology RIG 🙂
See you
Claudi
Claudi,
this is really awesome stuff! That's stuff we've been, on a different level, working on for years at Business Objects, and it allows to have a light-weight, mostly declarative approach, reducing complexity and maintenance, as well as allowing to create a whole ecosystem around apps that you build. It would be interesting to see whether you've looked at pattern matching to inject your extensions.
Very cool stuff.
M
Hi Claudi,
good stuff, but can we have some more information on technical prerequisites for this task like which software is required and under what licensing, e.g. is it available through a SAP HANA Enterprise Cloud / Cloud Appliance Library?
thx,
greg
Hi Gregory,
please check my other blog post: http://scn.sap.com/community/developer-center/front-end/blog/2015/02/11/set-up-your-sap-web-ide-on-hana-cloud-part-1 --> Prerequisites
You can use a Hanatrial account 🙂
More documents about WEB IDE you can find here http://scn.sap.com/docs/DOC-55465
Regards
Claudi
Nice blog Claudia 🙂 . It was very helpful.
Nice blog...can easily understandable....Very helpful...............
Regards,
Julian.
Wow, nice Blog...
Thanks
--PavanG
Thank for this nice blog.
Kind regards, Henning
Nice blog! I'm running into a problem though. I have just created the following question on the SAP UI5 Developer center forum. Do you know how I can solve it?
Br
Göran
Hello everyone,
It is a very nice and useful blog. I found the blog when I came across a problem about replacing service. I applied all the steps in this blog but still couldnt find a solution.
Kindly, can somebody look through my post and help me about my problem?
Replace service does not work - WEB IDE
Thank you so much!
Merve
Hi Claudia Polster
Can you please help me with this issue
Issue-Importing Application From SAP UI5 ABAP Repository in Web IDE
Excellent Blog claudi..
Regards,
Julian.
Hello Guys,
I have selected the service and opened project in extensiblity pane but no data is displaying , What I need to do to get the data fro bakend.
can you run the app?
Hello Claudia,
You have explained it with excellence. Everything is very clear with detailed screen shot. Thanks for writing such a great blog..
I have a small issue while doing this excercise in my system. I am able to import MM_PO_APV to my Web IDE. However, I got the following error message while opening it in Extensibility Pane.
Then I tried to reach the link /sap/opu/odata/SAP/GBAPP_POAPPROVAL;mo/ using browser. However, it does not see available as I got the following response
<code>/IWFND/MED/170</code>
No service found for namespace , name GBAPP_POAPPROVAL, version 0001
</message>
I could not see this service in SICF as well. I think I am missing some basic things. Can you tell me what should I do?
Please note that I am able see the BSP application mm_po_apv in SE80.
Regards,
Faddy
Hi Claudi,
Thank you for this wonderful blog, but I have a problem with you can help.
How can I deploy the extension project which I've finished in Web IDE to Gateway system? I've tried to deploy with "update an existing application" option, however, it'll only upload a few files like the manifest.json etc. then deleting all the xml views and js controller files as shown in the picture.
I can go to SE80 and change the manifest.json file at Gateway system manually, but I guess that must be the stupidest way to do it.
I've also tried to create the extension project with "import original application" option, but there were no application files (xml view js controller files etc.) loaded.
Any help would be appreciated, thank you Claudi!
Regards,
Michael
Hi Michael,
Create an Extension application in WebIDE and this you can (create/update) to Gateway system.
However do no bother at application files (xml view js controller files etc.) in extension application as these will be loaded form parent application with below code written in component.js of extension application.
Regards,
Punith
Hi Punith,
Thank you for your helpful information, I was too stupid to figured it out the right way to do so.
Regards,
Michael
Hello All,
Thanks you for this blog.
I have extended the standard app SOFULFIL_MONS1 by replicating the steps mentioned above.
I have replaced the view SO_ALL and have added 3 new additional columns.
I have also replaced the oData service with custom Odata so that the new columns gets populated.
Problem:
I had manually added my new fields in the query set of file component-preload.js and added in the extension.
In extensibilty pane I can see the data.
When i Try to deploy the application through web ide, it gives me a time out error because of the file.
Also, when I remove this file, the deploy is succesful but I cannot see the changes in the app.
What am I missing here?
Regards,
R
Hello Claudia ,
Thanks for the informative blog . I am trying to create new extension project for MM_PR_APV . I am getting the below error . Could you please help me resolving this issue ?
Hi,
When i'm triying to add a new extension i'have this error : Cannot read property 'name' of undefined.
Until August i had no problem with it.
Regards,
Driss
Hi Experts,
Post creating extension project, what will be the deployment steps? Do we need any further steps for deployment of extension project to ABAP repository? What needs to be done in case the standard application is already deployed on Fiori launchpad?
Need some information regarding changes/amendments that needs to be done in-terms of launchpad tile configuration.
Thank You.