What’s New in SAP HANA SPS05
OK, RTC was several weeks ago … OK, it’s almost a month ago, and perhaps you’ve heard of what’s new in the last SAP HANA release. But back in the days when I was writing about the SAP NetWeaver Portal, my What’s New blogs were the most well received, so I’m going to plow ahead and today start writing blogs for each new release. And, besides, a few more features were released in a revision about a week ago, so I’ll use that as an excuse to write about SPS05.
To review, SAP HANA revision 45 (the first SPS05 version) was released on Nov. 29, and revision 47 was released on Dec. 21. In this blog, I will summarize the new features, and in future blogs I’ll look more closely at a few of the larger features.
- SAP HANA XS: This is THE big change in SPS05. Essentially, there’s now an application server built into SAP HANA that let’s you expose your data in one of the following ways:
- OData: You write descriptors that specify how to expose your data via standard OData services.
- XMLA: You write descriptors, but now for exposing data via XMLA services, which enable multidimensional queries.
In addition, you can deploy Web pages, especially using the SAPUI5 library, using the SAP HANA XS web server.
- The Repository: SAP HANA XS is the big new feature, but really, the repository should have been the first item, since it enables development of all types of objects, not just those related to the SAP HANA XS web access features. The repository is essentially the source control for your development projects, and it is built into SAP HANA. It enables a methodical approach to building design-time objects, as follows:
- You connect to a SAP HANA system (in the Navigator view).
- You create a view into that system’s repository (in the SAP HANA Repositories view).
- You create a project for all your design-time objects, and connect that to one of the repositories (in the Project Explorer view).
To quickly learn how to set up a development environment and use the repository, see Tutorial: My First SAP HANA Application in the SAP HANA Developer Guide.
Thomas also discusses the repository in his blog.
- SQLScript Editor/Debugger: The studio now includes a new editor and debugger for creating SQLScript procedures, with the following advantages.
- You can now debug your procedures, adding breakpoints and watching variables/parameters. What’s really nice is if you have a table type as a parameter, you can watch it and then open up the current contents with the standard Open Data Preview window.
- Syntax highlighting
- Code completion
- Supports the now standard way of developing within SAP HANA.
- SAPUI5: SAP HANA includes the SAPUI5 SDK, also known as the Demo Kit, a client-side rendering library for building desktop and mobile applications. So you can create HTML pages with the help of the library and deploy them in the SAP HANA web server. The SAP HANA studio also includes some tools for creating SAPUI5 pages.
Since the SDK is deployed in SAP HANA, you can view the basic SAPUI5 documentation by going to: http://<server>:<XS port>/sap/ui5/1/sdk/index.html. [If your SAP HANA uses https, use that protocol instead. The XS port is 80 + the instance number. Replace <server> with your server name.]
Documentation for using SAPUI5 within SAP HANA is available in the developer guide.
- SAP HANA UI Integration Services: You can quickly create an “application site” within SAP HANA, and insert application UIs that you’ve built and deployed in SAP HANA (for example, with SAPUI5 tools) or that were deployed elsewhere. Each application that you want to add to your site you wrap as a “widget”, and then you can add it.
You can create pages in your site, rearrange the widgets, and let the different widgets communicate with each other via the client-side Site Context API.
- Modeling View: I won’t say much about it here, but the editor for modeling views has been revamped (for example, the editor for attribute and analytic views have been combined).
- Decision Tables: This is a way to set data values based on rules. The classic case is to set the discount field, based on rules about the type of product, quantity and other factors. Decision tables are for non-technical users, meaning users who do not want to write complex SQLScript procedures to do this, or who already have an Excel with the rules.
Essentially, you use modeling tools to create a view, and then use a table to enter values, where each value is selected if a set of conditions are met. For example, with the SFLIGHT database, if the flight is from Lufthansa during March, then you can set the discount to 10 percent. Once activated, the decision table is converted into a procedure, which can be run to return or update tables based on the values returned in the decision table.
- SQL – Random Function: Thought this would come in hand. SAP HANA SQL now includes the RAND function that generates a pseudo-random value from 0 to 1.0. For more info about RAND and other changes to SQL in SAP HANA, see the SQL Reference.
- Documentation: The documentation has been revamped to be friendlier, easier to understand, with examples and tutorials. The documentation consists of the developer guide, plus a set of references. The guide tries to take you through the development process, in logical order:
- What is SAP HANA database? [Chapter 3]
- How do you develop on top of SAP HANA? This includes overview of the repository and the SAP HANA studio IDE. [Chapter 4]
- How do I create a project? [Chapter 5]
- How do I create the data model? [Chapter 6]
- How do I create analytic views? [Chapter 7]
- How do I create complex SQLScript procedures? [Chapter 8]
- How do I create a UI on top of these interfaces? [Chapter 11]
I will write about a few of these in more details in the coming weeks. Please comment and tell me what else you would like to know about.
There were also changes to the fuzzy search, full-text search, SQL and SQLScript syntax, and Modeler tools. For more on these, see the Development section of the What’s New document.