SAP HANA Developer Information Map en
SAP HANA Developer Information Map en
The developer information road map is designed to help developers find the information they need in the
library of user and reference documentation currently available for SAP HANA development projects.
The development environment for SAP HANA supports a wide variety of application-development scenarios.
For example, database developers need to be able to build a persistence model or design an analytic model;
professional developers want to build enterprise-ready applications; business experts with a development
background might like to build a simple server-side, line-of-business application; and application developers
need to be able to design and build a client user interface (UI) that displays the data exposed by the data
model and business logic. It is also essential to set up the development environment correctly and securely
and ensure the efficient management of the various phases of the development lifecycle.
The following image displays essential information sources for people planning to develop applications in SAP
HANA Extended Application Services classic model.
With such a wide variety of people needing to find such a broad range of information about so many different
tasks, it is sometimes not easy to know what information is available or where to look to find it. This section is
designed to help you navigate the documentation landscape by looking at the information available for the SAP
HANA developer from the following perspectives:
Related Information
The design and organization of the SAP HANA developer documentation library makes it easy to use the name
of a guide to find the relevant information. For example, the SAP HANA SQLScript Reference describes how to
use the SQL extension SAP HANA SQLScript to define a data model.
The SAP HANA developer information set includes a selection of guides that describe the complete
application-development process, from defining user roles, privileges, and data models through application
setup to UI design and testing; the information available covers background and concepts, task-based
tutorials, and detailed reference material. The following tables illustrate which guides are available for the
developer who wants to build applications for SAP HANA, what information the guide contains, and which
typical high-level tasks the selected guide covers:
Developer Quick Start Guide (for XS Contains a selection of tutorials which Build data-persistence models
classic) teach the basic steps required to build
Write procedures and user-defined
data models and the native applica
tions that run on SAP HANA XS classic functions (UDF)
model.
Build applications with SAP HANA XS
JavaScript or OData.
Developer Guide for SAP HANA Studio Describes the complete application-de Build a data model
(XS classic) velopment process for SAP HANA Ex
Build XS classic applications (XS Java
tended Application Services Classic
Model using the tools included in SAP Script)
HANA studio.
Build SAPUI5 clients
Developer Guide for Web Workbench Describes the complete application-de Build a data model
(XS classic) velopment process for SAP HANA Ex
Build XS classic applications (XS Java
tended Application Services Classic
Model using the tools included in SAP Script)
HANA Web-based Development Work
Build SAPUI5 clients
bench.
Manage the application lifecycle
Developer Guide (for XS advanced) Describes the complete application-de Build a data model
velopment process for SAP HANA Ex
Build XS advanced applications
tended Application Services Advanced
Model. (Node.js, JavaScript, Java, ...)
Modeling Guide (for XS classic) Explains how to use the SAP HANA Create attribute, analytic, and calcula
modeler in to create information mod tion views
els for use by XS classic applications
Create decision tables
based on data that can be used for ana
lytical purposes. Import/Export data
Modeling Guide (for XS advanced) Explains how to use the SAP HANA Create attribute, analytic, and calcula
modeler to create information models tion views
for XS advanced applications based on
Create decision tables
data that can be used for analytical
purposes. Import/Export data
SAPUI5 Demo Kit and Documentation Describes how to develop SAPUI5 ap Build client UI models
plications based on SAP HANA, a user
Design UI view (buttons/boxes)
interface technology for building and
adapting client applications Bind UI views to data
The SAP HANA developer information set also includes a selection of reference guides that describe the
various languages that you use to define the underlying data model (for example, SQL, CDS, or HDBTable) as
well as the application business logic (for example, XS JavaScript with XS classic). The following tables
illustrate which reference guides are available for the more experienced developer who needs more detailed
information about how to build specific components.
SQL System and Views Reference Describes all SQL data types, predi Query state of SAP HANA using SQL
cates, operators, expressions, func commands
tions, statements, and error codes.
Alter system configuration/initializa
tion services *
SQLScript Reference Describes how to use the SQL exten Build SQL scripts
sion SAP HANA SQLScript to embed
Create UDFs
data-intensive application logic into
SAP HANA. Build SQL procedures
SAP HANA Analytics Catalog (BIMC Describes how to use the SAP HANA Pass and map variables and parame
Views) Reference analytics catalog for tables and views ters
with the BIMC prefix. The catalog con
Use parameters in hierarchies
tains metadata used by analytics cli
ents such as the Business Objects Read values from BIMC tables
Cloud and for access to SAP HANA via
MDX. Build SQL queries
SQL Command Network Protocol Describes the SQL Command Network Define routes for SQL statements
Protocol that is used by SAP HANA cli
Set up authentication (SAML…)
ents to communicate with SAP HANA.
Handle large data objects
Spatial Reference (*) Describes how to store, manipulate, Store and manage spatial data
and manage spatial data, for example,
Access and manipulate spatial data
geographic locations, routing informa
tion, and shape data. Calculate the distance between geome
tries
XS JavaScript Reference Describes how to use XS JavaScript to Create XSJS services (for XS classic)
build native SAP HANA applications for
Create XSJS libraries
XS classic, explains the underlying con
cepts, and lists the various APIs that Build application logic
are available.
XS JavaScript API Reference Describes the API functions, methods, Use the XS JavaScript API
and classes provided for use with
Search for XSJS API classes
server-side JavaScript code running in
side (SAP HANA XS). Locate XSJS methods
XSUnit JavaScript API Reference Describes the API functions, methods, Test server-side (XS) JavaScript code
and classed provided with the XSUnit
Test SQLScript code (stored proce
test framework to automate the tests
that you want to run for SAP HANA XS dures, views)
applications.
Test modeled calculation view
XS DB Utilities JavaScript API Refer Describes the API that provides access Call a stored procedure
ence to a library of JavaScript utilities, which
Query a CDS entity
can be used to enable server-side Java
Script applications to consume data Update a CDS entity
models that are defined using Core
Data Services or call stored procedures
as if they were JavaScript objects.
SINA Search JavaScript Reference (*) Describes the SAP HANA simple infor Create a search query
mation access (SINA) API, a client-side
Create a suggestion query
JavaScript API for developing browser-
based search UIs Create a bar- or line-chart query
Core Data Services (CDS) Reference Explains how to use Core Data Services Create CDS Documents (for XS clas
(CDS) to build design-time data-persis sic)
tence models in SAP HANA Extended
Define tables, table types, and SQL
Application Services (for XS classic).
The data-persistence model defines views
the data to expose in response to client
Define associations between data ob
requests via HTTP, for example, from
jects
an SAPUI5-based application.
Import data into a table
HDBTable Syntax Reference Explains how to use the hdbtable Define schemas and sequences (for XS
syntax to build design-time data-per classic)
sistence models in SAP HANA XS (for
Define tables, SQL views, and table
XS classic). The data-persistence
model is used to define the data to ex types
pose in response to client requests via Import data into a table
HTTP, for example, from an SAPUI5-
based application.
SAP HANA REST API (for XS classic) Describes the REST API for SAP HANA Maintain repository workspaces
(for XS classic), which enables devel
Maintain projects and files
opment tools to access SAP HANA
platform components such as the for Interact with the SAP HANA repository
XS classic repository using REST-
based calls. Access catalog objects
Business Function Library (BFL) Refer Describes the SAP HANA Business Assign AFL user roles/privileges
ence Function Library (BFL), which contains
pre-built financial functions. Create the AFL wrapper procedure
Predictive Analysis Library (PAL) Ref Describes the SAP HANA Predictive Assign AFL user roles/privileges
erence Analysis Library (PAL), which contains
Create the AFL wrapper procedure
functions that can be called from within
SAP HANA SQLScript procedures to Generate and call a BFL procedure
perform analytic algorithms.
Create input/output tables
Caution
(*) SAP HANA server software and tools can be used for several SAP HANA platform and options scenarios
as well as the respective capabilities used in these scenarios. The availability of these is based on the
available SAP HANA licenses and the SAP HANA landscape, including the type and version of the back-end
systems the SAP HANA administration and development tools are connected to. There are several types of
licenses available for SAP HANA. Depending on your SAP HANA installation license type, some of the
features and tools described in the SAP HANA platform documentation may only be available in the SAP
HANA options and capabilities, which may be released independently of an SAP HANA Platform Support
The design and organization of the SAP HANA developer documentation library enables easy access to
information according to the particular development task to be performed, for example, creating a view or
procedure, or setting up an application project.
The SAP HANA developer can make use of a large number of guides that include information describing the
complete application-development process. The following figure shows the information that is available from
the perspective of the development tasks that must be performed in a particular development area, for
example, setting up the persistence model; creating an XSJS or OData service, or managing the development
lifecycle. Each of the tasks described is supported by information covering the underlying concepts and
detailed reference material. The figure also indicates where to find information based on the development task
you want to perform. The tasks are split according to development area, for example, database development,
application development, or UI design.
Caution
(*) SAP HANA server software and tools can be used for several SAP HANA platform and options scenarios
as well as the respective capabilities used in these scenarios. The availability of these is based on the
available SAP HANA licenses and the SAP HANA landscape, including the type and version of the back-end
systems the SAP HANA administration and development tools are connected to. There are several types of
licenses available for SAP HANA. Depending on your SAP HANA installation license type, some of the
The design and organization of the SAP HANA developer documentation library enables easy access to
information according to the underlying development scenario, for example, lifecycle management, or
application development.
The SAP HANA developer can make use of a large number of guides that include information describing the
complete application-development process from the perspective of the development scenario, for example,
database development, application development, or client UI design and testing; the information available
covers background and concepts, task-based tutorials, and detailed reference material. The following table
indicates where to find information based on the development scenario you choose, for example:
The particular scenario you select can be based on the underlying development area you are assigned to, the
choice of programing language, the required development objects, or the tools you want to use:
A database developer uses a variety of languages to develop a data model that can be exposed to a UI client,
for example by HTTP (with an application service) or SQL (with a client interface such as ADBC or JDBC). In a
database-development scenario, developers typically use languages such as SQLScript or Core Data Services
(CDS) to define the data-persistence model to which you add the corresponding analytic model. If you want to
develop a data model that can be exposed to client requests, use the following table to help find the
information you need to complete the most common development tasks.
Using features available in additional optional components (*), you can develop applications that perform the
following tasks:
● Manage data streams, for example, to filter, aggregate or enrich data before it is committed to the
database
● Perform real-time operational analysis on data
SQL Database ele Eclipse (SAP SQL System and Views Reference
ments, services, HANA studio)
Text Analysis Developer Guide *
policies, extended
SAP HANA Web
storage/index, Text Mining Developer Guide *
Workbench
adapters and
Streaming Analytics: Studio Users Guide *
agents, remote SAP Web IDE for
sources and sub SAP HANA
scriptions, search,
text mining and
analysis, data
streams (filters ag
gregators, and en
richment), infor
mation manage
ment, geo-spatial
data *
SAP HANA DB Tables, SQL Views, Eclipse (SAP Developer Guide for SAP HANA Studio (XS classic)
(.hdb* syntax; Procedures, HANA studio)
SQLScript Reference
hdbtable, Search index
SAP HANA Web
hdbview...) (InA) ...
Workbench
SAP HANA DB Entities, data Eclipse (SAP Developer Guide for SAP HANA Studio (XS classic)
(CDS syntax) types, contexts, HANA studio)
Developer Guide (for XS advanced)
SQL views, geo
SAP HANA Web
spatial *, … SAP HANA Spatial Reference
Workbench
SAP HANA HDI Tables, indexes, SAP Web IDE for Developer Guide (for XS advanced)
data types, proce SAP HANA
Administration Guide (HDI container maintenance and pa
dures, SQL views,
SQL console rameters)
triggers, calcula
tion views, analytic
privileges, …, HDI
setup and mainte
nance
SAP HANA DB Analytic and calcu Eclipse (SAP Developer Guide for SAP HANA Studio (XS classic)
lation views, deci HANA studio)
Developer Guide for Web Workbench (XS classic)
sion tables, …
SAP HANA Web
Developer Guide (for XS advanced)
Workbench
Modeling Guide (for XS classic)
SAP Web IDE for
SAP HANA Modeling Guide (for XS advanced)
MDX Analytics, BIMC ta Eclipse (SAP SAP HANA Analytics Catalog (BIMC Views) Reference
bles and views, HANA studio)
Developer Guide (for XS advanced)
XMLA documents
SAP HANA Web
Workbench
Caution
(*) SAP HANA server software and tools can be used for several SAP HANA platform and options scenarios
as well as the respective capabilities used in these scenarios. The availability of these is based on the
available SAP HANA licenses and the SAP HANA landscape, including the type and version of the back-end
systems the SAP HANA administration and development tools are connected to. There are several types of
licenses available for SAP HANA. Depending on your SAP HANA installation license type, some of the
features and tools described in the SAP HANA platform documentation may only be available in the SAP
HANA options and capabilities, which may be released independently of an SAP HANA Platform Support
Package Stack (SPS). Although various features included in SAP HANA options and capabilities are cited in
the SAP HANA platform documentation, each SAP HANA edition governs the options and capabilities
available. Based on this, customers do not necessarily have the right to use features included in SAP HANA
options and capabilities. For customers to whom these license restrictions apply, the use of features
included in SAP HANA options and capabilities in a production system requires purchasing the
corresponding software license(s) from SAP. The documentation for the SAP HANA options is available in
SAP Help Portal. If you have additional questions about what your particular license provides, or wish to
discuss licensing features available in SAP HANA options, please contact your SAP account team
representative.
As an application developer, you use a variety of languages to develop applications that expose a SAP HANA
data model to requests from UI clients. In an application-development scenario, developers typically use
languages such as server-side JavaScript (XSJS) or an OData service to define the application business model
that exposes the data model built by the database developer. You can call the application service from a client
interface, for example, a browser or UI client. If you want to develop an application service that exposes an
SAP HANA data model to client requests, use the following table to help find the information you need to
complete the most common development tasks.
XSJS (server-side Server-side Java Eclipse (SAP HANA Developer Guide for SAP HANA Studio (XS classic)
JavaScript) Script services, li studio)
SAP HANA XS JavaScript API Reference
braries, API
SAP HANA Web
Workbench
Node.js Server-side services, SAP Web IDE for SAP Developer Guide (for XS advanced)
modules, libraries, HANA
build-packs, API
Java Server-side services, SAP Web IDE for SAP Developer Guide (for XS advanced)
libraries, build- HANA
packs, API
Custom (Python, Server-side services, SAP Web IDE for SAP Developer Guide (for XS advanced)
PHP, …) libraries, build- HANA
packs, API
XS CLI
Custom
OData OData services, SAP Web IDE for SAP Developer Guide (for XS advanced)
query options, pa HANA
Developer Guide for SAP HANA Studio (XS classic)
rameters
SAP HANA studio
Developer Guide for Web-based Workbench (XS
SAP HANA Web classic)
Workbench
OData Reference
XMLA/MDX XML for Analysis Developer Guide (for Developer Guide (for XS advanced)
services and docu XS advanced)
Developer Guide for SAP HANA Studio (XS classic)
ments
SAP HANA DB Ex
Developer Guide for Web-based Workbench (XS
Multi-Dimensional plorer (MDX console)
classic)
Expressions (MDX)
queries
As a developer of client applications, you use a variety of languages to develop a user interface (UI) client that
displays permitted elements of an SAP HANA data model. In a UI-client development scenario, developers
typically use languages such as SAPUI5 (HTML5) or JavaScript to define the UI client application. The UI client
binds interface controls to actions that request data and display it in the required format. If you want to
develop a UI client application that can be used to display an SAP HANA data model, use the following table to
help find the information you need to complete the most common development tasks.
SAPUI5 JS, UI5 Library, View, Con Eclipse (SAP HANA studio) Developer Guide for SAP
trol, ... HANA Studio (XS classic)
JavaScript Search queries, results, sug Eclipse (SAP HANA studio) Developer Guide for SAP
gestions HANA Studio (XS classic)
Caution
(*) SAP HANA server software and tools can be used for several SAP HANA platform and options scenarios
as well as the respective capabilities used in these scenarios. The availability of these is based on the
available SAP HANA licenses and the SAP HANA landscape, including the type and version of the back-end
systems the SAP HANA administration and development tools are connected to. There are several types of
licenses available for SAP HANA. Depending on your SAP HANA installation license type, some of the
features and tools described in the SAP HANA platform documentation may only be available in the SAP
HANA options and capabilities, which may be released independently of an SAP HANA Platform Support
Package Stack (SPS). Although various features included in SAP HANA options and capabilities are cited in
the SAP HANA platform documentation, each SAP HANA edition governs the options and capabilities
available. Based on this, customers do not necessarily have the right to use features included in SAP HANA
SAP HANA server software and tools can be used for several SAP HANA platform and options scenarios as
well as the respective capabilities used in these scenarios. The availability of these is based on the available
SAP HANA licenses and the SAP HANA landscape, including the type and version of the back-end systems the
SAP HANA administration and development tools are connected to. There are several types of licenses
available for SAP HANA. Depending on your SAP HANA installation license type, some of the features and
tools described in the SAP HANA platform documentation may only be available in the SAP HANA options and
capabilities, which may be released independently of an SAP HANA Platform Support Package Stack (SPS).
Although various features included in SAP HANA options and capabilities are cited in the SAP HANA platform
documentation, each SAP HANA edition governs the options and capabilities available. Based on this,
customers do not necessarily have the right to use features included in SAP HANA options and capabilities.
For customers to whom these license restrictions apply, the use of features included in SAP HANA options and
capabilities in a production system requires purchasing the corresponding software license(s) from SAP. The
documentation for the SAP HANA options is available in SAP Help Portal. If you have additional questions
about what your particular license provides, or wish to discuss licensing features available in SAP HANA
options, please contact your SAP account team representative.
Coding Samples
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system
environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, unless damages were caused by SAP
intentionally or by SAP's gross negligence.
Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be
a binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however,
does not apply in cases of willful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations
of SAP.
Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as
"sales person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun
does not exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.
Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does
not warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any
damages caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for
transparency (see: http://help.sap.com/disclaimer).