Developing a simple List based SAPUI5 Application
I have been for long thinking of writing my first SAPUI5 Application. I thought I will share my experience especially for beginners like me. I still remember my first simple Sales Order Display screen which I developed using Abstract Portal Component (APC) back in 2005. Since then, I have been developing applications using different technologies – BSP/WDJ/WDA/Visual Composer and have seen lot of changes in the UI space. SAPUI5 for sure is to stay for its own features and benefits. I believe we will get to see more SAP transactions delivered with SAPUI5 in the near future. I have already been introduced to some of these SAPUI5 screens in HR Renewal and Identity Management applications.
I will quickly demonstrate how to build a simple list based screen (Sales Order List Screen) without the need to depend on having a NetWeaver Gateway or an SAP ABAP 7.31 system with UI Add-on in your own environment. I would highly recommend to read this tutorial posted by Bertram Ganz. When I started building this application, I got stuck in several places and I was lucky to find solutions posted by others in different places.
- NetWeaver Gateway Server – I am using the SAP Netweaver Gateway Service Consumption Demo System offered by SAP. You can register for an access using this link
- Install Eclipse IDE (Juno)
- Download SAPUI 5 library 1.12.1
- Setup Eclipse to include SAPUI5 Plug-in
- Download NetWeaver Gateway Eclipse Plugin
- Download and Install Tomcat Web Server
- Modern browser – I am using Firefox with the Add-ons RESTClient and JSONView
- I registered an account to access the Demo NetWeaver Gateway system. I used the Sales Order example – Query – Sales Order (Header). The steps to obtain access and launch SAPGUI are explained in detail. Once you have the URL of your service, you can test it using REST Client to see the output
2. Download and install Eclipse Juno editor along with JDK 1.6. Make sure that the JAVA_HOME and classpath are set accordingly
3. The downloaded SAPUI5 Library would have the below folder structure
4. To install the SAPUI5 Plug-in, Open Eclipse and navigate to Help > Install New Software.. Provide Name for the Repository and click on “Local” to locate the \HTML5Evaluation_complete_1.12.1\tools-updatesite folder. Select all the components and install them
5. NetWeaver Gateway plug-in folder structure is shown below
Similar to the above steps, Open Eclipse and navigate to Help > Install New Software.. Provide Name for the Repository and click on “Local” to locate the \SAPNetWeaverGatewayPluginForEclipse_2.6.400 folder. Select only the required components and install them.
After restarting eclipse, under File > New > Other, you will be able to see SAPUI5 Application development and SAP NetWeaver Gateway folders
6. Download and Install Tomcat 7 server. I used the 32-bit/64-bit Windows Service Installer to install Tomcat. The installation is straight forward and Apache website has lot of help documents on this.
After installing tomcat, you should be able to see the below folder
Check if your server is working by using http://localhost:8080
Configure the Server in Eclipse so that you could administer it from within Eclipse. Navigate to Window > Show View > Others to bring the Server .
Add the Apache Tomcat v7 server.
Now we are ready to build the application.
In Eclipse, Navigate to File > New > Other. Most of the tutorials on SCN, show how to create an SAPUI5 application from scratch using “SAPUI5 Application development”. I used the NetWeaver Gateway wizard to quickly build an SAPUI5 application with the code auto-generated.
Select “Starter Application Project” and proceed with the wizard.
Select “HTML5” in the below screen and provide a Project name
Select SAPUI5 option instead of JQuery Mobile.
Provide the Gateway Service URL. In my case, I provided https://sapes1.sapdevcenter.com/sap/opu/odata/sap/ZCD204_EPM_DEMO_SRV/. You can browse the available services by clicking on the “Catalog” button. Click on the Validate button to ensure that the service is valid.
In the below List template, provide the View name, select the Entity Set and columns to be displayed.
Once you click Finish, you will see a project created with files generated.
While testing this application initially, I got to see blank screens/no data being retrieved. On researching in SCN, I found out that below changes had to be made.
In the file connectivity.js, I had make some changes.
var serviceUrl = “https://sapes1.sapdevcenter.com/sap/opu/odata/sap/ZCD204_EPM_DEMO_SRV/“;
var serviceUrl = “proxy/https/sapes1.sapdevcenter.com/sap/opu/odata/sap/ZCD204_EPM_DEMO_SRV/”;
This is because of Same-Origin Policy which is explained in the E2E Tutorial (which I mentioned above). Since, I am just having a Tomcat server, I continued with this fix.
src=”./sapui5-1.4/resources/sap-ui-core.js” changes to src=”./resources/sap-ui-core.js”
oTable.bindRows(“SalesOrders”); changes to oTable.bindRows(“/SalesOrders”);
After making all these changes, I used the option to “Run on Server”. This would open another window within eclipse and show the output.
I was also able to test this from the browser by accessing the application on Tomcat server
You could still go ahead and develop the same for a mobile application and package the source code into a Mobile Application which can be deployed on to a mobile device using products like Titanium or Adobe Phonegap (cloud service)
I hope you found this informative.