This Quick Start tutorial describes step by step how to create your first SAP HANA native application on an on premise SAP HANA Platform by using the zero-install SAP HANA Web-based Development Workbench. It includes detailed instructions that lead you through the process of developing a PersonsList web application end-to-end: from HANA database table definition to application logic implementation up to the SAPUI5 user interface on frontend side.
Platform: You build and run your application on the SAP HANA Platform SPS07
Database: SAP HANA is used to create one column-based table to store Person data
Runtime: Your application runs on SAP HANA extended application services (shortly SAP HANA XS), a small footprint application server, including a web server and basis for an application development platform inside SAP HANA
Design time: As development tool you purely use the SAP HANA Web-based Development Workbench (shortly HANA Web IDE) that allows developing the whole application in a browser without the need to install any development tools on your client.
Frontend: You will use the UI development toolkit for HTML5 (shortly SAPUI5), SAP’s HTML5 library that helps you to build responsive business applications for all devices.
All developers and programmers who may be new to the SAP HANA Platform and/or SAP HANA native development based on SAP HANA extended application services (also known as SAP HANA XS).
The tutorial was built on SAP HANA SPS 07 Database Revision 73 (version string 1.00.73.00.389160, see SAP note 1990011).
Estimated Time for Completion
To successfully complete this tutorial you will need between 1 to 3 hours depending on your individual experience and learning style.
Many developers don’t like to read lengthy tutorials and often just want to execute the relevant steps to get the tutorial application running.
In case you want to process the whole tutorial for fast success you could only follow the “Hands-on Tasks” sections that are highlighted with a blue border at the left side. To jump from one hands-on task to another click the blue “previous”/”next” link buttons. For just quickly building the HANA XS application of this Quick Start tutorial it is enough to execute the steps inside the Hands-on Tasks sections.
For a deeper understanding of SAP HANA XS application development on SAP HANA Platform we warmly recommend reading the complete tutorial.
End-2-End Development Scenario Overview
The application frontend you build in this tutorial looks very simple. Person entries that are retrieved from the SAP HANA database are displayed in a table control:
You can enter first and last name of a new Person entry and write it to the backend with an input form inside the table toolbar.
On creation of a new Person entry a success message gets displayed
And the new entry gets instantly displayed in the table UI.
Development Steps in the Corresponding HANA Layers
The above figure illustrates the whole development scenario in a simple overview. The development process applied in tutorial has been divided in five main development steps:
(0) Ask your SAP HANA administrator to assign HANA Web IDE specific roles to your database user
(1) Create a bare-bone SAP HANA XS application
(2) Define a CDS-based data persistence object in the SAP HANA database
(3) Develop the application logic: Create a OData-service to read and write person table records from and to the HANA database
(4) Develop application frontend side: Implement of a simple SAPUI5 user interface
In the following diagram you see the architecture and content preview of the whole SAP HANA native PersonsList application you will develop step-by-step within the main sections of this end-2-end tutorial:
Create SAP HANA XS application: how to create a new and minimalistic SAP HANA native application using the SAP HANA Web-based Development Workbench
Set up the persistence model: how to set up the persistence model for the PersonsList application in the SAP HANA database including database schema creation, CDS-based table definition, a database sequence file to auto-generate keys for new records and initial table load from a static pers.csv file.
Code the backend: how to build the application backend with SAP HANA extended application services including OData service exposure for read and write access and a SQLScript procedure createPerson() as modification exit for OData write requests. With this step your PersonsList application implements the CR (=Create & Read)-functionality of a full CRUD-application (Create, Read, Update, Delete).
Build the SAPUI5 frontend: how to build the application frontend with the UI development toolkit for HTML5 (SAPUI5) including OData service consumption with read and write access.
Run and test the final PersonsList XS application in a web browser
Tutorial Design and Developer Learning Needs
The primary goal of this Quick Start tutorial is a fast learning curve of SAP HANA native development for professionals with differing prior knowledge and learning styles. It primarily addresses beginners but is also suited for developers with good SAP HANA knowledge who e.g. want to apply the SAP HANA Web-based development workbench.
To reach these goals our Quick Start tutorial to SAP HANA native development applies the following design principles:
Cover end-to-end development flow: the tutorial is divided into main sections that reflect the end-2-end flow of SAP HANA native development across all layers. This makes it easier to understand how all pieces fit together.
Preview architecture and design-time application artifacts: when learning a new programming model you always need to understand the underlying architecture and the design-time artifacts your application consists of. Every main tutorial section therfore starts with a graphical overview of the application architecture and a short description of all application artifacts that are newly introduced and used.
Provide detailed guidance on hands-on tasks: the practical hands-on tasks are described with a detailed description on different levels. We first describe important prerequisites that are needed to successfully run a tutorial section. All hands-on tasks are explained step-by-step and are visualized with instructive screenshots. Technical diagrams, notes and "know the code" sections highlighted in blue color provide further insights and allow a deeper technical understanding of the developed PersonsList SAP HANA native application. These explanatory parts of the tutorial are intended for professionals with little or no prior knowledge on SAP HANA native development including OData and SAPUI5.
Provide access to more knowledge: To realize a rapid and feast learning experience the tutorial provides access to more knowledge that goes beyond its own scope. Across the whole tutorial you can optionally follow further information links to find more details e.g. in the SAP HANA Developer Guide on SAP Online Help or in SCN blogs. In the last Related Content section the best resources on SAP HANA extended application services and on the UI development toolkit for HTML5 (aka SAPUI5) are listed at one place.
Publish online tutorial for fast success: To run the Quick Start tutorial even faster than it would be possible with the best tutorial description jens.glander published an online tutorial - SAP HANA native development via Web IDE that even tailors the tutorial's URL's (e.g. to start the HANA Web IDE) and source code to your own on premise SAP HANA system and to your individual user and package names. With the online tutorial you can copy-paste source code to the SAP HANA Web-based Development Workbench (HANA Web IDE) without any need for manual change like it is needed for copy-paste from the tutorial PDF document. Stay tuned, I'll link to the new online tutorial here as soon as Jens publishes it on Trial SAP HANA Cloud Platform ....