Can’t see your SAP Web IDE deployed changes at runtime? Maybe you are doing it wrong.
The SAP Web IDE support team frequently faces inquiries from users saying they have made some changes to their application, but these changes don’t show up at run time after they redeploy the app.
Why is this happening?
The trouble starts when the developer decides to implement his code changes by importing the code of the app from an FLP runtime, e.g. the ABAP system or HCP account (i.e. “Import => Application from SAPUI5 ABAP Repository” or “Import => Application from SAP HANA Cloud Platform”).
Why is this bad?
Because the app source code is changed during its deployment from SAP Web IDE by the default build process.
The default build process does mainly three things:
- It “flattens” the app, which means that all its resources now reside directly under the root, with no “webapp” folder. This is required for several reasons, but the most important one is to enable the application index service in the backend to identify and process the app.
- It removes unnecessary files that are relevant only for development in SAP Web IDE
(e.g. project.json). These files hold important information relevant for the development process, for example the project settings, the project types, whether to build the app during deployment or not, etc. - It creates a Component-preload.js file which holds a minified version of the app, for better loading performance.
In other words, the build & deployment change the structure of the application.
What’s being deployed is not the source code. Furthermore, the imported app is given “fresh” settings, meaning that some configurations are not set.
Therefore, importing the already deployed version of an application to make further code changes leads to critical errors.
So what happens exactly?
Users who import the deployed app from the FLP runtime make changes to their app, but their changes aren’t visible when they redeploy and run the app from their FLP.
When they imported the app from the FLP runtime, they got the app with an existing Component-preload.js file.
Now they are implementing their changes. Yet, since they imported the app from the FLP runtime, its settings are reset, and the app will not get built again upon redeployment, meaning the Component-preload.js file will not get updated with the new changes.
The FLP runtime sees the outdated Component-preload.js file, and so the changes aren’t visible at runtime.
What is the solution?
Always make changes to the original source code.
Therefore we strongly recommend the use of a source control management tool (SAP Web IDE supports Git). This means that your app has a Git repository, and every developer can clone it to his SAP Web IDE and implement his changes by committing and pushing them to the repository.
This way, the app is developed using Git and only deployed when it is ready for its next life-cycle phase (usually testing/production).
Want to learn more about using Git in SAP Web IDE? Checkout this video.
What if you no longer have a copy of the source code?
As a workaround, retrieve the code from the FLP runtime, then go into the project settings and make sure that SAPUI5 Client Build Project Type is checked.
What’s next?
SAP plans to introduce even more powerful “build” functionality in the near future to support additional scenarios, including “continuous integration” solutions. It will be even more important for you to use a version control system like Git.
Hi Michal
I am using sap web ide personal Version: 161201.
And when i change my code. the file component-preload are not changing.
I import my Application from SAPUI5 ABAP Repository.
when i import the code. In project setting I have in project type fiori type checked!
I need some help please.
But as you can read in the blog above, the SAPUI5 Client Build project type should be checked, not only Fiori…
Hi Michal
in this version of sap web ide 161201
when i go to "project settings" i have only 3 propositions to check
1-samart project
2- sap fiori project (checked)
3- fiori library
i haven't sapui5 client build
thank u for ure response
best regards Fatsah
Hi,
Which version of Web IDE you're using? The regular one or the Multicloud version?
Which type of application you're deploying? Is it a Fiori app or an MTA application?
Regards,
Michal.
Hi Michal
i use 'SAP Web IDE personal edition', the last one. (reguar one )
I am deploying an application custum like fiori. MTA application.
thank u
regards
Fatsah
There is no MTA application in the personal edition...
Anyway are you experiencing any issue?
Hello Michal.
I am using web ide personal edition and when I am try to deploying application to the sapui5 abap repository and select system. I see the error " Service cannot be reached". What service is used for deploy? Maybe some service do not activate in my system in SICF?
Hi,
Please make sure that /sap/bc/adt is activated in your backend.
Regards,
Michal.
Thanks, Michal.. It is work.
Thank you, it worked!
Great Post, Thanks for Valuable Information.
I want to modify SAP Standard Fiori Application with new Odata services and UI element. IS SAP Standard Fiori Application like Post incoming Payments (FIN_AR_POSTPAYM) is available to be download from git in SAP WebIDE.
I have checked on GitHub but unable to find same.
Hi Kapil...did you find any answer to your question? Thanks.