Вы находитесь на странице: 1из 1338

Developer Guide

SAP HANA Cloud Platform


Document Version: 1.85.0 2016-07-20

SAP HANA Cloud Platform

PUBLIC

Content

SAP HANA Cloud Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1

Product Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Product Prerequisites and Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2

Get Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Creating Your First Cloud Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Accounts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Java: Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
SAP HANA: Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
HTML5: Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Tutorials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Glossary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

1.3

Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
SDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Cockpit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Eclipse Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
SAP Web IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Maven Plugin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Console Client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

1.4

Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Connectivity Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Document Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
SAP Document Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Feedback Service (Beta). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Gamification Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Monitoring Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Performance Statistics Service (Beta). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .714
Persistence Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
Remote Data Sync Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
SAP Translation Hub (Beta). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .894
Git Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
Business Services with YaaS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942

1.5

Develop Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950


Java: Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
SAP HANA: Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
HTML5: Development. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
API Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


Content

1.6

Extend SAP Cloud Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1060


Basic Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1062
Extending SuccessFactors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070

1.7

Operate Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095


Java: Application Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
SAP HANA: Application Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
HTML5: Application Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171
Configuring Application URLs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182
Change Management with CTS+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198

1.8

Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204
Identity and Access Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205
Securing SAP HANA Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211
Securing Java Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211
Securing HTML5 Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1323

1.9

Get Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1325


Support Information (Eclipse IDE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1327
Platform Updates and Notifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1327

1.10

Our Response to Your Feedback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1330

SAP HANA Cloud Platform


Content

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform

Table 1:
Get Started

Get Productive

Account Types [page 12]

Develop

Creating Your First Cloud Application

SAP HANA [page 1008] | Java [page

[page 10]

951] | SAPUI5 | HTML5 [page 1040]

Tutorials [page 76]


Java Samples [page 51]
Glossary [page 78]

Operations
Configure [page 1099] | Update [page
1119] | Log [page 1129] | Debug [page
986] | Monitor [page 1149] ...

Enable Application Providers to Access


Your Account [page 25]

Secure Applications
Authentication [page 1213] | Authoriza
tion [page 1220] | OAuth 2.0 [page 1227]
| Roles [page 1282] | ID Federation [page
1292] ...

What's In

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

What's New

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Product Overview [page 5]


Tools

Release Notes
Our Response to Your Feedback [page
1330]

Cockpit [page 84] | Eclipse [page


86] | Console Client [page 88] | SAP
Web IDE [page 88] | Maven Plugin
[page 88] | Cloud Connector [page
434] ...

Software Development Kit [page 81]


Featured Services
Connectivity [page 267] | Feedback

84]

ID Federation with the Corporate


Identity Provider [page 1292]

871] | Gamification [page 615]

Download the product documentation in

Managing Accounts and Quota


[page 17]

[page 597] | Performance Statistics


[page 714] | Remote Data Sync [page

Notifications in the Cockpit [page

Principal Propagation to OAuth-Pro


tected Applications [page 1318]

Configuring OAuth 2.0 [page 1310]

Managing Database Systems [page


774]

PDF format.

1.1

Product Overview

SAP HANA Cloud Platform is an in-memory cloud platform based on open standards. It provides access to a
feature-rich, easy-to-use development environment in the cloud. The platform includes a comprehensive set of
services for integration, enterprise mobility, collaboration, and analytics.
SAP HANA Cloud Platform enables customers and partners to rapidly build, deploy, and manage cloud-based
enterprise applications that complement and extend your SAP or non-SAP solutions, either on-premise or ondemand.
As a Platform-as-a-Service operated by SAP, our product frees you from any infrastructure and IT costs and
offers state-of-the art quality of service - availability, scalability, multitenancy.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

Scenarios

Develop new cloud applications


This scenario is suitable for companies that need to start developing new applications from scratch. You can
create brand new cloud applications and reach your end customers easily, with a low learning curve and small
capital investment in software and hardware.
Develop on-premise extensions
This scenario is suitable for companies that have already invested a lot in on-premise IT infrastructure. You
can create the new extensions to the system on the cloud, and integrate seamlessly with the on-premise
components using Connectivity Service and Cloud Connector.
Develop cloud extensions
At SAP HANA Cloud Platform, you can also develop extensions to other cloud products, such as
SuccessFactors.

Application development
You can use the following programming models to build highly scalable applications:
Java - SAP HANA Cloud Platform is Java EE 6 Web Profile certified. You can develop Java applications just like
for any application server. You can also easily run your existing Java applications on the platform.
SAP HANA - you can use the SAP HANA development tools to create comprehensive analytical models and
build applications with SAP HANA programmatic interfaces and integrated development environment.
HTML5 - you can easily develop and run lightweight HTML5 applications in a cloud environment.
SAPUI5 - use the UI Development Toolkit for HTML5 (SAPUI5) for developing rich user interfaces for modern
Web business applications.

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Runtime container for applications


Applications developed on SAP HANA Cloud Platform run in a modular and lightweight runtime container. The
platform provides a secure, scalable runtime environment with reusable platform services.

Services
You can consume a set of services provided by SAP HANA Cloud Platform according to the technology you prefer
and the use cases of your scenarios.

Integration with SAP and non-SAP software


SAP HANA Cloud Platform facilitates secure integration with on-premise systems running software from SAP and
other vendors. Using the platform services, such as the connectivity service, applications can establish secure
connections to on-premise solutions, enabling integration scenarios with your cloud based applications.

In-memory persistence
SAP HANA Cloud Platform includes persistence powered by SAP HANA, taking full advantage of its real-time, inmemory computing technology and built-in analytics.

Secure data
Comprehensive, multilevel security measures have been built into SAP HANA Cloud Platform. This security is
engineered to protect your mission critical business data and assets and to provide the necessary industry
standard compliance certifications.

Free trial
You can start by getting a free SAP HANA Cloud Platform developer license on SAP HANA Cloud Platform
Developer Center that also gives you access to our community and all the free technical resources, tutorials,
blogs, support you need.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

Related Information
SAP HANA Cloud Platform
Develop Applications [page 950]
Services [page 264]
Tools [page 81]
Identity and Access Management [page 1205]
Get Support [page 1325]
SAP HANA Cloud Platform Developer Center
openSAP: Introduction to SAP HANA Cloud Platform

1.1.1 Product Prerequisites and Restrictions

General Constraints
SAP HANA Cloud Platform has Java SE 7 Hotspot compatible JVM and supports bytecode compiled in Java
SE 7 Hotspot format.
Upload limit: the size of an application deployed on SAP HANA Cloud Platform can be up to 1.5 GB. If the
application is packaged as a WAR file, the size of the unzipped content is taken into account.
SAP HANA Cloud Platform exposes applications only via HTTPS. For security reasons, applications cannot be
accessed via HTTP.
Language support: you can develop and run applications on the platform, which supports any set of
languages. The documentation and the user intefaces (UI) of the platform itself are only available in English.

SAP HANA Cloud Platform Tools


SAP HANA Cloud Platform Tools for Java and SDK have been tested on Windows 7 (64 bit) with Java
Standard Edition 6 (Java SE 6).
SAP HANA Cloud Platform Tools for Java and SDK run fine in many operating environments with Java SE 6
and Java SE 7 that are supported by Eclipse. However, we do not systematically test all platforms.
SAP HANA Cloud Platform Tools for Java must be installed on Eclipse IDE for Java EE developers.
To be able to deploy your application in a customer account, you have to use SAP HANA Cloud Platform Tools
version 0.24.4.3 or higher.
For JCo-enabled applications, the SDK local runtime needs to be hosted by a 64-bit JVM.
For the specific requirements for the platform development tools, SDK, Cloud connector, SAP JVM, see https://
tools.hana.ondemand.com/#cloud

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Browser Support
For UIs of the platform itself, such as the SAP HANA Cloud Platform Cockpit, the following browsers are
supported on Microsoft Windows PCs and where mentioned below on Mac OS X:
Browser

Versions

Microsoft Internet Explorer

11

Mozilla Firefox

Extended Support Release (ESR) and latest version

Google Chrome

Latest version

Safari

7.0 and upwards (for Mac OS X only)

If you are developing an SAPUI5 application, for the list of supported browsers see Browser and Platform
Matrixes.
For security reasons, SAP HANA Cloud Platform does not support TLS1.0, SSL 3.0 and older, and RC4 based
cipher suites. Make sure your browser supports at least TLS1.1 and modern ciphers (for example, AES).

Services
You can find the restrictions related to each SAP HANA Cloud Platform service in the respective service
documentation:
Connectivity Service [page 267]
Persistence Service [page 720]
Document Service [page 545]

Accounts
For more information about the limitations of each type of account (developer, customer, partner), see Account
Types [page 12]

1.2

Get Started

Table 2:
To learn about

See

The different technologies provided by SAP HANA Cloud Plat


form

Java: Getting Started [page 33]


SAP HANA: Getting Started [page 57]
HTML5: Getting Started [page 66]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

To learn about

See
SAPUI5: Read Me First

How to create a cloud application

Creating Your First Cloud Application [page 10]

What account you need

Accounts [page 11]

The ready-to-use sample scenarios

Tutorials [page 76]

1.2.1 Creating Your First Cloud Application

Build your first application on the platform based on your preference for development technology and language.
You might want to try several of the tutorials in these tables.

Note
The Import option for some technologies means that sample applications are available, which you can import
in your Eclipse IDE.

SAP HANA
Table 3:
Workbench

Hello World!

Eclipse IDE

Creating an SAP HANA XS Application [page 59]


See also: 8 Easy Steps to Develop an XS Application

Java
Table 4:
Eclipse IDE

Hello World!

Import

Samples [page 51]


See also: Granny's Addressbook - a typical Java web app

10

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

HTML5
Table 5:
Web IDE

Hello World Tutorial Using SAP Web IDE (recommended) [page 66]

Eclipse IDE

Hello World! [page 70]


See also: Lightweight HTML5 app

SAPUI5
Table 6:
Workbench

Hello World!

Web IDE

Hello World!

Tool Independent

Hello World!

1.2.2 Accounts
SAP HANA Cloud Platform provides free and paid accounts, a self-service to create accounts, and a member
management feature for setting up teams.

Global Accounts
Accounts are organized in a global account. A global account corresponds to a customer who buys an account for
deploying applications on the cloud platform. The customer data, billing information, and purchased quota (such
as Java quota) are stored in a global account. In the global account, administrators create accounts for
developers, partners and customers and assign the available quota to the accounts. It is possible to reallocate
quota between several accounts in the same global account. New accounts are assigned automatically to the
global account. The global account is the same on all landscapes.

Note
The global account feature is not available in a trial environment. As a user working in a trial environment, you
see your account in which you deploy and run applications.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

11

Developer, Customer, and Partner Accounts


You can use a developer, customer, or a partner account to deploy and run your applications on the cloud
platform.
For more information, see Account Types [page 12].

Related Information
Getting an Account [page 12]
Account Types [page 12]
Managing Accounts and Quota [page 17]
Managing Members [page 23]
Account Member Roles [page 27]
Using Beta Features in Accounts [page 22]

1.2.2.1

Getting an Account

To deploy applications on SAP HANA Cloud Platform, you need an account that corresponds to your role.

Related Information
Account Types [page 12]
Signing Up for a Developer Account [page 15]
Purchasing a Customer Account [page 16]
Joining the Partner Program [page 16]
Cockpit [page 84]

1.2.2.1.1

Account Types

SAP HANA Cloud Platform provides free and paid accounts: developer, customer, and partner accounts. The
account type determines pricing, conditions of use, resources, services available, and landscape host. Each
account is associated with a region, which represents the location of the data center used by that account.
While developer accounts use the trial landscape, which is located in Europe only, customer and partner accounts
use a productive landscape, which is available on a regional basis.
The specific landscape associated with an account is relevant when you deploy applications (landscape host) and
access the SAP HANA Cloud Platform cockpit (cockpit URL).

12

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Note
You can have several accounts in one or more landscapes. Your accounts are independent of each other, even
if you have accounts of the same name in different regions. The data center assigned to your account is not
directly related to your location. You could be located in the United States, for example, but operate your
account in Europe.
The main features of each account type are described below:
Table 7:

Use case

Developer Account

Customer Account

Partner Account

A developer account enables you

A customer account enables you

A partner account enables you to

to explore the basic SAP HANA

to host productive, business-criti

build applications and to sell them

Cloud Platform functionality for a

cal applications with 24x7 support. to your customers.

non-committal and unlimited pe


riod. Access is open to everyone.

You can purchase a customer ac


count just like any other SAP soft
ware.

Benefits

Free of charge

Support for productive applica

Self-service registration

tions

Unlimited period

A trial tenant database on a

It includes SAP Application


Development licenses to ena
ble you to get started with
scenarios across cloud and
on-premise applications.

shared HANA MDC system

that you can use for 12 hours.

It offers the opportunity to


certify applications and re
ceive SAP partner logo pack

Restriction

age with usage policies.

After 12 hours, it will be

shut down automatically

Partners can advertise and


sell applications via the SAP

to free resources (see Da

Store

tabases and Database


Systems [page 770]).
If you do not use the ten
ant database for 7 days, it
will be automatically de
leted.

Multiple deployed Java appli

Automatic access to SAP

cations
HANA Cloud Portal, SAP Mo
bile Platform, and Gateway as
a Service
Services availa Productive and beta services

Productive and beta services

Productive and beta services

ble

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

13

Developer Account
Limitations

Customer Account

Partner Account

One running Java application

Resources according to your con

Predefined resources according to

1 GB of database storage

tract

your partner package. More can

1 GB of document storage

One user per account

One SAP HANA tenant data

be purchased if there is a need.

base

100MB for all Git repositories

Two configured on-premise


systems with the Cloud con
nector

Cloud connector supported


only for Java and HTML5 ap
plications

No service level agreement


with regards to the availability
of the platform

Registration

For information about how to reg

For more information, see https:// To join the partner program, sign

ister, see Signing Up for a Devel

hcp.sap.com/pricing.html

oper Account [page 15].

Contact us on SAP HANA Cloud


Platform

up at the SAP Application Devel


opment Partner Center

or via an SAP sales

representative.
Landscape

hanatrial.ondemand.com

See Landscape Hosts [page 32]

See Landscape Hosts [page 32]

host

Related Information
Accounts [page 11]
Landscape Hosts [page 32]
Cockpit [page 84]
Managing Accounts and Quota [page 17]
Using Beta Features in Accounts [page 22]
Databases and Database Systems [page 770]

14

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.2.1.2

Signing Up for a Developer Account

A developer account gives you access to the trial landscape for an unlimited period and is free of charge. You can
only have one developer account.

Procedure
1. Go to the SAP HANA Cloud Platform landing page (https://account.hanatrial.ondemand.com).
2. Depending on whether or not you already have a user ID, proceed as follows:
Do you already have a user ID?

Do the following

No.

Youd like to register with the SAP ID service and create a developer account.
1. Click Register.
2. On the registration screen, enter the required data and confirm by clicking
Register.
Youll receive a confirmation e-mail with instructions to activate your ac
count.
3. Click the link in the e-mail to confirm your address and to activate your ac
count.

Yes.

You just want to create a developer account.


1. Click Log On and sign in with your user credentials.
2. Read and accept the SAP HANA Cloud Developer Edition License Agree
ment.

Your developer account is now automatically created. The cockpit opens and shows the dashboard of your
newly created account.

Results
The name of your new developer account contains your user ID and the suffix trial, for example,
p0123456789trial. Note the following points:
Developer accounts are intended for personal exploration, and not for use in a productive environment or for
team development. You can't assign members to the account (you won't see the Members list).
A developer account has only one virtual machine (VM) at its disposal. You can deploy multiple applications,
but you can start only one application at any one time.
Applications will be stopped automatically after a certain period of time for cleanup purposes.
When deploying to the cloud, remember to use the SAP HANA Cloud Platform landscape host
hanatrial.ondemand.com.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

15

Related Information
Cockpit [page 84]
Landscape Hosts [page 32]

1.2.2.1.3

Purchasing a Customer Account

A customer account allows you to host productive, business-critical applications with 24x7 support.
When you want to purchase a customer account, you can select from a set of predefined packages. For more
information, see https://hcp.sap.com/pricing.html . Contact us on SAP HANA Cloud Platform
or via an SAP
sales representative.
In addition, you can upgrade and refine your resources later on. You can also contact your SAP sales
representative and opt for a configuration, tailored to your needs.
After you have purchased your customer account, you will receive an e-mail with a link to the landing page of SAP
HANA Cloud Platform.

Related Information
Signing Up for a Developer Account [page 15]
Joining the Partner Program [page 16]
Account Types [page 12]

1.2.2.1.4

Joining the Partner Program

A partner account enables you to build applications and to sell them to your customers.
To become a partner, you need to fill in an application form and then sign your partner contract. You will be
assigned to an account with the respective resources. To apply for the partner program, visit https://
www.sapappsdevelopmentpartnercenter.com/en/signup/new/ . You will receive a welcome mail with further
information afterwards.
General information about the partner program is available on https://
www.sapappsdevelopmentpartnercenter.com/en/get-started/cloud-applications/

Related Information
Signing Up for a Developer Account [page 15]
Purchasing a Customer Account [page 16]

16

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Account Types [page 12]

1.2.2.2

Managing Accounts and Quota

You can manage accounts and assign the quota available for a global account to the accounts associated with this
global account.
Prerequisites
You have the Administrator role for the account in question to be able to manage the account, its members, and
the quota.
As an administrator you have the rights to perform typical account administration tasks, for example:
Create, edit, and delete accounts
Assign the quota purchased for a global account to individual accounts
Add members to accounts and assign roles to them
Copy attributes including destinations, trust settings, roles, and members from existing accounts to the newly
created account
Enable the use of beta features in the account

Note
You can manage accounts and quota using the cockpit or the console client commands.

Related Information
Accounts [page 11]
Creating Accounts [page 18]
Defining Account Details [page 19]
Deleting Accounts [page 21]
Managing Account Quota [page 21]
Using Beta Features in Accounts [page 22]
Using Multiple Accounts for Staged Application Development [page 1160]
Multitenant Applications [page 990]
create-account [page 110]
delete-account [page 125]
list-accounts [page 187]
set-quota [page 237]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

17

1.2.2.2.1

Creating Accounts

You can create accounts and use a copy function to copy settings from other accounts.

Prerequisites
You have the Administrator role for the account.

Context
The overview of accounts available to you is your starting point for creating accounts in the cockpit.
The new account is added as a new tile in the overview from where you can perform further actions. You are
automatically assigned as a member of the newly created account.

Note
Account creation happens in the background. Some details including the account name and description are
available right away, while the settings you select for copy will only be created in the background with some
delay. There is no notification that the account has been created.
You can enable an account to use beta features made available by SAP for SAP HANA Cloud Platform from timeto-time. This option is available to administrators only and deselected by default for your productive landscape.

Note
You should not use SAP HANA Cloud Platform beta features in productive accounts, as any productive use of
the beta functionality is at the customer's own risk, and SAP shall not be liable for errors or damages caused by
the use of beta features.

Procedure
1. Log on to the cockpit and go to the overview page of available accounts.
The accounts are displayed as tiles.
2. Choose New Account.
3. Specify a display name.
4. (Optional) Specify a description.
5. (Optional) To enable the use of beta features in the account, select the Enable checkbox.
6. (Optional) To copy settings from an existing account, select the checkbox. The details for the copy function
are displayed. Select an account from the list and select the settings that should be copied to the new
account.

18

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

You can copy trust settings, destinations, and members.


7. Save your changes.

Next Steps
The newly created account is displayed on the overview page of available accounts.

Related Information
create-account [page 110]
Account Types [page 12]
Defining Account Details [page 19]
Deleting Accounts [page 21]
Managing Account Quota [page 21]
Using Beta Features in Accounts [page 22]

1.2.2.2.2

Defining Account Details

You can view and change the details of the currently selected account.

Prerequisites
You have the Administrator role for the account.

Context
The overview of accounts available to you is your starting point for viewing and changing account details in the
cockpit. Accounts available in a global account are organized in tiles. Each tile shows details about the account
including the number of deployed Java applications, members, and the quota information.
To view or change the details for an account, trigger the intended action directly from the tile, for example by
choosing the pencil icon to edit the account details. To view more details about the account such as its description
and additional attributes like beta and extension, click Show More to expose the backside of the tile.
The account name is a unique identifier of the account on the cloud platform that is automatically generated when
the account is created. You use this account name as a parameter for the console client commands.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

19

You can make changes to the following account details:


Display name: Specify a human-readable name for your Java application and change it later on, if necessary.
This way you can distinguish more easily your accounts in case you have more than one.
Description: Specify a short descriptive text about the Java application, typically stating what it does.
Beta Features: Enable the account to use beta features made available by SAP for SAP HANA Cloud Platform
from time-to-time. This option is available to administrators only and deselected by default for your
productive landscape.

Note
You should not use SAP HANA Cloud Platform beta features in productive accounts, as any productive use
of the beta functionality is at the customer's own risk, and SAP shall not be liable for errors or damages
caused by the use of beta features.
Default Database: Select a different default database from the list of default databases available for the
account.

Procedure
1. Log on to the cockpit and go to the list of accounts available to you.
The accounts are displayed as tiles.
2. Choose the

(edit) icon on the tile for the account in question.

3. Specify or modify the display name.


4. (Optional) Specify or modify the description.
5. (Optional) To enable the use of beta features in the account, select the checkbox.
6. (Optional) Select a different default database.
7. Save your changes.

Related Information
Creating Accounts [page 18]
Using Beta Features in Accounts [page 22]
Changing the Default Database System [page 810]

20

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.2.2.3

Deleting Accounts

You can delete the currently selected account.

Prerequisites
You have the Administrator role for the account.

Context
You can only delete the accounts you have created yourself and that do not have non-shared database systems,
database schemas, deployed applications, HTML5 applications, or subscriptions. You cannot delete the last
remaining account from the global account in question.
The overview of accounts available to you is your starting point for deleting accounts in the cockpit.

Procedure
1. Log on to the cockpit and go to the list of accounts available to you.
The accounts are displayed as tiles.
2. Choose Delete (trashcan icon) on the tile for the account in question and confirm the operation.

1.2.2.2.4

Managing Account Quota

You can view details about the quota purchased for a global account (such as Java quota) and how it is distributed
between the accounts in this global account. As long as there are free quotas, you can freely distribute them
between the accounts.

Prerequisites
You have the Administrator role for the accounts for which you want to manage the quota.

Context
The overview of accounts available to you is your starting point for viewing quota information in the cockpit. The
overview shows the different quotas in use, how they are distributed between individual accounts, and how many

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

21

free quotas there are for which purchased edition. For example, there are 2 free Java quotas out of 5 that can be
used in the different accounts.
On the Quota Management page in the cockpit, you can view quota information and manage quota for the
currently selected global account. The quota purchased for a global account is available to the applications
deployed in all accounts in this global account. Quotas are sold in different editions. You can free quotas by
removing them from an account.
Use the + and buttons to adjust the quota in the specified limits.
Note the following:
The Edit option on the Quota Management will only be enabled if you have the Administrator role for at least
one account in this global account.
You need the Administrator role for the account in question to be able to change the quota. Otherwise, the +
and buttons are disabled and you can only view how the quota is distributed.
There is a category Other Accounts for which the total quota of all accounts belonging to this category is
displayed, but no details. These are the accounts to which you are not assigned as member and that you
cannot access.
You cannot decrease quota any further if it is still in use. You first need to release some resources before you
can continue (that means, stop some of the applications or processes in that account).
You cannot increase quota any further if you have reached the limit of your purchased quota because you
have distributed all the available quota already.

Procedure
1. Log on to the cockpit and choose Quota Management in the navigation area.
2. Choose Edit.
3. Change the quota as needed and save your changes.

Related Information
Compute Units [page 959]
list-accounts [page 187]
set-quota [page 237]

1.2.2.3

Using Beta Features in Accounts

SAP may offer and a customer may choose to accept access to functionality that is not generally available and is
not validated and quality assured in accordance with SAPs standard processes. Such functionality is defined as a
beta feature.

22

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

The aim of the beta features is to enable customers, developers, and partners to test new features on SAP HANA
Cloud Platform. The beta features have the following characteristics:
SAP may require that customers accept additional terms to use beta features.
The beta features are either released on productive landscapes for customer and partner accounts, or on trial
landscapes for developer accounts, or on both landscapes.
You can enable some of the beta features in the SAP HANA Cloud Platform cockpit. In the overview of
(edit) icon on the tile for the account in question and then select
accounts available to you, choose the
the checkbox to enable the use of beta features.
No personal data may be processed by beta functionality in the context of contractual data processing
without additional written agreement.

Caution
You should not use SAP HANA Cloud Platform beta features in productive accounts. Any productive use of the
beta functionality is at the customer's own risk, and SAP shall not be liable for errors or damages caused by the
use of beta features.

Related Information
Managing Accounts and Quota
Account Types
Landscape Hosts

1.2.2.4

Managing Members

Use the cockpit to manage users and their roles. You can add and remove users for an account and select and
deselect roles. All members assigned to the selected account can use the functionality provided by SAP HANA
Cloud Platform in the scope of this account and as permitted by their assigned account member roles. These
roles support typical tasks performed by users when interacting with the platform.

Prerequisites
You have the Administrator role for the account.
You have the SAP user IDs of the members that you want to add.

Tip
Users can request user IDs at the SAP Service Marketplace: http://service.sap.com/request-user
SAP Service Marketplace users are automatically registered with the SAP ID service, which controls user
access to SAP HANA Cloud Platform.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

23

Context
Note the following:
A user can be assigned to more than one account.
A user can be assigned any number of roles. The role assignment is account-specific.
Roles apply to all operations associated with the account, irrespective of the tool used (Eclipse-based tools,
cockpit, and console client).
Roles determine which panels are visible in the cockpit and which actions users can initiate.
As an administrator, you cannot remove your own administrator role. You can remove any member except
yourself.

Procedure
1. Log on to the cockpit and go to the list of accounts available to you.
The accounts are displayed as tiles.
2. Select an account.
3. Choose Members in the navigation area.
All members currently assigned to the account are displayed in a list.

Note
The name of a member is displayed only after the member visits the account for the first time.
4. Choose Add Members.
5. Enter one or more user IDs.
There is currently no user validation. You can use commas, spaces, semicolons, or line breaks to separate
members.
6. Select the corresponding roles for the new members and save your changes.

Next Steps
You also have the following options:
To select or deselect roles for a member, choose the
roles take effect immediately.

(edit) icon. The changes you make to the member's

You can enter a comment when editing user roles. This provides you with an effective and simple way of
tracking the reasons for account membership and other important data. The comments are visible to all
members.
You can send an e-mail to a member. This option is displayed only after the recipient visits the account for the
first time.
To remove all the roles of a member, choose Delete (trashcan icon). This removes the member from the
account.

24

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

To check the member history, choose the History button to view a list of changes to members (for example,
added or removed members, or changed role assignments).
To filter the member list for a specific role, use the filter to show only the members with this role.

Related Information
Cockpit [page 84]
Account Member Roles [page 27]

1.2.2.4.1

Enabling Application Providers to Access Your


Account

If your scenario requires it, you can add application providers as members to your SAP HANA Cloud Platform
customer account and assign them the administrator role so that they can deploy and administer the applications
you have purchased.

Prerequisites
You have a SAP HANA Cloud Platform customer account.
You are an administrator within the account.
Your application provider has sent you the user ID of the user responsible for deploying and managing the
applications you have purchased.

Tip
You can request user IDs at the SAP Service Marketplace: http://service.sap.com/request-user
SAP Service Marketplace users are automatically registered with the SAP ID service, which controls user
access to SAP HANA Cloud Platform.

Context
As an administrator of your SAP HANA Cloud Platform customer account, you can add members to it and make
these members administrators of the account using the SAP HANA Cloud Platform cockpit. For example, if you
have purchased an application from an SAP implementation partner,you may need to enable the SAP
implementation partner to deploy and administer the application.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

25

Procedure
1. In your Web browser, open the SAP HANA Cloud Platform cockpit using the URLs given below. Use the
relevant URL for the region with which your customer account is associated:
Europe: https://account.hana.ondemand.com/cockpit
United States: https://account.us1.hana.ondemand.com/cockpit (US East), and https://
account.us2.hana.ondemand.com/cockpit (US West)
Asia-Pacific: https://account.ap1.hana.ondemand.com/cockpit
The cockpit provides integrated access to all accounts you operate on the productive landscape.
2. In the cockpit, select the customer account to which you want to add members.
3. In the navigation area, choose Members.
Make sure that you have selected the relevant global account to be able to select the right account.
All members currently assigned to the account are displayed in a list.
4. In the Members section, choose Add Members.
5. In the Add Members dialog box, enter the user IDs you have received from your application provider and then
select the Administrator checkbox.
To separate the entries, use comma, space, or semicolon. The user IDs are case-insensitive and contain
alphanumeric characters only. Note that currently there is no user validation.

Note
The Developer checkbox is selected by default. Make sure you do not deselect this checkbox.
6. Choose Add Members.
The changes take effect immediately. The users are added to the list of team members and are assigned the
developer and the administrator role. They can now deploy and administer applications in your account.

Note
You cannot remove your own administrator role.
7. Notify your application provider that they now have the necessary permissions to access the account.

Related Information
Managing Members [page 23]
Cockpit [page 84]

26

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.2.5

Account Member Roles

SAP HANA Cloud Platform delivers predefined roles supporting the typical tasks performed by users when
interacting with the platform.

Roles
Table 8:
Role

Description

Administrator

Enables you to manage account members, create new accounts using the self-service op
tion, and move quota between accounts (prerequisite: you are an administrator in each
account).
You can also manage subscriptions, trust, authorizations, and OAuth settings, and restart
SAP HANA services on HANA databases.
In addition, you have all permissions granted by the developer role, except the debug per
mission.

Note
This role also grants permissions to view the Connectivity tab in the SAP HANA Cloud
Platform cockpit.

Cloud Connector Admin

Enables to open secure tunnels via Cloud Connector from on-premise networks to your
cloud accounts.

Note
This role also grants permissions to view the Connectivity tab in the SAP HANA Cloud
Platform cockpit.
Developer

Supports typical development tasks, such as deploying, starting, stopping, and debugging
applications. You can also change loggers and perform monitoring tasks, such as creating
availability checks for your applications and executing MBean operations.

Note
This role is assigned to a newly created user by default.
Support User

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Designed for technical support engineers, this role enables you to read almost all data re
lated to an account, including its metadata, configuration settings, and log files. Note that
to be able to read database content, a database administrator must assign the appropri
ate database permissions to you.

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

27

Role

Description

Application User Admin

The account administrator assigns an account member the Application User Admin role.
This role enables you to manage user permissions on application level to access Java,
HTML5 applications, and subscriptions. You can control permissions directly by assigning
users to specific application roles or indirectly by assigning users to groups, which you
then assign to application roles. You can also unassign users from the roles or groups.

Note
The Application User Admin role does not enable you to manage account roles and to
perform actions on account level (for example, stopping or deleting applications).

Related Information
Managing Members [page 23]
Guidelines for Creating Database Users [page 1013]
Working with Git [page 1042]
Managing Roles [page 1282]
Managing Roles and Permissions [page 1177]

1.2.2.6

Managing Subscriptions

Subscriptions represent applications that your account has purchased for use from an application provider. As
the consumer account, you do not own, deploy, or operate these applications yourself. Subscriptions allow you to
configure certain features of the applications and launch them through consumer-specific URLs.

Context
Applications that you use on a subscription basis are referred to as multitenant applications. The subscription
needs two accounts to work. One is the account in which the application is running, that is, the provider account
and the other is the account that will be subscribed to the application, that is, the consumer account. As the
consumer account, you are identifiable to the application provider by a unique tenant ID. The application provider
is responsible for operating and maintaining the applications you use as well as billing you for platform resources
consumed by these applications according to the price model they have defined.

Note
You can subscribe an account to an application that is running in another account only if both accounts
(provider and consumer account) belong to the same landscape.

28

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

You can list all Java and HTML5 applications to which your account is subscribed using the cockpit (described
below). To list Java subscriptions you can also use the console client. In the cockpit, you can navigate to the
subscription overview, where you can do the following:
Launch the applications through dedicated (consumer-specific) URLs
Switch to the Destinations panel, where you can configure connection parameters to other systems by
creating connectivity destinations (only for subscriptions to Java applications).
Switch to the Roles panel, where you can create custom roles for your subscribed applications and assign
roles (custom or predefined) to individual users and groups.
Display the log files of the subscription (only for subscriptions to HTML5 applications).
Create a new subscription (only for subscriptions to HTML5 applications).
Managing Java Subscriptions [page 29]
Managing HTML5 Subscriptions [page 30]

Related Information
Account Types [page 12]
Landscape Hosts [page 32]
Remote Database Access [page 849]
Cockpit [page 84]
Configuring Destinations from the Cockpit [page 301]
Managing Roles [page 1282]
Subscribing an Account to an Application [page 1162]
subscribe [page 248]
Multitenant Applications [page 990]
list-subscribed-applications [page 209]

1.2.2.6.1

Managing Java Subscriptions

Procedure
1. Open the account in the cockpit and choose Applications Subscriptions
subscriptions to Java applications are listed with the following information:

in the navigation area. The

The account name of the application provider from which the subscription was obtained
The name of the subscribed application
2. To navigate to the subscription overview, click the application name:
To launch an application, click the URL link in the Application URLs panel.
To create connectivity destinations, choose Destinations in the navigation area.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

29

To create or assign roles, choose Roles in the navigation area.

1.2.2.6.2

Managing HTML5 Subscriptions

Procedure
1. Open the account in the cockpit and choose Applications Subscriptions in the navigation area. The
subscriptions to HTML5 applications are listed with the following information:
The account name of the application provider from which the subscription was obtained
The name of the subscribed application
2. To navigate to the subscription overview, click the application name:
To launch an application, click the URL link in the Active Version panel.
To create or assign roles, choose Roles in the navigation area.
3. To create a new subscription, execute the following steps:
1. On the Subscribed HTML5 Applications panel in the Subscriptions section, choose New Subscription.
2. Select the provider account from the dropdown list. (You can select accounts that provided applications
to your account as well as accounts where the current user has the administrator role.)
3. Select the application to which you want to subscribe.
4. Enter a subscription name.

Note
The subscription name must be unique across all subscription names and all HTML5 application
names in the current account.

1.2.2.7

Accessing Services

The cockpit provides an overview of all the platform services that you can access und use for creating or
extending applications. You can see which of the listed services are enabled, view and modify the configuration,
and access the start page (if available) for a service. Services are grouped by service category.

Context
Some of the services are basic services, which are directly provided by the SAP HANA Cloud Platform and are
ready-to-use. In addition, extended services are available. An account administrator must enable these services
and configure the corresponding roles and destinations before account members can access these services.
To view the list of services available to you, you have the following options:

30

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Choose Services in the navigation area for the selected account.


On the overview page for the account, click the links in the Services tile.

Note
Some of the services are exposed only on the trial landscape for developer accounts. That means the services
are not, or not yet, released on the productive landscape for customer and partner accounts.
Some of the services are only exposed if you have purchased a license for them before.

Procedure
1. To display only the services for a specific category, use the filter function.
This makes it easier to find the relevant service in the service overview. You can view all the services in the
overview, or filter the list of services for services in a selected category.
2. To enable a service, choose the tile of the service, and then choose Enable.
This option is available only to account administrators and for the services that need further enablement.
3. To perform administrative tasks, choose the tile for the respective service. The overview page for the service
is displayed.
The overview page shows a description of the service and several links, including links to the documentation
available for the service, the service start page, and configuration options. The availability of the links differs
for each service.
4. On the overview page for the service, you have the following options:
a. To read the documentation available for each service, click the Documentation link.
b. To go to the start page for the service, click the Go to Service link.
This link is available only if the following applies:
The service is enabled.
The service has a start page, on which you can perform administrative tasks.
c. To configure parts of a service, click the link (there could be more than one link) in the configuration
section.
The configuration options are specific to each service. For example, for some services there can be
several links, while for other services there could be none. For details, please read the product
documentation available for each service.
The configuration options for a service may look like in this example for SAP HANA Cloud Portal:
To configure connection parameters to other systems (by creating connectivity destinations), choose
Configure <Configure SAP HANA Cloud Portal>

Destinations .

This option is available only if the service is enabled.


To create custom roles and assign custom or predefined roles to individual users and groups, choose
Configure <Configure SAP HANA Cloud Portal>

Roles .

This option is available only if the service is enabled.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

31

Related Information
Cockpit [page 84]
Services [page 264]
Using Beta Features in Accounts [page 22]

1.2.2.8

Landscape Hosts

Applications can be deployed on the productive landscape hana.ondemand.com or the trial landscape
hanatrial.ondemand.com.
Use the landscapes as follows:
Productive landscape - represents the productive environment; it can be used by customer and partner
accounts only.
Trial landscape - represents the platform for testing the SAP HANA Cloud Platform functionality. To use this
platform, you need a developer account.
The productive landscape is available on a regional basis, where each region represents the location of a data
center:
Europe (the central region): hana.ondemand.com
United States: us1.hana.ondemand.com (US East) and us2.hana.ondemand.com (US West)
Asia-Pacific (Australia): ap1.hana.ondemand.com
When deploying applications, bear in mind that a customer or partner account is associated with a particular data
center and that this is independent of your own location. You could be located in the United States, for example,
but operate your account in Europe (that is, use a data center that is situated in Europe).
To deploy an application on more than one landscape, execute the deploy separately for each landscape host.
The landscape hosts to be used are listed below:
Table 9:
Account Type

Data Center

Landscape Host

IP Ranges

Customer or partner account

Europe

hana.ondemand.com

155.56.128.0/17

United States (US East)

us1.hana.ondemand.com

65.221.12.0/24

United States (US West)

us2.hana.ondemand.com

206.112.73.0/24

Asia-Pacific (Australia)

ap1.hana.ondemand.com

210.80.140.0/24

Europe (all developer ac

hanatrial.ondemand.com

155.56.128.0/17

Developer (trial) account

counts use this location)

Tip
Developer accounts have a suffix trial. For example: P1234567890trial.

32

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Account Types [page 12]

1.2.3 Java: Getting Started


Set up your Java development environment and deploy your first application in the cloud.
Table 10:
Sign Up
You first need to sign up for an SAP HANA Cloud account.
Set Up
Download Eclipse IDE for Java EE Developers, and set up SAP HANA Cloud Tools for Java.
Create or Import
Create a classic Java EE HelloWorld application or import an existing sample application to get started.
Deploy
Deploy your application using the Eclipse IDE.
Monitor
You can view the status and logs of your Java applications.

Samples
A set of sample applications allows you to explore the core functionality of SAP HANA Cloud Platform and shows
how this functionality can be used to develop complex Web applications. See: Samples [page 51]

Tutorials
Tutorials [page 76]

1.2.3.1

Installing Java Tools for Eclipse and SDK

Before developing your application, you need to download and set up the necessary tools, which include Eclipse
IDE for Java EE Developers, SAP HANA Cloud Platform Tools, and SDK.
For more information on the different SDK versions and their corresponding runtime environments, see
Application Runtime Container [page 955]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

33

Features
From the SAP Development Tools for Eclipse page, you can download the following:
SAP HANA Cloud Platform Tools:
SAP HANA Cloud Platform Tools for Java
SAP JVM Profiler
UI development toolkit for HTML5 (Developer Edition)
Documentation for SAP HANA Cloud Platform
SAP HANA Cloud Platform SDK - provides local server runtime, deployment tools, samples and test
applications, APIs, and javadoc.
SAP JVM - the Java runtime used in SAP HANA Cloud Platform. SAP JVM is an important prerequisite for
local profiling with SAP JVM Profiler.
SAP HANA Cloud Connector - provides a tunnel between on-demand applications in SAP HANA Cloud
Platform and existing on-premise systems.

Related Information
Installing the SDK [page 34]
(Optional) Installing SAP JVM [page 35]
Installing Eclipse IDE [page 36]
Installing SAP Development Tools for Eclipse [page 37]
Updating Java Tools for Eclipse and SDK [page 43]

1.2.3.1.1

Installing the SDK

Context
SAP HANA Cloud Platform offers several SDKs for Java development:
Java Web - provides support for some of the standard Java EE APIs (Servlet, JSP, JSTL, EL)
Java Web Tomcat 7 - provides support for some of the standard Java EE APIs (Servlet, JSTL, EL)
Java Web Tomcat 8
Java EE 6 Web Profile - certified to support Java EE 6 Web Profile APIs
For more information on Java profiles, see section Application Runtime Container [page 955].

Procedure
1. Open https://tools.hana.ondemand.com/#cloud

34

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

2. From the SAP HANA Cloud Platform SDK section, download the relevant ZIP file and save it to your local file
system.
3. Extract the ZIP file to a folder on your computer or network.
Your SDK is ready for use. To use the SDK with Eclipse, see Setting Up SDK Location and Landscape Host in
Eclipse [page 38]. To use the console client, see Using the Console Client [page 89].

Related Information
Application Runtime Container [page 955]
Setting Up SDK Location and Landscape Host in Eclipse [page 38]

1.2.3.1.2

(Optional) Installing SAP JVM

Context
SAP HANA Cloud infrastructure runs on SAP's own implementation of a Java Virtual Machine - SAP Java Virtual
Machine (JVM).
SAP JVM is a fully certified Java Standard Edition Virtual Machine for Java 7. It is derived from Oracles HotSpot
VM and JDK implementation, but enhanced with several supportability features such as the SAP JVM Profiler for
better monitoring, and profiling applications running on the SAP HANA Cloud local runtime. Customer support is
provided directly by SAP for the full maintenance period of SAP applications that use the SAP JVM. For more
information, see Java Virtual Machine [page 953]
Follow the steps below to install an SAP Java Virtual Machine.

Note
This is an optional procedure. You can also run your local server for SAP HANA Cloud Platform on a standard
JDK platform, that is an Oracle JVM. SAP JVM, however, is a prerequisite for local profiling with the SAP JVM
Profiler.

Procedure
1. Open https://tools.hana.ondemand.com/#cloud
2. From the SAP JVM section, download the SAP JVM archive file compatible to your operating system and save
it to your local file system.
3. Extract the archive file.

Note
If you use Windows as your operating system, you need to install the Visual C++ 2010 Runtime prior to using
SAP JVM. The installation package for the Visual C++ 2010 Runtime can be obtained from Microsoft. Download

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

35

and install vcredist_x64.exe from the following site: https://www.microsoft.com/en-us/download/


details.aspx?id=26999 . Even if you already have a different version of Visual C++ Runtime, for example
Visual C++ 2015, you still need to install Visual C++ 2010 Runtime prior to using SAP JVM. See SAP Note
1837221 .

Related Information
Setting Up SAP JVM in Eclipse IDE [page 41]
Updating SAP JVM [page 45]

1.2.3.1.3

Installing Eclipse IDE

Context
Follow the steps below to install a new Eclipse IDE.

Procedure
1. Download Eclipse IDE for Java EE Developers from http://www.eclipse.org/downloads/

Caution
The support for Kepler has entered end of maintenance. We recommend that you use Luna or Mars
releases.
2. Find the ZIP file you have downloaded on your local file system and unpack the archive.
3. Go to the eclipse folder and run the eclipse executable file.
4. Specify a Workspace directory.
5. To open the Eclipse workbench, choose Workbench in the upper right corner.

Note
If the version of your previous Eclipse IDE is 32-bit based and your currently installed Eclipse IDE is 64-bit
based (or the other way round), you need to delete the Eclipse Secure Storage, where Eclipse stores, for
example, credentials for source code repositories and other login information. For more information, see
Eclipse Help: Secure Storage .

36

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.3.1.4

Installing SAP Development Tools for Eclipse

To use SAP HANA Cloud Platform features, you first need to install the relevant toolkit. Follow the procedure
below.

Prerequisites
You have installed an Eclipse IDE. For more information, see Installing Eclipse IDE [page 36].

Caution
The support for Kepler has entered end of maintenance. We recommend that you use Luna or Mars releases.

Procedure
1. Open the Eclipse IDE.
2. Optional: If the Welcome screen is displayed and you want to open the workbench, choose Workbench in the
upper right corner.
3. In the main menu, choose

Window

Preferences .

Note
For some operating systems, the path is

Eclipse

Preferences .

4. Configure your proxy settings (in case you work behind a proxy or a firewall):
1. Go to

General

Network Connections .

2. In the Active Provider dropdown menu, choose Manual.


3. Configure your <HTTP> and <HTTPS> connections.
4. Choose Apply.
5. Choose OK to close the Preferences window.
6. In the main menu, choose

Help

Install New Software .

7. Depending on the Eclipse version you have installed, enter in the Work with field one of the following URLs:
For Eclipse Luna (4.4), add URL: https://tools.hana.ondemand.com/luna
For Eclipse Mars (4.5), add URL: https://tools.hana.ondemand.com/mars
8. Press the ENTER key.
9. Checkbox Contact all update sites during install to find required software is selected by default.
10. Select SAP HANA Cloud Platform Tools to install the whole toolkit. If you do not need the complete package,
expand the node and only select the necessary components.
11. Choose Next.
12. In the Install Details window, review the items to be installed and choose Next.
13. Read and accept the Eclipse and SAP license agreements and choose Finish.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

37

14. After the successful installation, you are prompted to restart the Eclipse IDE. Choose Yes.

Note
If you want to have your SAP HANA Cloud Platform Tools updated regularly and automatically, open the
Preferences window again and choose Install/Update
updates and notify me and choose Apply.

1.2.3.1.5

Automatic Updates . Select Automatically find new

Setting Up SDK Location and Landscape Host in


Eclipse

Prerequisites
You have installed an SDK package. For more information, see Installing the SDK [page 34].

Context
Follow the steps below to set or configure your SDK location and the landscape host on which you want to deploy
your applications.

Procedure
1. Open the Eclipse IDE.
2. Optional: If the Welcome screen is displayed and you want to open the workbench, choose Workbench in the
upper right corner.
3. In the main menu, choose
4. Choose

Server

Window

Preferences .

SAP HANA Cloud Platform .

5. Use the respective landscape host for your account type. For more information, see Landscape Hosts [page
32].
6. For SDK Location, choose the Browse... button to locate the folder within which you have extracted the
downloaded SDK ZIP file.
7. In the Account information pane, enter your account name and e-mail (or user name).

Note
If you have previously entered an account and user name for your landscape host, these names will be
prompted to you in dropdown lists.
A dropdown list will be displayed as well for previously entered landscapes hosts.
8. Choose the Validate button to check whether the data on this preference page is valid.

38

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

9. Choose OK.

1.2.3.1.6

Setting Up the Runtime Environment

Prerequisites
You have downloaded an SDK archive and installed it in your Eclipse IDE. For more information, see Setting Up
SDK Location and Landscape Host in Eclipse [page 38].

Context
You need to set up your runtime environment. You can add Java Web, Java Web Tomcat 7, Java Web
Tomcat 8, or Java EE 6 Web Profile, according to the SDK you use. Follow the steps below.

Procedure
Java Web
1. In the Eclipse IDE main menu, choose
2. Choose

Server

Window

Preferences .

Runtime Environments .

3. Choose the Add button.


4. Select

SAP

Java Web .

5. Choose Next.
6. Java Web is set as default name. You can change it if needed.
7. Select radio button Use Java Web SDK from the following location.
8. If you have previously added SDK for Java Web, your SDK location is set by default and shows no errors.
Otherwise, locate your SDK using the Browse button.
9. Choose Finish.
10. Java Web is added as a server runtime environment.
11. In the Preferences window, choose OK.

Java Web Tomcat 7 Runtime


1. In the Eclipse IDE main menu, choose
2. Choose

Server

Window

Preferences .

Runtime Environments .

3. Choose the Add button.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

39

4. Select

SAP

Java Web Tomcat 7 .

5. Choose Next.
6. Java Web Tomcat 7 is set as default name. You can change it if needed.
7. Add your SDK directory:
If you have previously downloaded SDK for Java Web Tomcat 7 from Cloud Tools, choose the Browse
button to locate your SDK folder.
If you have no SDK for Java Web Tomcat 7 locally available or need the latest version, choose the
Download and Install button to download it directly from the Maven Central. You can create a new folder
to keep your workspace well-organised.
8. Choose Finish.
9. Java Web Tomcat 7 is added as a server runtime environment.
10. In the Preferences window, choose OK.

Java Web Tomcat 8 Runtime


1. In the Eclipse IDE main menu, choose
2. Choose

Server

Window

Preferences .

Runtime Environments .

3. Choose the Add button.


4. Select

SAP

Java Web Tomcat 8 .

5. Choose Next.
6. Java Web Tomcat 8 is set as default name. You can change it if needed.
7. Add your SDK directory:
If you have previously downloaded SDK for Java Web Tomcat 8 from Cloud Tools, choose the Browse
button to locate your SDK folder.
If you have no SDK for Java Web Tomcat 8 locally available or need the latest version, choose the
Download and Install button to download it directly from the Maven Central. You can create a new folder
to keep your workspace well-organised.
8. Choose Finish.
9. Java Web Tomcat 8 is added as a server runtime environment.
10. In the Preferences window, choose OK.

Java EE 6 Web Profile


1. In the Eclipse IDE main menu, choose
2. Choose

Server

Window

Preferences .

Runtime Environments .

3. Choose the Add button.


4. Select

SAP

Java EE 6 Web Profile .

5. Choose Next.
6. Java EE 6 Web Profile is set as default name. You can change it if needed.
7. Select radio button Use Java EE 6 Web Profile SDK from the following location.

40

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

8. If you have previously added SDK for Java EE 6 Web Profile, your SDK location is set by default and
shows no errors. Otherwise, locate your SDK using the Browse button.
9. Choose Finish.
10. Java EE 6 Web Profile is added as a server runtime environment.
11. In the Preferences window, choose OK.

Note
When deploying your application on SAP HANA Cloud Platform, you can change your server runtime even
during deployment. If you manually set a server runtime different than the currently loaded, you will need to
republish the application. For more information, see Deploying on the Cloud from Eclipse IDE [page 977].

Related Information
Application Runtime Container [page 955]

1.2.3.1.7

Setting Up SAP JVM in Eclipse IDE

Prerequisites
You have downloaded and installed SAP JVM, version 7.1.011 or higher.

Context
Once you have installed your SAP JVM, you can set it as a default JRE for your local runtime. Follow the steps
below.

Procedure
1. In the Eclipse IDE main menu, choose
2. Choose

Java

Window

Preferences .

Installed JREs .

3. Choose the Add button.


Standard VM is selected as the default JRE type.
4. Choose Next.
5. For the JRE home field, choose the Directory... button and browse to the SAP JVM folder within the folder to
which you previously extracted the archive.
6. Choose Finish.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

41

7. In the Preferences window, choose OK.


8. You can set SAP JVM as default or assign it to a specific SAP HANA Cloud Platform runtime.
To use SAP JVM as default for your Eclipse IDE, follow the steps:
1. Open again the Preferences window.
2. Select sapjvm<n> as default.
3. Choose OK.
To use SAP JVM for launching local servers only, follow the steps:
1. Double-click on the local server you have created (Java Web Server, Java Web Tomcat 7
Server, Java Web Tomcat 8 Server, or Java EE 6 Web Profile Server).
2. Open the Overview tab and choose Open launch configuration.
3. Select the JRE tab.
4. Choose the Alternative JRE option.
5. From the dropdown menu, select the SAP JVM version you have just added.
6. Choose OK.

Related Information
(Optional) Installing SAP JVM [page 35]
Updating SAP JVM [page 45]

1.2.3.1.8

Setting Up the Console Client

Prerequisites
You have downloaded and extracted the SDK. For more information, see Installing the SDK [page 34].

Context
SAP HANA Cloud Platform console client is part of the SDK. You can find it in the tools folder of your SDK
installation. Before using the tool, you need to configure it to work with the platform.

Procedure
1. Open the command prompt.
2. Change the current directory to the <SDK_installation_folder>\tools location, which contains the
neo.bat and neo.sh files. For example:
cd C:\HCP\SDK

42

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

cd tools
3. In case you use a proxy server, specify the proxy settings by using environment variables. You can find sample
proxy settings in the readme.txt file in the \tools folder of your SDK location.
Microsoft Windows

Note
For the new variables to be effective every time you open the console, define them using
Advanced System Settings

Environment Variables

and restart the console.

For the new variables to be valid only for the currently open console, define them in the console
itself.
For example, if your proxy host is proxy and proxy port is 8080, specify the following environment
variables:
set
set
set
set
set

HTTP_PROXY_HOST=proxy
HTTP_PROXY_PORT=8080
HTTPS_PROXY_HOST=proxy
HTTPS_PROXY_PORT=8080
HTTP_NON_PROXY_HOSTS="localhost"

If you need basic proxy authentication, enter your user name and password:
set
set
set
set

HTTP_PROXY_USER=<user_name>
HTTP_PROXY_PASSWORD=<password>
HTTPS_PROXY_USER=<user_name>
HTTPS_PROXY_PASSWORD=<password>

Linux, Mac OS X, or other Unix based OS:


export http_proxy=http://proxy:8080
export https_proxy=https://proxy:8080
export no_proxy="localhost"
If you need basic proxy authentication, enter your user name and password:
export http_proxy=http://user:password@proxy:8080
export https_proxy=https://user:password@proxy:8080
For more information, see the video tutorial

Related Information
Console Client [page 88]

1.2.3.2

Updating Java Tools for Eclipse and SDK

If you have already installed and used the SAP HANA Cloud Platform Tools, SDK and SAP JVM, you only need to
update them.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

43

Follow the steps from the relevant procedures listed below.

Related Information
Updating the SDK [page 44]
Updating SAP Development Tools for Eclipse [page 46]
Updating SAP JVM [page 45]

1.2.3.2.1

Updating the SDK

Context
If you have already installed an SDK package, you only need to update it regularly. To update your SDK, follow the
steps below.

Procedure
1. Download the new SDK version from https://tools.hana.ondemand.com/#cloud
2. Unzip the SDK to a new directory on your local file system. Do not install the new SDK version to a directory
that already contains SDK.
3. Configure the location of the new SDK version in the Eclipse IDE:
HANA Cloud Platform

Window

Preferences

Server

SAP

SDK Location .

Note
If the SDK version is higher and not supported by the version of your SAP HANA Cloud Platform Tools for
Java, a message appears prompting you to update your SAP HANA Cloud Platform Tools for Java. You can
check for updates (recommended) or ignore the message.
4. Go to the Servers tab view.
5. Stop and delete all local servers.
6. Choose Window Preferences Server
For each previously added local runtime:

Runtime Environment .

1. Select the corresponding entry in the table.


2. Choose the Edit button.
3. Locate the new SDK version:
For Java Web: Select option Use Java Web SDK from the following location and then choose the
Browse button and find the folder where you have unpacked the SDK ZIP file.
For Java Web Tomcat 7: Choose the Browse button and find the folder where you have unpacked
the SDK ZIP file or use the Download and Install button to get the latest version.

44

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

For Java Web Tomcat 8: Choose the Browse button and find the folder where you have unpacked
the SDK ZIP file or use the Download and Install button to get the latest version.
For Java EE 6 Web Profile: Select option Use Java EE 6 Web Profile SDK from the following
location and then choose the Browse button and find the folder where you have unpacked the SDK
ZIP file.

Note
Again, if the SDK version is higher and not supported by the version of your SAP HANA Cloud Platform
Tools for Java, a message appears prompting you to update your SAP HANA Cloud Platform Tools for
Java. You can check for updates (recommended) or ignore the message.
4. Choose Finish.
7. After editing all local runtimes, choose OK.

Related Information
Installing the SDK [page 34]
Application Runtime Container [page 955]

1.2.3.2.2

Updating SAP JVM

Context
If you have already installed an SAP Java Virtual Machine, you only need to update it. To update your JVM, follow
the steps below.

Procedure
1. Download the new SAP JVM version from https://tools.hana.ondemand.com/#cloud
2. Extract the SAP JVM archive locally on your machine to a new directory.

Note
Do not install the new SAP JVM version to a directory that already contains SAP JVM.
3. In the Eclipse IDE main menu, choose Window
configuration entry of the old SAP JVM version.

Preferences

Java

Installed JREs

and select the JRE

4. Choose the Edit... button.


5. Use the Directory... button to select the directory of the new SAP JVM version.
6. Choose Finish.
7. In the Preferences window, choose OK.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

45

Related Information
(Optional) Installing SAP JVM [page 35]
Setting Up SAP JVM in Eclipse IDE [page 41]

1.2.3.2.3

Updating SAP Development Tools for Eclipse

Context
If you have already installed SAP HANA Cloud Platform Tools, you only need to update them. To do so, follow the
steps below.

Procedure
1. Ensure that the SAP HANA Cloud Platform Tools software site is checked for updates:
1. Find out whether you are using a Kepler, Luna, or Mars release of Eclipse. The name of the release is
shown on the welcome screen when the Eclipse IDE is started.

Caution
The support for Kepler has entered end of maintenance. We recommend that you use Luna or Mars
releases.
2. In the main menu, choose

Window

Preferences

Install/Update

Available Software Sites .

3. Make sure there is an entry https://tools.hana.ondemand.com/kepler, .../luna, or .../mars,


and that the entry is selected.
4. Choose OK to close the Preferences dialog box.
2. Choose

Help

Check for Updates .

3. Choose Finish to start installing the updates.

Note
If you want to have your SAP HANA Cloud Platform Tools updated regularly and automatically, open the
Preferences window again and choose Install/Update
updates and notify me and choose Apply.

Automatic Updates . Select Automatically find new

Related Information
Installing SAP Development Tools for Eclipse [page 37]

46

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.3.3

Creating a HelloWorld Application

This document describes how to create a simple HelloWorld Web application, which you can use for testing on
SAP HANA Cloud Platform.
First, you create a dynamic Web project and then you add a simple HelloWorld servlet to it.
After you have created the Web application, you can test it on the local runtime and then deploy it on the cloud.

Prerequisites
You have installed the SAP HANA Cloud Platform Tools. For more information, see Installing Java Tools for Eclipse
and SDK [page 33].
Make sure you have downloaded the JRE that matches the SDK.
If you work in a proxy environment, set the proxy host and port correctly.

1. Create a Dynamic Web Project


1. Open your Eclipse IDE for Java EE Developers and switch to the Workbench screen.
2. From the Eclipse IDE main menu, choose

File

New

Dynamic Web Project .

3. In the Project name field, enter HelloWorld.


4. In the Target Runtime pane, select the runtime you want to use to deploy the HelloWorld application. In this
tutorial, we use Java Web.
5. In the Configuration pane, use the default configuration.

Note
The application will be provisioned with JRE version matching the Web project Java facet. If the JRE version
is not supported by SAP HANA Cloud Platform, the default JRE for the selected SDK will be used (SDK for
Java Web and for Java EE 6 Web Profile JRE 7).

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

47

6. Optional: If you want your context root to be different from "HelloWorld", proceed as follows:
1. Choose the Next button until you reach the Web Module wizard page.
2. Edit the Context root field. If you want to deploy the application in the server's root, just replace the
current string with "/".

48

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

7. Choose Finish.

2. Create a HelloWorld Servlet


1. On the HelloWorld project node, open the context menu and choose
Servlet opens.

New

Servlet

. Window Create

2. Enter hello as Java package and HelloWorldServlet as class name.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

49

3. Choose Next.
4. In the URL mappings field, select /HelloWorldServlet and choose Edit.
5. In the Pattern field, replace the current value with just "/". In this way, the servlet will be mapped as a welcome
page for the application.

6. Choose Finish to generate the servlet. The Java Editor with the HelloWorldServlet opens.
7. Replace the body content of the doGet() method with the following line:
response.getWriter().println("Hello World!");
8. Save your changes.

Next Steps
Test your HelloWorld application locally and deploy it to SAP HANA Cloud Platform. For more information, see
Deploying and Updating Applications [page 973].

50

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.3.4

Samples

The sample applications allow you to explore the core functionality of SAP HANA Cloud Platform and show how
this functionality can be used to develop more complex Web applications. The samples are included in the SDK or
presented as blogs in the SCN community.

SDK Samples
The samples provided as part of the SAP HANA Cloud Platform SDK introduce important concepts and
application features of the SAP HANA Cloud Platform and show how common development tasks can be
automated using build and test tools.
The samples are located in the <sdk>/samples folder. The table below lists the samples currently available:
Table 11:
Sample

Feature

More Information

hello-world

A simple HelloWorld Web application

Creating a HelloWorld Application [page 47]

explore-ui5

SAPUI5 controls

authentication

HTTP BASIC authentication scheme

User Authentication [page 1213]

connectivity

Consumption of Internet services

Consuming Internet Services (Java Web or Java EE 6


Web Profile) [page 348]

persistence-with-ejb

Container-managed persistence with JPA

Adding Container-Managed Persistence With JPA (Java


EE 6 Web Profile SDK) [page 724]

persistence-with-jpa

Application-managed persistence with


JPA

Adding Application-Managed Persistence With JPA


(Java Web SDK) [page 735]

persistence-with-jdbc

Relational persistence with JDBC

Adding Persistence With JDBC (Java Web SDK) [page


746]

document-store

Document storage in repository

Using the Document Service in a Web Application [page


555]

mail

Sending e-mails

Tutorial: Sending E-Mails [page 414]

websocket

Communication through WebSockets

SAP_Jam_OData_HCP

Accessing data in SAP Jam via OData

Source code for using the SAP Jam API

All samples can be imported as Eclipse or Maven projects. While the focus has been placed on the Eclipse and
Apache Maven tools due to their wide adoption, the principles apply equally to other IDEs and build systems.
For more information about using the samples, see Importing Samples as Eclipse Projects [page 53], Importing
Samples as Maven Projects [page 54], and Building Samples with Maven [page 55].

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

51

Community Samples: Paul the Octopus


The Web application "Paul the Octopus" is part of a community blog and shows how the SAP HANA Cloud
Platform services and capabilities can be combined to build more complex Web applications, which can be
deployed on the SAP HANA Cloud Platform.
Features of "Paul the Octopus":
It is intended for anyone who would like to gain hands-on experience with the SAP HANA Cloud Platform.
It involves the following platform services: identity, connectivity, persistence, and document.
Its user interface is developed via SAPUI5 and is based on the Model-View-Controller concept. SAPUI5 is
based on HTML5 and can be used for building applications with sophisticated UI. Other technologies that you
can see in action in "Paul the Octopus" are REST services and job scheduling.
For more information, see the SCN community blog: Get Ready for Your Paul Position

You can get the application source from https://github.com/SAP/cloud-paulpredicts/

Community Samples: SAP Library


The Web application "SAP Library" is presented in a community blog as another example of demonstrating the
usage of several SAP HANA Cloud Platform services in one integrated scenario, closely following the product
documentation. You can import it as a Maven project, play around with your own library, and have a look at how it
is implemented. It allows you to reserve and return books, edit details of existing ones, add new titles, maintain
library users' profiles and so on.
Features of "SAP Library":
The library users authenticate using the identity service. It supports Single Sign-On (SSO).
The books status and features are persisted using the persistence service.
Books details are retrieved using a public Internet Web service, demonstrating usage of the connectivity
service.
The e-mails you will receive when reserving and returning books to the library, are implemented using a Mail
destination.
When you upload your profile image, it is persisted using the document service.
For more information, see the SCN community blog: Welcome to the Library!
You can get the application source from https://github.com/SAP/cloud-sample-library/

Related Information
Importing Samples as Eclipse Projects [page 53]
Importing Samples as Maven Projects [page 54]
Building Samples with Maven [page 55]
Building Java Web Applications with Maven
Working with the "Neo" Maven Plugin

52

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.3.4.1

Importing Samples as Eclipse Projects

To get a sample application up and running, import it as an Eclipse project into your Eclipse IDE and then deploy it
on the local runtime and SAP HANA Cloud Platform.

Prerequisites
You have installed the SAP HANA Cloud Platform Tools and created a SAP HANA Cloud Platform server runtime
environment as described in Installing Java Tools for Eclipse and SDK [page 33].

Procedure
1. From the main menu of the Eclipse IDE, choose
Workspace

File

Import

General

Existing Projects into

and then choose Next.

2. Browse to locate and select the directory containing the project you want to import, for example, <sdk>/
samples/hello-world, and choose OK.
3. Under Projects select the project (or projects) you want to import.
4. Choose Finish to start the import.
The project is imported into your workspace and appears in the Project Explorer view.

Tip
Close the welcome page if it is still shown.

Note
If you have not yet set up a server runtime environment, the following error will be reported: "Faceted
Project Problem: Target runtime SAP HANA Cloud is not defined". To set up the runtime environment,
complete the steps as described in Setting Up SDK Location and Landscape Host in Eclipse [page 38] and
Setting Up the Runtime Environment [page 39].

Next Steps
Run the sample application locally and then in the cloud. For more information, see Deploying Locally from Eclipse
IDE [page 975] and Deploying on the Cloud from Eclipse IDE [page 977].

Note
Some samples are ready to run while others have certain prerequisites, which are described in the respective
readme.txt.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

53

Note
When you import samples as Eclipse projects, the tests provided with the samples are not imported. To be able
to run automated tests, you need to import the samples as Maven projects.

1.2.3.4.2

Importing Samples as Maven Projects

To import the tests provided with the SDK samples, import the samples as Maven projects.

Prerequisites
You have installed the SAP HANA Cloud Platform Tools and created a SAP HANA Cloud Platform server runtime
environment as described in Installing Java Tools for Eclipse and SDK [page 33].

Install the Maven Integration for Eclipse WTP


Procedure
1. From the Eclipse main menu, choose

Help

Eclipse Marketplace .

2. Enter Maven in the Find field and choose Go.


3. Locate the Maven Integration for Eclipse WTP item and choose the Install button.

Note
To configure the Maven settings.xml file, choose

Window

Preferences

Maven

User Settings .

This configuration is required if you need to provide your proxy settings. For more information, see http://
maven.apache.org/settings.html .

Import a Sample Maven Project


Procedure
1. From the Eclipse main menu, choose
Next.

File

Import

Maven

Existing Maven Projects

and then choose

2. Browse to locate and select the directory containing the project you want to import, for example, <sdk>/
samples/hello-world, and choose OK.

54

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

3. Under Projects select the project (or projects) you want to import.
4. Choose Finish to start the import.
The project is imported into your workspace and appears in the Project Explorer view.

Tip
Close the welcome page if it is still shown.
5. If necessary, update the project to remove any errors after the import. To do this, select the project and from
the context menu choose

Maven

Update Project

and then OK.

Next Steps
Run the sample application locally and then in the cloud. For more information, see Deploying Locally from Eclipse
IDE [page 975] and Deploying on the Cloud from Eclipse IDE [page 977].

Note
Some samples are ready to run while others have certain prerequisites, which are described in the respective
readme.txt.

1.2.3.4.3

Building Samples with Maven

All samples provided can be built with Apache Maven. The Maven build shows how a headless build and test can
be completely automated.

Context
The build and test does the following:
Builds a Java Web application based on the SAP HANA Cloud Platform API
Demonstrates how to run rudimentary unit tests (not available in all samples)
Installs, starts, waits for, and stops the local server runtime
Deploys the application to the local server runtime and runs the integration test
Starts, waits for, and stops the cloud server runtime
Deploys the application to the cloud server runtime and runs the integration test

Related Information
Building Samples from the Command Line [page 56]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

55

Building Java Web Applications with Maven


Working with the "Neo" Maven Plugin

1.2.3.4.3.1 Building Samples from the Command Line


You can use the Apache Maven command line tool to run local and cloud integration tests for any of the SDK
samples.

Prerequisites
You have downloaded the Apache Maven command line tool. For more information, see the detailed Maven
documentation at http://maven.apache.org .
You are familiar with the Maven build lifecycle. For more information, see http://maven.apache.org/guides/
introduction/introduction-to-the-lifecycle.html .

Procedure
1. Open the folder of the relevant project, for example, <sdk>/samples/hello-world, and then open the
command prompt.
2. Enter the verify command with the following profile in order to activate the local integration test:
mvn clean verify -P local-integration-tests ...
If you are using a proxy, you need to define additional Maven properties as described below in step 4 (see
proxy details).
3. Press ENTER to start the build process.
All phases of the default lifecycle are executed up to and including the verify phase, with the resulting build
status shown on completion.
4. To activate the cloud integration test, which involves deploying the built Web application on a landscape in the
cloud, enter the following profile with the additional Maven properties given below:
mvn clean verify -P cloud-integration-tests ...
Landscape host
The landscape host (default: hana.ondemand.com) is predefined in the parent pom.xml file (<sdk>/
samples/pom.xml) and can be overwritten, as necessary. If you have a developer account, for example,
and are therefore using the trial landscape, enter the following:
mvn clean verify -P cloud-integration-tests Dsap.cloud.host=hanatrial.ondemand.com ...
Account details

56

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Provide your account, user name, and password:


mvn clean verify -P cloud-integration-tests -Dsap.cloud.account=<account> Dsap.cloud.username=<user name> -Dsap.cloud.password=<password> ...
Proxy details
If you use a proxy for HTTPS Internet access, provide your proxy host (https.proxyHost) and if
necessary your proxy port (https.proxyPort):
mvn clean verify -P cloud-integration-tests -Dhttps.proxyHost=<proxy host> Dhttps.proxyPort=<proxy port> ...

Tip
If your proxy requires authentication, you might want to use the Authenticator class to pass the proxy
user name and password. For more information, see Authenticator . Note that for the sake of
simplicity this feature has not been included in the samples.

Tip
To avoid having to repeatedly enter the Maven properties as described above, you can add them directly to
the pom.xml file, as shown in the example below:
<sap.cloud.username>p0123456789</sap.cloud.username>
You might also want to use environment variables to set the property values dynamically, in particular
when handling sensitive information such as passwords, which should not be stored as plain text:
<sap.cloud.password>${env.SAP_CLOUD_PASSWORD}</sap.cloud.password>

Related Information
Landscape Hosts [page 32]

1.2.4 SAP HANA: Getting Started


Set up your SAP HANA development environment and run your first application in the cloud.
Table 12:
Sign Up
You first need to sign up for an SAP HANA Cloud Platform account.
Set Up
Download Eclipse IDE for Java EE Developers, and set up SAP HANA Tools.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

57

Create
Create a simple HANA XS application and run it in the cloud.
Monitor
Monitor HANA XS applications.

Add Features
Use calculation views and visualize the data with SAPUI5. See: 8 Easy Steps to Develop an XS application on the
SAP HANA Cloud Platform

1.2.4.1

Installing SAP HANA Tools for Eclipse

Before developing your SAP HANA XS application, you need to download and set up the necessary tools.

Prerequisites
You have downloaded and installed a 32-bit or 64-bit version of Eclipse IDE, version Mars or Luna. For more
information, see Installing Eclipse IDE [page 36].

Caution
The support for Kepler has entered end of maintenance.
You have configured your proxy settings (in case you work behind a proxy or a firewall). For more information,
see Installing SAP Development Tools for Eclipse [page 37] step 3.

Procedure
1. Open the Eclipse IDE.
2. In the main menu, choose

Help

Install New Software .

3. Depending on the Eclipse version you have installed, enter one of the following URLs:
For Eclipse Luna (4.4), add URL: https://tools.hana.ondemand.com/luna
For Eclipse Mars (4.5), add URL: https://tools.hana.ondemand.com/mars
4. Select SAP HANA Tools (the whole feature group).

58

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Note
In case you need to develop with SAPUI5, install also

SAP HANA Cloud Platform Tools

UI development

toolkit for HTML5 (Developer Edition) .


5. Choose Next.
6. On the next wizard page, you get an overview of the features to be installed. Choose Next.
7. Confirm the license agreements.
8. Choose Finish to start the installation.
9. After the successful installation, you will be prompted to restart your Eclipse IDE.

Next Steps
Creating an SAP HANA XS Application [page 59]

1.2.4.2

Creating an SAP HANA XS Application

This tutorial explains how to create a simple SAP HANA XS application that is written in server-side JavaScript
and displays the "Hello World!" message together with a string extracted from a table in the SAP HANA database.

Prerequisites
You have installed the tools as described in Installing SAP HANA Tools for Eclipse [page 58].

Context
In this tutorial, you complete the following steps:
1. Trial SAP HANA database only: Create an SAP HANA development package.
2. Use the Eclipse IDE to access an SAP HANA database.
3. Create a subpackage.
4. Create a repository workspace.
5. Create an XS project.
6. Create the following files:
Application descriptor (.xsapp): Marks the root point in the package hierarchy from which content can
be served. It is a prerequisite to develop and deploy an application on SAP HANA Extended Application
Services (SAP HANA XS).
Application access file (.xsaccess): Determines whether or not package content can be exposed and
specifies the authentication method to be used to grant access.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

59

Application privileges file (.xsprivileges): Defines the privileges required to access an application.
Role (.hdbrole): Contains the defined application privileges.
7. Create the application JavaScript file (file extension XSJS)
8. Grant the user the role required to access the application
9. Open the application from the cockpit.
The following example data is used:
Account: p1234567890trial
User: p1234567890
SAP HANA Cloud Platform landscape: hanatrial.ondemand.com
Replace the above with your own account and user names. If you have a productive SAP HANA database, replace
hanatrial.ondemand.com with the appropriate landscape host, for example, hana.ondemand.com.

(For Trial Landscape Only) 1. Create a SAP HANA Database


This step is required if you use a trial SAP HANA database.

Context
You can create one trial SAP HANA database per account. It is equivalent to a database schema with the database
property HANA XS. Once you have created a trial HANA database, it is listed under
Schemas

Persistence

Databases &

in the cockpit.

Note
This section explains working with trial SAP HANA databases that provide you with a shared database, enabling
you to work with SAP HANA in a managed environment, using schemas instead of tenant databases.
For more information about working with trial SAP HANA databases with multitenant database container
support enabled, see Databases and Database Systems [page 770] and Creating SAP HANA MDC Databases
[page 784].

Procedure
1. Log on to the cockpit on the trial landscape (https://account.hanatrial.ondemand.com/cockpit)
and select an account.
2. Choose Persistence Databases & Schemas in the navigation area.
All databases available in the selected account are listed with their ID, type, version, and related database
system.

60

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Tip
To view the details of a database, for example, its state and the number of existing bindings, click the link
for a selected database in the list. This opens the overview of the database, where you can perform further
actions, for example, delete the database.
3. To create a trial database, choose New on the Databases & Schemas page.
The New Database/Schema screen is displayed.
4. Enter the following details:
Schema ID. A schema ID is freely definable but must start with a letter and contain only uppercase and
lowercase letters ('a' - 'z', 'A' - 'Z'), numbers ('0' - '9'), and the special characters '.' and '-'. Note that the
actual schema ID assigned in the database will be different to this version.
Database System: Select a database system (HANA XS (<shared>)).
To create schemas on your productive HANA database systems, you have to use the HANA-specific tools.
5. Save your entries.

2. Connect to an SAP HANA Database


Context
For more information, see the following documents, depending on your use case (productive or trial):
(For the productive landscape) Connecting to SAP HANA Databases via the Eclipse IDE [page 861]
(For the trial landscape) Connecting to SAP HANA Schemas via the Eclipse IDE [page 864]

3. Create a Subpackage
Procedure
1. In the Eclipse IDE, open the SAP HANA Development perspective.
2. In the Systems view, select the Content/p1234567890trial/myhanaxs node.
3. From the context menu, choose

New

Package .

The New Package dialog box appears.


4. In the Name field, p1234567890rial.myhanaxs. is already entered. Add the new package name (for
example, "hello") to the end of the full package path: p1234567890trial.myhanaxs.hello
5. Click in the Description field to automatically copy across the package name.
6. Choose OK to confirm.
The new subpackage hello is added to the package hierarchy below the myhanaxs package.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

61

4. Create a Repository Workspace


Procedure
1. In the Repositories view, choose the Create Repository Workspace button.
2. If your SAP HANA system is not listed in the SAP HANA System list, choose the Add System button and add it
to the list. If you have more than one SAP HANA system, make sure that the applicable system is selected
under SAP HANA System.
3. Enter the workspace name myhanaxs. In this example, the workspace name is the same as the root package
name.
4. In the Workspace Root field, browse to select the folder that will contain the workspace you create in this step.
The tutorial uses C:\HANAXSws.
5. Choose Finish.
The workspace now appears in the Repositories view. A folder has also been added to your local file system:
C:\HANAXSws\myhanaxs. It will contain all your development files.

5. Create an XS Project
Procedure
1. In the Project Explorer view, choose
Project

File

New

Project

SAP HANA

Application Development

XS

and then choose Next.

Note
After installing the SAP HANA tools for SAP HANA Cloud Platform, you may not see the XS Project wizard
in the list of wizards. To fix this:
1. Close the Eclpse IDE.
2. Add a line -clean to the eclipse.ini file, or use -clean at the command line to start Eclipse.
3. Start the Eclipse IDE again. The XS project wizard will now show up.
4. Remove the -clean option again.
2. Enter hello as project name, and choose Next (keeping all default settings).
3. Select the repository workspace you created. As Repository Package, choose Browse and navigate to the
p1234567890trial.myhanaxs.hello package. Choose Next.

Restriction
You cannot use the root repository package here. You need to use the correct subpackage instead (such as
p1234567890trial.myhanaxs.hello). Otherwise, you will get errors during activation.
4. Deselect the default file creation options (XS Application Access (.xsaccess) and XS Application Descriptor
(.xsapp)) and choose Finish.

62

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Results
Note
If you experience project errors due to unsupported encoding, use one of the following options to fix the
problem:
Quick fix that automatically changes the encoding of individual files to UTF-8
Project settings that change the default encoding of the entire XS project to UTF-8 (
Properties

Resource

Text file encoding

Other

UTF-8

context menu

6. Create the Application Descriptors and Role


Procedure
Application descriptor
a. In the Project Explorer view, select the hello project and choose

File

New

File .

b. Enter the file name .xsapp and choose Finish.


Note that the file name is just a file extension and that the file does not have any content.
Application access file
a. In the Project Explorer view, select the hello project and choose

File

New

File .

b. Enter the file name .xsaccess and choose Finish.


Note that the file name is just a file extension.
c. Copy the following code into the .xsaccess file and save:
{
"exposed" : true,
"default_file": "hello.xsjs"
}
This configuration determines that the application will be exposed in the Internet via HTTPS. Although no
authentication is specified, all SAP HANA XS applications on a trial SAP HANA database use SAML2. For
the productive SAP HANA database, SAML will be enabled in a later step. Application users will then be
authenticated by the SAP ID service.
Application privileges file
a. In the Project Explorer view, select the hello project and choose

File

New

File .

b. Enter the file name .xsprivileges and choose Finish.


Note that the file name is just a file extension.
c. Copy the following code into the .xsprivileges file and save:
{ "privileges" :
[ { "name" : "Basic", "description" : "Basic usage privilege" } ]}

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

63

Role
a. In the Project Explorer view, select the hello project and choose

File

New

File .

b. Enter the file name model_access.hdbrole and choose Finish.


c. Copy the following code into the file:
role <package name>::model_access {
application privilege: <package name>::Basic;
}
d. Replace <package name> with the SAP HANA package where the project is shared. For the trial SAP
HANA database, it should look something like this: p1234567890trial.myhanaxs.hello. Then save
the file.

7. Create the JavaScript File


Procedure
1. In the Project Explorer view, select the hello project and choose

File

New

File .

2. Enter the file name hello.xsjs and choose Finish.


3. Copy the following JavaScript code into the file and save:
$.response.contentType = "text/html";
var output = "Hello, " + $.session.getUsername() + " <br><br>";
var conn = $.db.getConnection();
var pstmt = conn.prepareStatement( "SELECT CURRENT_USER FROM DUMMY" );
var rs = pstmt.executeQuery();
if (!rs.next()) {
$.response.setBody( "Failed to retrieve data" );
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
}
else {
output = output + "This is the response from my SQL. The current user is: "
+ rs.getString(1);
}
rs.close();
pstmt.close();
conn.close();
$.response.setBody(output);
The code does the following:
Opens a connection to the database
Prepares and runs an SQL statement on the system table DUMMY, which returns as a response the
current user.
Adds the results to the response so that it can be displayed in the Web browser
4. To activate the files in the SAP HANA repository, select the files and from the context menu choose

Team

Activate .
The application is now running on the XS engine.

64

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

8. Grant the Role to the User


To enable other users to access your application, you need to grant them the model_access role that you created
in section 6.

Procedure
Trial SAP HANA database
a. In the Systems view, select your system and from the context menu choose SQL Console.
b. In the SQL console, enter the following, replacing <SAP HANA Cloud user> with your user:
call
"HCP"."HCP_GRANT_ROLE_TO_USER"('p1234567890trial.myhanaxs.hello::model_access'
, '<SAP HANA Cloud user>')
c. Execute the procedure. You should see a confirmation that the statement was successfully executed.
Productive SAP HANA database
a. In the Systems view, expand

Security

Users

and then double-click your user ID.

b. On the Granted Roles tab, choose the + (Add) button.


c. Select the model_access role in the list and choose OK. The role is now listed on the Granted Roles tab.
d. Choose Deploy in the upper right corner of screen. A message confirms that your user has been modified.

Note
(Relevant for Trial landscape only) If you refactor existing SAP HANA database views or create new ones
on your Trial account, you need to refactor/recreate them in the "_SYS_BIC" schema instead of your
account-specific schema.

9. Test Your Application


Procedure
Open the cockpit and proceed as described in: Launching SAP HANA XS Applications [page 1009]

Note
The HANA XS application is only visible in the cockpit once you have activated it.
You will be authenticated by SAML and should then see a text similar to the following:
Hello, p1234567890,
This is the response from my SQL. The current user is: p1234567890

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

65

1.2.5 HTML5: Getting Started


Set up your HTML5 development environment and run your first application in the cloud.
Table 13:
Sign Up
You first need to sign up for an SAP HANA Cloud Platform account.
Add Users
Add users who develop and maintain HTML5 applications as account members of your account.
Set Up
To develop HTML5 applications, we recommend that you use the browser-based tool SAP Web IDE, that does not re
quire any set up.
As an alternative you can use the Installing Eclipse IDE [page 36]. Please note that new capabilities for SAPUI5 and
SAP Fiori development will be available only with SAP Web IDE.
Create
Create a simple HTML5 application and run it in the cloud:

Hello World Tutorial Using SAP Web IDE (recommended) [page 66]

Hello World Tutorial Using Eclipse [page 70]

For more information about building applications in SAP Web IDE, see the SAP Web IDE documentation. There,
you will also find information on building your project first and then pushing your app to the cockpit.

Related Information
HTML5: Development [page 1040]
HTML5: Application Operations [page 1171]
Securing HTML5 Applications [page 1323]

1.2.5.1

Hello World Tutorial Using SAP Web IDE


(recommended)

This tutorial illustrates how to build a simple HTML5 application using SAP Web IDE.

Prerequisites
Your company has signed up for an SAP HANA Cloud Platform account.

66

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

You are a member of the SAP HANA Cloud Platform account.

Context
During the tutorial, you perform the following tasks:
1. Creating an HTML5 Application [page 67]
2. Creating a Project [page 68]
3. Editing the HTML5 Application [page 69]
4. Deploying Your App to SAP HANA Cloud Platform [page 69]

1.2.5.1.1

Creating an HTML5 Application

You create new applications in the SAP HANA Cloud Platform cockpit.

Context
For each new application a new Git repository is created automatically. To view detailed information on the Git
repository, including the repository URL and the latest commits, choose
in the navigation area and then Versioning.

Applications

HTML5 Applications

Note
To create the HTML5 application in more than one landscape, create the application in each landscape
separately and copy the content to the new Git repository.

Procedure
1. Log on with a user (who is an account member) to the SAP HANA Cloud Platform cockpit.
2. Choose

Applications

HTML5 Applications

in the navigation area.

If you have already created applications using this account, the list of HTML5 applications is displayed.
3. To create a new HTML5 application, choose New Application and enter an application name.

Note
Adhere to the naming convention for application names:
The name must contain no more than 30 characters.
The name must contain only lowercase alphanumeric characters.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

67

The name must start with a letter.


4. Choose Save.
5. Clone the repository to your development environment.
a. To start SAP Web IDE and automatically clone the repository of your app, choose Edit Online (
end of the table row of your application.

) at the

b. On the Clone Repository screen, enter your user and password (SCN user and SCN password), and
choose OK.

Results
You created an application and a corresponding Git repository.

Related Information
Cockpit [page 84]

1.2.5.1.2

Creating a Project

A project is needed to create files and to make them available in the cockpit.

Procedure
1. In SAP Web IDE, choose Development (</>), and then select the project of the application you created in the
cockpit.
2. To create a project and to clone your app to the development environment, right-click the project, and choose
New

Project from Template .

3. Choose the SAPUI5 Application button, and choose Next.


4. In the Project Name field, leave the proposed name for your project, and choose Next.
5. Fill in the following fields, and then choose Next:
Table 14:
Field

Entry

View Type

Select JavaScript.

View Name

Enter HelloWorld (without spaces).

6. Choose Finish.

68

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.5.1.3

Editing the HTML5 Application

SAP Web IDE already created an HTML page for your project. You now adapt this page.

Procedure
1. In SAP Web IDE, expand the project node in the navigation tree and open the HelloWorld.view.js using a
double-click.

2. In the HelloWorld.view.js view, replace Title in the title: "Title" line with the title of your
application Hello World.
3. Save your changes using Save (

).

4. To test your Hello World application, select the index.html file and choose Run (

1.2.5.1.4

).

Deploying Your App to SAP HANA Cloud Platform

With this step you create a new active version of your app that is started on SAP HANA Cloud Platform.

Procedure
1. In SAP Web IDE, select the project node in the navigation tree.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

69

2. To deploy the project, right-click it and choose

Deploy

Deploy to SAP HANA Cloud Platform .

3. On the Login to SAP HANA Cloud Platform screen, enter your password and choose Login.
4. On the Deploy Application to SAP HANA Cloud Platform screen, increment the version number and choose
Deploy.

Note
If you leave the Activate option checked, the new version is activated directly.
5. Confirm the success message with OK.

1.2.5.2

Hello World Tutorial Using Eclipse

This tutorial illustrates how to build a simple HTML5 application.

Prerequisites
You have set up Eclipse, see Installing Eclipse IDE [page 36].
Your company has signed up for an SAP HANA Cloud Platform account.
You are a member of the SAP HANA Cloud Platform account.

Context
During the tutorial, you perform the following tasks:
1. Creating an HTML5 Application [page 71]
2. Cloning a Repository [page 72]
3. Creating a Project and Adding an HTML File [page 72]
4. Pushing a File to the Git Repository [page 73]
5. Testing the Application [page 74]
6. Creating a Version [page 74]
7. Activating a Version [page 75]

Related Information
Blog: Lightweight HTML5 apps and Git on SAP HANA Cloud Platform

70

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.2.5.2.1

Creating an HTML5 Application

You create new applications in the SAP HANA Cloud Platform cockpit.

Context
For each new application a new Git repository is created automatically. To view detailed information on the Git
repository, including the repository URL and the latest commits, choose
in the navigation area and then Versioning.

Applications

HTML5 Applications

Note
To create the HTML5 application in more than one landscape, create the application in each landscape
separately and copy the content to the new Git repository.

Procedure
1. Log on with a user (who is an account member) to the SAP HANA Cloud Platform cockpit.
2. Choose

Applications

HTML5 Applications

in the navigation area.

If you have already created applications using this account, the list of HTML5 applications is displayed.
3. To create a new HTML5 application, choose New Application and enter an application name.

Note
Adhere to the naming convention for application names:
The name must contain no more than 30 characters.
The name must contain only lowercase alphanumeric characters.
The name must start with a letter.
4. Choose Save.
5. Clone the repository to your development environment.
a. To start SAP Web IDE and automatically clone the repository of your app, choose Edit Online (
end of the table row of your application.

) at the

b. On the Clone Repository screen, enter your user and password (SCN user and SCN password), and
choose OK.

Results
You created an application and a corresponding Git repository.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

71

Related Information
Cockpit [page 84]

1.2.5.2.2

Cloning a Repository

You need to clone the Git repository of your application to your development environment.

Procedure
1. Log on with a user (who is an account member) to the SAP HANA Cloud Platform cockpit.
2. Choose the

Applications

HTML5 Applications

in the navigation area.

3. Clone the repository to your development environment:


a. Click your newly created application.
b. Switch to the Versioning tab.
c. Under Source Location, copy the link that points to the Git repository of your application.
d. Start the Eclipse IDE.
e. Open the Git Repositories view in the JavaScript perspective and choose the Clone a Git repository icon.
f. Enter the link that points to the Git repository of your application.
g. Enter your user and password (SCN user and SCN password).
h. Choose Next.

Related Information
EGit/User Guide

1.2.5.2.3

Creating a Project and Adding an HTML File

A project is needed to create files and to make them available in the cockpit.

Procedure
1. Create a project.
a. In the Git repository view, right click on the repository and select Import Projects.

72

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

b. Choose Import as general project.


c. In the Project Name field, ensure that the project name is shown, and choose Next.
d. Enter a name for your project.
e. Choose Finish.
2. Add an HTML file.
a. In the JavaScript or the Resource perspective of Eclipse, start the wizard by right-clicking your project and
choosing

New

File .

b. Enter the following name for your file: index.html.


c. Choose Finish.
d. In your new index.html file, enter, for example, the Hello World code snippet:
<html>
<body>
<h1>Hello World</h1>
</body>
</html>
e. Save your entries.

1.2.5.2.4

Pushing a File to the Git Repository

First you commit your changes and then you publish them to the remote Git repository.

Context
Depending on whether you use Eclipse or SAP Web IDE the procedure to push and commit your changes to the
Git repository varies. Follow the respective steps below.

Procedure
1. Open the Git staging view.
2. Drag all changed files from the Unstaged Changes table to the Staged Changes table.
3. Enter a commit message and choose Commit and Push.

Results
You committed all changes locally and pushed them to the Git repository.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

73

1.2.5.2.5

Testing the Application

You can test your HTML5 application from the cockpit.

Procedure
1. Log on with a user (who is an account member) to the SAP HANA Cloud Platform cockpit.
2. Choose the

Applications

HTML5 Applications

in the navigation area.

3. Select your Hello World application.


4. Choose the Versioning section.
5. To display the Hello World HTML5 application, click the link in the Commit Message column.

Results
If your application is working fine, you can create and activate a version of it.
If you receive an HTTP Status 404 error, check whether your index.html file has been created correctly and
whether you pushed your changes.

Related Information
Creating an HTML5 Application [page 71]
Pushing a File to the Git Repository [page 73]

1.2.5.2.6

Creating a Version

You create a version of your application from one of the commits.

Context
The version is a tag that is attached to the commit.

74

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Procedure
1. Log on with a user (who is an account member) to the SAP HANA Cloud Platform cockpit.
2. Choose the

Applications

HTML5 Applications

in the navigation area.

3. Select your Hello World application.


4. Switch to the Versioning section.
5. In the Available Commits table, select the commit you want to use and choose the Create Version icon.
6. Enter a version name and choose Add.

Results
You can now activate this version to make the application available to the end users.

Related Information
For more information on logging on, see the Logon section in Cockpit [page 84]

1.2.5.2.7

Activating a Version

As end users can only access the active version of an application, you must create and activate a version of your
application.

Context
The administrator can activate a single version of an application to make it available to end users.

Procedure
1. Log on with a user (who is an account member) to the SAP HANA Cloud Platform cockpit.
2. Choose the

Applications

HTML5 Applications

in the navigation area.

3. Select your Hello World application.


4. Switch to the Versioning section.
5. Choose the Versions button.
6. In the Versions table, select your version and choose the Activate this application version icon.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

75

7. Confirm that you want to activate the application.

Results
You can now distribute the URL of your application to the end users.

Related Information
For more information on logging on, see the Logon section in Cockpit [page 84]

1.2.6 Tutorials
Follow the tutorials below to get familiar with the services offered by SAP HANA Cloud Platform.
Table 15:
To learn about

See

How to create a "HelloWorld" Web application

Creating a HelloWorld Application [page 47]

How to create a "HelloWorld" Web application using Java EE 6


Web Profile

Using Java EE 6 Web Profile [page 966]

Connectivity service scenarios

Consuming Internet Services (Java Web or Java EE 6 Web


Profile) [page 348]
Consuming Internet Services (Java Web Tomcat 7) [page
355]
Consuming Back-End Systems (Java Web or Java EE 6 Web
Profile) [page 362]
Consuming Back-End Systems (Java Web Tomcat 7) [page
372]
Tutorial: Invoking ABAP Function Modules in On-Premise
ABAP Systems [page 399]
Tutorial: Sending E-Mails [page 414]

76

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

To learn about

See

Persistence service scenarios

Adding Container-Managed Persistence With JPA (Java EE 6


Web Profile SDK) [page 724]
Adding Application-Managed Persistence With JPA (Java Web
SDK) [page 735]
Adding Persistence With JDBC (Java Web SDK) [page 746]
Migrating Web Applications That Use context.xml [page 756]
Creating an SAP HANA Database from the Cockpit [page
757]
Creating an SAP HANA Database Using Console Client [page
763]

Document service scenarios

Creating a Sample Application (Java) [page 555]


Building a Proxy Bridge [page 560]

How to secure your HTTPS connections

Tutorial: Using the Keystore Service for Client Side HTTPS


Connections [page 1251]

How to create an SAP HANA XS application

Creating an SAP HANA XS Application [page 59]

Multitenancy scenarios

Exemplary Provider Application (Servlet) [page 998]


Exemplary Provider Application (JSP) [page 1001]
Creating a Multitenant Connectivity Application [page 1003]

Business Services with YaaS scenarios

Tutorial: Creating a Wishlist Service [page 945]

Cross-Technology Scenarios
In SAP Developer Center, you can find tutorials on how to implement cross-technology scenarios using a
combination of SAP products for mobile, cloud, and on-premise systems.
For more information, see Cross-Technology End-to-End Scenarios

Video Tutorials
Creating a HelloWorld Application
Managing Roles in SAP HANA Cloud
SAP HANA Cloud Platform - Java Development
Using SAP HANA Cloud Platform Console Client
openSAP Course Videos: Introduction to SAP HANA Cloud Platform

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

77

1.2.7 Glossary
SAP HANA Cloud Platform Terminology

A-G
Table 16:
Account [page 11]

A hosted environment provided to a customer organization, representing a named collec


tion of configurations, authorizations, platform resources and applications.

Application

An application running on SAP HANA Cloud Platform, which has a deploy/start/stop/


undeploy lifecycle.

Application process

Each application is started on a dedicated SAP HANA Cloud Platform Runtime. This is
called application process. You can start one or many application processes of your appli
cation at any given time, according to the compute unit quota that you have. Each appli
cation process has a unique process ID that you can use to manage it.

Application runtime container


[page 955]

Java applications developed on SAP HANA Cloud Platform run on a modular and light
weight runtime container, which allows them to consume standard Java EE APIs and plat
form services.

Compute units [page 959]

The virtualized hardware resources used by an SAP HANA Cloud Platform application.

Cockpit [page 84]

SAP HANA Cloud Platform cockpit is the central point of entry to key information about
your accounts and applications, and for managing all activities associated with your ac
count.

Connectivity service [page 267]

Provides a secure, reliable and easy-to-consume access to business systems, running ei


ther on-premise or in the cloud.

Console client [page 88]

SAP HANA Cloud Platform console client enables development, deployment and configu
ration of a Web application outside the Eclipse IDE as well as continuous integration and
automation tasks. The tool is part of the SAP HANA Cloud Platform SDK.

Cloud connector [page 434]

SAP HANA Cloud connector serves as the link between on-demand applications in SAP
HANA Cloud Platform and existing on-premise systems. It combines an easy setup with a
clear configuration of the systems that are exposed to SAP HANA Cloud Platform.

Customer account [page 12]

Allows customers to build applications and host them in a productive environment for
their own purposes. A customer account can be purchased as part of a predefined or tail
ored package.

Database

An organized collection of the data that can be backed up and restored separately. The
database is the technical unit that contains the data where DBMS is a service that enables
users to define, create, query, update and administer the data. SAP HANA Cloud Platform
account administrators can create databases on database management systems in their
account.

See Databases and Database Sys


tems [page 770]

Database management system


(DBMS)
See Databases and Database Sys
tems [page 770]

78

A computer system that enables administrators, developers, and applications to interact


with one or more databases and provides access to the data contained in the database. It
runs on a hardware host (or several hosts for distributed database systems) and has a
version. Examples for DBMSs are SAP HANA and SAP ASE.

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Database type

A specific database product, such as the SAP HANA database

See Databases and Database Sys


tems [page 770]
Developer account [page 12]

Offers access to the SAP HANA Cloud Platform trial landscape for evaluation purposes. A
developer account is free of charge and valid for an unlimited period. It allows restricted
use of the platform resources.

Developer Center

SAP HANA Cloud Developer Center


is the place on the SAP Community Network
where you can find information, news, discussions, blogs, and more about SAP HANA
Cloud Platform.

Document service [page 545]

Provides an on-demand repository for applications to manage unstructured content for


an application-specific context using the CMIS protocol.

Global account

Accounts are organized in a global account. A global account corresponds to a customer


who buys an account for deploying applications on the cloud platform. The customer
data, billing information, and purchased resources (such as compute units) are stored in
a global account.

See Accounts [page 11]

I-R
Table 17:
Infrastructure as a Service (IaaS)

A provisioning model in which an organization outsources the equipment used to support


operations, including storage, hardware, servers and networking components.

Identity provider (IdP)

An authorization authority containing all user information and credentials. In SAP HANA
Cloud Platform, user information is provider by identity providers, not stored in SAP
HANA Cloud Platform itself.

Member

Indicates a users assignment to an account. As an account member, a user automatically


has the permissions required to use the SAP HANA Cloud Platform functionality within
the scope of the respective account and as permitted by their account member roles.

Multitenant database container

A self-contained database container in a multiple-container system. A tenant database


container has its own isolated set of database users and its own database catalog. No
data is shared between the tenant databases in a system. Clients can connect to tenant
databases individually.

OAuth [page 1227]

Widely adopted security protocol for protection of resources over the Internet. It is used
by many social network providers and by corporate networks. It allows an application to
request authentication on behalf of users with third-party user accounts, without the user
having to grant its credentials to the application.

Partner account [page 16]

Allows partners to build applications and sell them to their customers. A partner account
is available through a partner program, which provides a package of predefined resources
and the opportunity to certify, advertise, and ultimately sell products.

Persistence service [page 720]

Provides in-memory and relational persistence for applications that are hosted on the
platform.

Platform as a Service

An environment to develop, deploy, run and manage your business applications in the
cloud. The underlying software and hardware infrastructure is provided on demand (as a
service).

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

79

Quota [page 17]

An accounts entitlement to an allocated resource, such as CPU, memory, database stor


age, and bandwidth. The resources purchased for an account are available to all applica
tions deployed within that account, within the specified limits.

Runtime for Java [page 953]

The components which create the environment for deploying and running Java applica
tions on SAP HANA Cloud Platform - Java Virtual Machine, Application Runtime Con
tainer and Compute Units.

S-Z
Table 18:
SAP Community Network
(SCN)

SAP's professional social network for SAP customers, partners, employees and experts,
which offers insight and content about SAP solutions and services in a collaborative envi
ronment: http://scn.sap.com. To use SAP HANA Cloud Platform, you have to be regis
tered on SCN.

SAP HANA Cloud Platform [page


5]

SAP HANA Cloud Platform is an in-memory cloud platform that enables customers and
partners to build, deploy, and manage cloud-based enterprise applications that comple
ment and extend SAP or non-SAP solutions, either on-premise or on-demand.

SAP ID service [page 1205]

The default identity provider for SAP HANA Cloud Platform applications. It manages the
user base for SAP Community Network and other SAP Web sites. SAP ID service is also
used for authentication in the cockpit and operations such as deploying, updating, and so
on.

SDK [page 81]

SAP HANA Cloud Platform Software Development Kit is the toolset you need to build and
run SAP HANA Cloud Platform applications. It contains console client for deployment and
configuration editing; binaries for local testing runtime; javadoc.

SAP Cloud Identity service

SAP Cloud Identity service is a cloud solution for identity lifecycle management for SAP
HANA Cloud Platform applications, and optionally for on-premise applications. You can
use SAP Cloud Identity as an identity provider for SAP HANA Cloud Platform applications.

UI development toolkit for HTML5


(SAPUI5)

A framework providing UI controls for developing Web applications.

Security Assertion Markup Lan


guage

A markup language which provides a wide-spread protocol for secure authentication and
SSO. SAML is implemented by SAP ID service.

Service provider

The application interested in getting authentication and authorization information. In


stead of providing this information in itself, it contacts the identity provider.

Single Sign-On

A property of access control of multiple related, but independent software systems,


which enables a user to log in once and have access to all systems.

Software as a Service

A software distribution model in which applications are hosted by a vendor or service pro
vider and made available to customers over the Internet.

SAP Java Virtual Machine [page


35]

SAP's own implementation of a Java Virtual Machine on which the SAP HANA Cloud
Platform infrastructure runs.

Tenant ID [page 995]

Identifier of the consumer account for the current application context. The tenant ID can
be used to distinguish data of different application consumer accounts.

WTP Server Adapter

A tool for deploying and testing Java EE assets on SAP HANA Cloud Platform or for local
testing.

80

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3

Tools

Table 19:
Tool

Description

Cockpit [page 84]

This is the central point for managing all activities associated


with your account and for accessing key information about
your applications.

SAP Web IDE [page 88]

This is a cloud-based meeting space where multiple applica


tion developers can work together from a common Web inter
face connecting to the same shared repository with virtu
ally no setup required. SAP Web IDE allows you to prototype,
develop, package, deploy, and extend SAPUI5 applications.

Maven Plugin [page 88]

It supports you in using Maven to develop Java applications


for SAP HANA Cloud Platform. It allows you to conveniently
call the console client and its commands from the Maven envi
ronment.

SAP HANA Cloud Connector [page 434]

It serves as the link between on-demand applications in SAP


HANA Cloud Platform and existing on-premise systems. You
can control the resources available for the cloud applications
in those systems.

SDK [page 81]

It contains everything you need to work with SAP HANA Cloud


Platform, including a local server runtime and a set of com
mand line tools.

Eclipse Tools [page 86]

This is a Java-based toolkit for Eclipse IDE. It enables you to


develop and deploy applications as well as perform operations
such as logging, managing user roles, creating connectivity
destinations, and so on.

Console Client [page 88]

It enables development, deployment and configuration of an


application outside the Eclipse IDE as well as continuous inte
gration and automation tasks.

1.3.1 SDK
The SDK contains everything you need to work with SAP HANA Cloud Platform, including a local server runtime
and a set of command line tools.

Prerequisites
You have the SDK installed. See Installing the SDK [page 34].
The location of the SDK is the folder you have chosen when you downloaded and unzipped it.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

81

An overview of the structure and content of the SDK is shown in the table below. The folders and files are located
directly below the common root directory in the order given:
Folder/File

Description

api

The platform API containing the SAP and third-party API


JARs required to compile Web applications for SAP HANA
Cloud Platform (for more information about the platform API,
see the "Supported APIs" section further below).

javadoc

Javadoc for the SAP platform APIs (also available as online


documentation via the API Documentation link in the title bar
of the SAP HANA Cloud Platform Documentation Center).
Javadoc for the third-party APIs is cross-referenced from the
online documentation.

repository

The P2 repository from which the local server runtime is


created.

samples

Samples demonstrating how to develop for SAP HANA Cloud


Platform. The samples can be imported as Eclipse or Maven
projects.

server

Initially not present, but created once you install a local


server runtime.

tools

Command line tools required for interacting with the cloud


runtime (for example, to deploy and start applications) and
the local server runtime (for example, to install and start the
local server).

licenses.txt

Licenses of third-party components contained in the SAP


HANA Cloud Platform SDK.

readme.txt

Brief introduction to the SDK, its content, and how to set it


up.

sdk.version

SDK version information for use by other tools interacting


with the SDK.

Local Server Runtime


The cloud server runtime consists of the application server, the platform API, and the cloud implementations of
the provided services (connectivity, persistence, document, and identity). The SDK, on the other hand, contains a
local server runtime that consists of the same application server, the same platform API, but local
implementations of the provided services. These are designed to emulate the cloud server runtime as closely as
possible to support the local development and test process.

Supported APIs
The SDK contains the API for SAP HANA Cloud Platform. All Web applications intended for deployment in the
cloud should be compiled against this platform API. The platform API is used by the SAP HANA Cloud Platform
Tools for Java to set the compile-time classpath.

82

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

All JARs contained in the platform API are considered part of the provided scope and must therefore be used for
compilation. This means that they must not be packaged with the application, since they are provided and wired
at runtime in the SAP HANA Cloud Platform runtime, irrespective of whether you run your application locally for
development and test purposes or centrally in the cloud.
When you develop applications to run on the SAP HANA Cloud Platform, you should be aware of which APIs are
supported and provisioned by the runtime environment of the platform:
Third-party APIs: These include Java EE standard APIs (standards based and backwards compatible as
defined in the Java EE Specification) and other APIs released by third parties.
SAP APIs: The platform APIs provided by the SAP HANA Cloud Platform services.

Related Information
Samples [page 51]
Console Client [page 88]
API Documentation [page 1060]
Supported Java APIs [page 961]
Deploying Locally with the Console Client [page 981]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

83

1.3.2 Cockpit
The cockpit is the central point for managing all activities associated with your cloud-based business applications.
You can use the web-based user interface for deploying, running, and managing your web applications and
connecting them with services on the cloud platform.

Dashboard
The figure below shows an example of the dashboard for the account in question and is followed by an
explanation:

The dashboard provides an overview of the applications available in the different technologies supported by SAP
HANA Cloud Platform (SAP HANA XS, Java, and HTML5), and shows other key information about the account.
The tiles contain links for direct navigation to the relevant information.
The Favorite Applications panel shows all applications that you have added to your favorites, making key
information about them available at a glance. You can manage your favorites directly from the dashboard and
navigate to the application overview for further details and options.

Accounts
The cockpit provides integrated access to all accounts you operate on the productive landscape,
hana.ondemand.com.
Each account is associated with a region, which represents the data center that is used by the account. For more
information about data centers and regions, see Landscape Hosts [page 32].

84

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

A separate cockpit for developer accounts is available on the trial landscape, hanatrial.ondemand.com.

Logon
Log on to the cockpit using the relevant URL for your account type (developer, customer, and partner), and in the
case of customer and partner accounts, the associated region. For example, use https://
account.hana.ondemand.com/cockpit to log on to a customer or partner account located in Europe.

Note
We recommend that you log on with your e-mail address.
When you log on to the cockpit for the first time, you see an overview of all the accounts available in a global
account, together with some details for each account. You can have several global accounts and several accounts
assigned to you in the global account in question. You can select an account in the overview page and drill down to
the account details, from where you can access the applications deployed in this account and related actions.

Accessibility
SAP HANA Cloud Platform provides High Contrast Black (HCB) theme support. You can switch between the
default theme and the high contrast theme using the Settings menu in the cockpit title bar. Once you have saved
your changes, the cockpit starts with the theme of your choice.
The cockpit icons are designed in high-contrast mode.

Navigation
The main screen areas of the cockpit comprise the content area and the navigation area. The navigation area is
composed of the breadcrumb navigation that comes under the header and the navigation entries to the side of the
content area. Use the breadcrumb navigation to access the different applications deployed in your account and
associated activities.
Note the following:
A dropdown menu is available for each of the elements that enables you to switch to other objects by clicking
the triangular selector. For example, use the dropdown menu to switch between different applications in your
account.
The element that is currently selected appears as a hyperlink in the breadcrumb navigation. For example, a
click the link for the application entry launches the application.
You can navigate upwards in the hierarchy or backwards to the previous navigation target using the links in
the breadcrumb navigation.
Each level determines which navigation options are available and the information that is displayed.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

85

Browser Support
For more information, see .Product Prerequisites and Restrictions [page 8]

Notifications
Use Notifications to stay informed about different operations and events in the cockpit, for example, to monitor
the progress of copying an account. The (Notification) icon in the header toolbar provides a quick access to the
list of notifications and shows the number of available notifications. The icon is visible only if there are currently
notifications.
Each notification includes a short statement, a date and time, and the relevant account. A notification informs you
about the status of an operation or asks for an action. For example, if copying an account failed, an administrator
of the account can assign the corresponding notification to himself and provide a fix. The other members of this
account will see that the notification is already assigned to someone else.
You have the following options:
Dismiss a notification.
Assign a notification to yourself. It's possible also to unassign yourself from a notification without processing
it further.
Once you have you completed the related action, you can set the status to complete. This dismisses the
corresponding notification for everyone else.
You can access the full list of notifications (also the ones you have dismissed earlier) by choosing Notifications in
the navigation area at the data center level.

Related Information
Account Types [page 12]
Landscape Hosts [page 32]
Managing Accounts and Quota [page 17]
Managing Members [page 23]
Managing Subscriptions [page 28]
Accessing Services [page 30]
Managing Deployed Applications [page 1108]
Managing Roles [page 1282]
ID Federation with the Corporate Identity Provider [page 1292]

1.3.3 Eclipse Tools


SAP HANA Cloud Platform Tools is a Java-based toolkit for Eclipse IDE. It enables you to perform the
following operations in SAP HANA Cloud Platform:

86

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Develop and deploy Web applications


Configure connectivity destinations
View and configure logs and log files
Manage user roles and groups
Profile Web applications locally
Build and adapt Web applications using SAPUI5

Features
You can download SAP HANA Cloud Platform Tools from the SAP Development Tools for Eclipse page. The
toolkit package contains:
SAP JVM Tools
SAP HANA Cloud Platform Tools for Java
Documentation for SAP HANA Cloud Platform
UI development toolkit for HTML5 (Developer Edition)

Support
SAP HANA Cloud Platform Tools come with a wizard for gathering support information in case you need help
with a feature or operation (during deploying/debugging applications, logging, configurations, and so on). For
more information, see Support Information (Eclipse IDE) [page 1327].

Related Information
Installing Java Tools for Eclipse and SDK [page 33]
Updating Java Tools for Eclipse and SDK [page 43]
Configuring Destinations from the Eclipse IDE [page 290]
Deploying on the Cloud from Eclipse IDE [page 977]
Debugging Applications on the Cloud [page 988]
Profiling Applications on the Cloud [page 1145]
Using Logs in the Eclipse IDE [page 1131]
UI development toolkit for HTML5 (SAPUI5)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

87

1.3.4 SAP Web IDE


SAP Web IDE is a fully extensible and customizable experience that accelerates the development life cycle with
interactive code editors, integrated developer assistance, and end-to-end application development life cycle
support. SAP Web IDE was developed by developers for developers.
SAP Web IDE is a next-generation cloud-based meeting space where multiple application developers can work
together from a common Web interface connecting to the same shared repository, with virtually no setup
required. It includes multiple interactive features that allow you to collaborate with your project colleagues and
prototype, develop, package, deploy, and extend SAPUI5 applications.

Related Information
https://help.hana.ondemand.com/webide/frameset.htm

1.3.5 Maven Plugin


SAP offers a Maven plugin that supports you in using Maven to develop Java applications for SAP HANA Cloud
Platform. It allows you to conveniently call the SAP HANA Cloud Platform console client and its commands from
the Maven environment.
Most commands that are supported by the console client are available as goals in the plugin. To use the plugin,
you require a SAP HANA Cloud Platform SDK, which can be automatically downloaded with the plugin. Each
version of the SDK always has a matching Maven plugin version.
For a list of goals and parameters, usage guide, FAQ, and examples, see:
Maven Plugin Documentation

Related Information
Building Java Web Applications with Maven
Working with the "Neo" Maven Plugin

1.3.6 Console Client


SAP HANA Cloud Platform console client enables development, deployment and configuration of an application
outside the Eclipse IDE as well as continuous integration and automation tasks. The tool is part of the SDK. You
can find it in the tools folder of your SDK location.

88

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 20:
To learn more about

See

Downloading and setting up the console client

Setting Up the Console Client [page 42]

Opening the tool and working with the commands and param
eters

Using the Console Client [page 89]

Groups of console client commands

Console Client Commands [page 96]

Ranges and types of exit codes

Exit Codes [page 262]

Machine-readable output of commands

Machine-Readable Command Output [page 93]

Verbose mode of output

Verbose Mode of the Console Commands Output [page 92]

1.3.6.1

Console Client Video Tutorial

Using the Console Client

You execute a console client command by entering neo <command name> with the appropriate parameters. To
list all parameters available for the respective command, execute neo help <command name>.
Opening the Console Client [page 89]
Properties File [page 90]
Command Line [page 90]
Parameter Priority [page 90]
Parameter Values [page 91]
Proxy Settings [page 91]
Output Mode [page 91]
You can define the parameters of the different commands either directly in the command line, or, in a properties
file:
neo <command name> <mandatory parameters> [optional parameters]
neo <command name> <properties file location>

Opening the Console Client


The console client is part of the SAP HANA Cloud Platform SDK. You can find it in the tools folder of your SDK
installation.
To start it, open the command prompt and change the current directory to the <SDK_installation_folder>\tools
location, which contains the neo.bat and neo.sh files.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

89

Command Line
You can deploy the same application as in the example above by executing the following command directly in the
command line:
neo deploy --account <account name> --application <application name> --source
samples/deploy_war/example.war --user <user name or email>

Properties File
Within the tools folder, a file example_war.properties can be found in the samples/deploy_war folder. In
the file, enter your own user and account name:
################################################
# General settings - relevant for all commands #
################################################
# Your account name
account=<your account>
# Application name
application=<your application name>
# User for login to hana.ondemand.com.
user=<email or user name>
# Host of the landscape admin server. Optional. Defaults to hana.ondemand.com.
host=hana.ondemand.com
#################################################################
# Deployment descriptor settings - relevant only for deployment #
#################################################################
# List of file system paths to *.war files and folders containing them
source=samples/deploy_war/example.war

Then execute the deployment with the following line:


neo deploy samples/deploy_war/example_war.properties
Note that you can have more than one properties file. For example, you can have a different properties file for
each application or user in your account.
For more information about using the properties file, watch the video tutorial

Parameter Priority
Argument values specified in the command line override the values specified in the properties file. For example, if
you have specified account=a in the properties file and then enter account=b in the command line, the
operation will take effect in account b.

90

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameter Values
Since the client is executed in a console environment, not all characters can be used in arguments. There are
special characters that should be quoted and escaped.
Consult your console/shell user guide on how to use special characters as command line arguments.
For example, to use argument with value abc&()[]{}^=;!'+,`~123 on Windows 7, you should quote the value
and escape the! character. Therefore you should use "abc&()[]{}^=;^!'+,`~123".
User
You can use your e-mail, SAP ID or user name.
Password
Do not specify your password in the properties file or as a command line argument. Enter a password only when
prompted by SAP HANA Cloud Platform console client.
For example, use:
neo deploy samples/deploy_war/example_war.properties
instead of
neo deploy --password <mypassword > samples/deploy_war/example_war.properties

Restriction
Your password cannot start with the "@" character.

Proxy Settings
If you work in a proxy environment, before you execute commands, you need to configure the proxy.
For more information, see Setting Up the Console Client [page 42]

Output Mode
You can configure the console to print detailed output during command execution.
For more information, see Verbose Mode of the Console Commands Output [page 92]

Related Information
Console Client Commands [page 96]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

91

1.3.6.2

Verbose Mode of the Console Commands Output

The console commands consist of:


Local code - executed inside a local JVM, which is started when the command is started.
Remote code - executed at back end (generally, the REST API that was called by the local code), which is
started in a separate JVM on the cloud.

Note
The trace level for remote code cannot be changed.
For local code execution, a LOG4J library is used. It is easy to be configured and, by default, there is a
configuration file located inside the commands class path, that is .../tools/lib/cmd.
For each command execution, two appenders are defined - one for the session and one for the console. They both
define different files for all messages that are logged by the SAP infrastructure and by apache.http. By default,
the console commands output is written in a number of log files. However, you are allowed to change the
log4j.properties file, and define additional appenders or change the existing ones. If you want, for example,
the full output to be printed in the console (verbose mode), or you want to see details from the execution of
specific libraries (partially verbose mode), you need to adjust the LOG4J configuration file.
For more information on how to configure the LOG4J, see https://logging.apache.org/

To adjust the level of a specific logger, you have to add log4j.logger.<package> = <level> in the code of
the log4j.properties file.
For more information about the different levels, see https://logging.apache.org/log4j/1.2/apidocs/org/apache/
log4j/Level.html
In the file defined for the session, only loggers with level ERROR are logged. If you want, for example, to log debug
information about the apache.http library, you have to change log4j.category.org.apache.http=ERROR,
session to log4j.category.org.apache.http=DEBUG, session.

Example
This example demonstrates how you can change the output of command execution so that it is printed in the
console instead of collecting the information within log files. To do this, open your SDK folder and go to directory /
tools/lib/cmd. Then, open the log4j.properties file and replace its content with the code below.

Tip
We recommend that you save the original content of the log4j.properties file. To switch back to the default
settings, just revert the changes you did in the log4j.properties file.
##########
# Log levels
##########
log4j.rootLogger=INFO, console

92

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

log4j.additivity.rootLogger=false
log4j.category.com.sap = INFO, console
log4j.additivity.com.sap = false
log4j.category.org.apache.http = INFO, console
log4j.additivity.org.apache.http = false
log4j.category.org.apache.http.wire = INFO, console
log4j.additivity.org.apache.http.wire = false
##########
# System out console appender
##########
log4j.appender.console.Threshold=ALL
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %-5p [%t] %C: %m%n
log4j.appender.console.filter.1=org.apache.log4j.varia.StringMatchFilter
log4j.appender.console.filter.1.StringToMatch=>> Authorization: Basic
log4j.appender.console.filter.1.AcceptOnMatch=false

Related Information
Machine-Readable Command Output [page 93]
Logging in Applications [page 1129]

1.3.6.3

Machine-Readable Command Output

Context
The console commands can return structured, machine-readable output. When you use the optional --output
parameter in a command, the command returns values and objects in a format that a machine can easily parse.
The currently supported output format is JSON.
Syntax: --output <format>
Accepted format value: json

Cases
If a command supports structured output, it returns machine-readable result values.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

93

If a command does not (yet) support structured output,it returns basic information including the standard
OUT/ERR output.
If the command is invoked without the --output parameter, it works as before.

JSON Output Format


When --output json is specified, the console client prints out a single JSON object containing information
about the command execution and the result, if available.
The JSON object contains the following properties:
Table 21:
Property Name

Type

Description

command

String

The name of the invoked neo command

argLine

String

The exact arguments line as specified by


the calling script

pid

Name

The process ID of the invoked command

exitCode

Name

The process exit code of the invoked


command ( 0 = successful, everything
else = failure)

errorMsg

String

The message provided when the com


mand implementation throws instance
of

com.sap.jpaas.infrastructur
e.console.exception.Command
Exception
commandOutput

String

The command output written to

system.out and captured by the con


sole client framework

commandErrorOutput

String

The command output written to

system.err and captured by the con


sole client framework

result

Object

The result object returned by the com


mand following the new contract for
structured, machine-readable output

Example
Here is a full example of a command ( neo start ) that supports structured output and displays result values:
{

"command": "start",
"argLine": "-a myaccount -b myapplication -h hana.ondemand.com -u myuser -p
******* -y",
"pid": 6523,

94

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

"exitCode": 0,
"errorMsg": null,
"commandOutput": "Requesting start for:
application
: myapplication
account
: myaccount
host
: https://hana.ondemand.com
synchronous
: true
SDK version
: 1.48.99
user
: myuser
[Tue Feb 25 18:07:19 CET 2014] Start request performed successfully.
Triggered start of application process.
Status: STARTING
[Tue Feb 25 18:07:19 CET 2014] Waiting for STARTED status..............
[Tue Feb 25 18:07:25 CET 2014] Status STARTING reached for 6161 ms
[Tue Feb 25 18:07:19 CET 2014] Waiting for STARTED
status..................................
[Tue Feb 25 18:08:47 CET 2014] Status STARTED reached for 87838 ms
web: STARTED
URL: https://myapplicationmyaccount.hana.ondemand.com
Access points:
https://myapplicationmyaccount.hana.ondemand.com
Runtime: 1.47 (valid until 20-May-2015)
Application processes
ID
State
Last Change
Runtime
fc735dc
STARTED
25-Feb-2014 18:07:48
1.47.10.2
",
"commandErrorOutput": "",
"result": {
"status": "STARTED",
"url": "https://myapplicationmyaccount.hana.ondemand.com",
"accessPoints": [
"https://myapplicationmyaccount.hana.ondemand.com",
"https://myapplicationmyaccount.hana.ondemand.com/app2"
],
"applicationProcesses": [
{
"id": "fc735dc",
"state": "STARTED",
"lastChange": "2014-02-25T18:07:48Z",
"runtime": "1.47.10.2"
}
]
}
}

Note
The shown command result is only an example and may look different in the real or future implementation. The
output is similar for commands that do not support structured result values but the result property is then null.

Related Information
Exit Codes [page 262]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

95

Viewing the Default Trace [page 1115]

1.3.6.4

Console Client Commands

Table 22:
Group

Commands

Local Server

install-local [page 184]; deploy-local [page 146]; start-local [page 242];


stop-local [page 246]

Deployment

deploy [page 141]; start [page 240]; status [page 238]


stop [page 244]; restart [page 218]; undeploy [page 254]
disable [page 147]; enable [page 158];
list-runtimes [page 202]; list-runtime-versions [page 203];
display-application-properties [page 149]; set-application-property
[page 229]; start maintenance [page 243]; stop maintenance [page
247];
rolling-update [page 224]; hot-update [page 182];
clear-downtime-app [page 108]; set-downtime-app [page 234]

Logging

list-logs [page 201]; get-log [page 162]


list-loggers [page 200]; set-log-level [page 235]

Monitoring

list-availability-check [page 186]; create-availability-check [page 113];


delete-availability-check [page 126]
list-jmx-checks [page 197]; create-jmx-check [page 120]; delete-jmxcheck [page 135]
list-alert-recipients [page 188]; set-alert-recipients [page 227]; clearalert-recipients [page 107]

Keystore

list-keystores [page 199]; upload-keystore [page 259]; download-key


store [page 154]; delete-keystore [page 139];

Connectivity

put-destination [page 211]


get-destination [page 159]
delete-destination [page 131]

96

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Group

Commands

Persistence

list-application-datasources [page 185]; list-dbms [page 191]; list-dbs


[page 192]; list-schemas [page 204]
create-schema [page 123]; bind-schema [page 106]; unbind-schema
[page 253]; delete-schema [page 140]; display-schema-info [page
153]
bind-hana-dbms [page 104]; unbind-hana-dbms [page 252]
list-dbs [page 192]; create-db-ase [page 114]; create-db-user-ase [page
117]; display-db-info [page 152]; set-db-properties-ase [page 232];
bind-db [page 102]; unbind-db [page 250]; delete-db-ase [page 127];
delete-db-user-ase [page 129]
create-db-hana [page 116]; set-db-properties-hana [page 233]; startdb-hana [page 241]; stop-db-hana [page 246]; delete-db-hana [page
128]
grant-schema-access [page 165]; revoke-schema-access [page 223];
list-schema-access-grants [page 205]
open-db-tunnel [page 210]; close-db-tunnel [page 109]
restart-hana [page 220]
grant-db-tunnel-access [page 164]; revoke-db-tunnel-access [page
222]; list-db-tunnel-access-grants [page 194]

Document Service

add-ecm-tenant [page 98]; create-ecm-repository [page 118]; deleteecm-repository [page 132]; display-ecm-repository [page 151]; editecm-repository [page 156]; list-ecm-repositories [page 195]; resetecm-key [page 216]

Account and Quota Management

create-account [page 110]; delete-account [page 125]; list-accounts


[page 187]; set-quota [page 237]

Subscription Management

subscribe [page 248]; unsubscribe [page 255]; list-subscribed-accounts


[page 208]; list-subscribed-applications [page 209]

HANA XS SAML2

delete-hanaxs-certificates [page 134];list-hanaxs-certificates [page


196];reconcile-hanaxs-certificates [page 213];upload-hanaxs-certifi
cates [page 258]

Applicaton Domains

add-custom-domain [page 99]; add-platform-domain [page 101]; listapplication-domains [page 189]; remove-custom-domain [page 214];
remove-platform-domain [page 215]

Custom SSL

create-ssl-host [page 124]; delete-ssl-host [page 138]; list-ssl-hosts


[page 207]; display-csr [page 150]; generate-csr [page 161]; bind-do
main-certificate [page 103]; delete-domain-certificate [page 133]; up
load-domain-certificate [page 256]; list-domain-certificates [page 193];
unbind-domain-certificate [page 251];

System

version [page 261]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

97

Group

Commands

Extensions

hcmcloud-create-connection (Beta) [page 166]; hcmcloud-delete-con


nection (Beta) [page 167]; hcmcloud-disable-application-access (Beta)
[page 169]; hcmcloud-display-application-access-status (Beta) [page
170]; hcmcloud-enable-application-access (Beta) [page 172];
hcmcloud-enable-role-provider (Beta) [page 173]; hcmcloud-get-regis
tered-home-page-tiles (Beta) [page 175]; hcmcloud-import-roles (Beta)
[page 176]; hcmcloud-list-connections (Beta) [page 178]; hcmcloudregister-home-page-tiles (Beta) [page 179]; hcmcloud-unregisterhome-page-tiles (Beta) [page 181]

1.3.6.4.1

add-ecm-tenant

Adds a new tenant to a repository.


neo add-ecm-tenant --account <account_name> --host <landscape_host> --user <email_or_user> --name <repository_name> --key <repository_key> --tenant
<tenant_name> --virus-scan <true/false>

Parameters
Table 23:
Required

-a, --account

Account name
Specify an existing account of which you are already a member.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-u, --user

Use your email, SAP ID, or user name.

Type: string
-n, --name

Name of the repository

Type: string
-t, --tenant

Tenant alias

Type: string
-k, --key

Key of the repository

Type: string

98

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 24:
Optional

-v, --virus-scan

Can be used to activate the virus scanner and check all incoming documents for viruses.

Default: true
Type: boolean

Recommendation
For repositories that are used by untrusted users and or for unknown content, we rec
ommend that you enable the virus scanner by setting this parameter to true. Enabling
the virus scanner could impair the upload performance.
If a virus is detected, the upload process for the document fails with a virus scanner ex
ception.

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

Example

neo add-ecm-tenant --account sap --host hana.ondemand.com --user


<myemail@example.com> --name DemoRepository --key ecm_012345689 --tenant sap2 -virus-scan true
This example adds the sap2 tenant to the DemoRepository repository.

1.3.6.4.2

add-custom-domain

Use this command to add a custom domain to an application URL. This will route the traffic for the custom domain
to your application on SAP HANA Cloud Platform.
neo add-custom-domain --account <account_name> --user <e-mail_or_user> --host
<landscape_host> --custom-domain <custom_domain>
--application-url <app_url> --ssl-host <ssl_host>

Parameters
To list all parameters available for this command, execute neo help add-custom-domain in the command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

99

Table 25:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-e, --custom-domain

Custom domain for accessing the application

Type: string (hostname such as mydomain.com or shop.mydomain.com corresponding


to the CN/SAN of the certificate)

-i, --application-url

The access point of the application on SAP HANA Cloud Platform default domains
(hana.ondemand.com, etc.)

Type: string (hostname such as myapp.hana.ondemand.com or shop-myten


ant.hana.ondemand.com)

-l, --ssl-host

SSL host as defined with the --name parameter when created, or 'default' if not speci
fied.

Example
neo add-custom-domain --account myacc --user mymail@example.com --host
hana.ondemand.com --custom-domain www.example.com
--application-url myaccountmyapp-subscription.hana.ondemand.com --ssl-host
mysslhostname

Related Information
Add the Custom Domain [page 1190]
list-custom-domain-mappings [page 190]
remove-custom-domain [page 214]
Configuring Custom Domains [page 1186]

100

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.3

add-platform-domain

Adds a platform domain (under hana.ondemand.com) on which the application will be accessed.
neo add-platform-domain --account <account_name> --application <application_name> -user <e-mail_or_user> --host <landscape_host> --platform-domain <platform_domain>

Parameters
To list all parameters available for this command, execute neo help add-platform-domain in the command
line.
Table 26:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-m, --platform-domain

Platform domain under hana.ondemand.com


The chosen platform domain will be parent domain in the absolute application domain.

Acceptable values:

svc.hana.ondemand.com

cert.hana.ondemand.com

Example

neo add-platform-domain --account myacc --application myapp --user myuser -- host


haha.ondemand.com --platform-domain svc.hana.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

101

Related Information
Platform Domains [page 1196]
remove-platform-domain [page 215]

1.3.6.4.4

bind-db

This command binds a database to a Java application using a data source.


You can only bind an application to a database if the application is deployed.
Database in the same account:
neo bind-db -a <account_name> -b <application_name> -h <landscape_host> -u <email_or_user> -i <database_ID> --db-user <database_user> --db-password
<database_user_password>
Database in another account:
neo bind-db -a <account_name> -b <application_name> -h <landscape_host> -u <email_or_user> --access-token vm6431dhjcr2e3dbt0fk6jpzm2w7oo3q48yumf1c6uu8b9pt9z
--db-user <database_user> --db-password <database_user_password>

Parameters
Table 27:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-i, --id

Database ID

Type: string
--access-token

Identifies a database access permission. The access token and database ID parameters
are mutually exclusive.

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

102

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required
Use your e-mail, SAP ID, or user name

-u, --user

Type: string
--db-password

Password of the database user used to access the database

--db-user

Name of the database user used to access the database

Table 28:
Optional

-s, --data-source

Data source name


Default: <DEFAULT>

Example
Database in the same account:
neo bind-db -a myaccount -b myapp -h hana.ondemand.com -u mymail@example.com -i
mydb --db-user MYDBUSER --db-password SECRET
Database in another account:
neo bind-db -a myaccount -b myapp -h hana.ondemand.com -u mymail@example.com -access-token 120579jy40i15v1dqv3n3fsw40ug52m6re9fzqxg46l3fah0w0 --db-user
MYDBUSER --db-password SECRET

1.3.6.4.5

bind-domain-certificate

Binds a certificate to an SSL host. The certificate must already be uploaded.


neo bind-domain-certificate --account <account_name> --user <e-mail_or_user> --host
<landscape_host> --ssl-host <ssl_hostname> --certificate <certificate_name>

Parameters
To list all parameters available for this command, execute neo help bind-domain-certificate in the
command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

103

Table 29:
Required
Account name

-a, --account

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Use the respective landscape host for your account type.

-h, --host

Type: URL. For acceptable values see Landscape Hosts [page 32]
To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

-p, --password

Type: string
Use your email, SAP ID or user name

-u, --user

Type: string
Name of the certificate that you set to the SSL host

--certificate

The certificate must already be uploaded.

-l, --ssl-host

SSL host as defined with the --name parameter when created, or 'default' if not speci
fied.

Example
neo bind-domain-certificate --account myaccount --user mymail@example.com --host
hana.ondemand.com --ssl-host mysslhostname --certificate myfirstcert

Related Information
Bind the Certificate to the SSL Host [page 1189]
Configuring Custom Domains [page 1186]

1.3.6.4.6

bind-hana-dbms

This command binds a Java application to a productive SAP HANA database via a data source.
You can only bind an application to a productive SAP HANA database if the application is deployed.
The following commands are available:
Database in the same account:
neo bind-hana-dbms -a <account_name> -b <application_name> -h <landscape_host> u <e-mail_or_user> -i <productive_HANA_database> --db-user <database_user> --dbpassword <database_user_password>

104

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Database in another account:


neo bind-hana-dbms -a <account_name> -b <application_name> -h <landscape_host> u <e-mail_or_user> --access-token
120579jy40i15v1dqv3n3fsw40ug52m6re9fzqxg46l3fah0w0 --db-user <database_user> -db-password <database_user_password>

Parameters
Table 30:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]

Note
The host must be on the productive landscape.

-i, --id

ID of the productive SAP HANA database

Type: string
--access-token

Identifies a database access permission. The access token and database ID parameters
are mutually exclusive.

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
--db-password

Password of the database user used to access the productive SAP HANA database

--db-user

Name of the database user used to access the productive SAP HANA database

Table 31:
Optional

-s, --data-source

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Data source name

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

105

Example
Database in the same account:
neo bind-hana-dbms -a myaccount -b myapp -h hana.ondemand.com -u
mymail@example.com -i myhanaxs --db-user MYPRODHANA --db-password SECRET
Database in another account:
neo bind-hana-dbms -a myaccount -b myapp -h hana.ondemand.com -u
mymail@example.com --db-user MYPRODHANA --db-password SECRET --access-token
120579jy40i15v1dqv3n3fsw40ug52m6re9fzqxg46l3fah0w0

Related Information
unbind-hana-dbms [page 252]

1.3.6.4.7

bind-schema

This command binds a schema to a Java application via a data source. If a data source name is not specified, the
schema will be automatically bound to the default data source of the application.
You can only bind a schema to an application if the application is deployed.
neo bind-schema -a <account_name> -b <application_name> -h <landscape_host> -u <email_or_user> -i <schema_ID>

Parameters
Table 32:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-i, --id

Schema ID

Type: string

106

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

--access-token

Identifies a schema access grant. The access token and schema ID parameters are mutu
ally exclusive.

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
Use your e-mail, SAP ID, or user name

-u, --user

Type: string
Table 33:
Optional

-s, --data-source

Data source name


The application will be able to access the schema via the specified data source.

Example

neo bind-schema -a myaccount -b myapp -h hanatrial.ondemand.com -u


mymail@example.com -i myschema -s datasource1

Related Information
Example Scenarios [page 811]
Binding Schemas [page 808]
grant-schema-access [page 165]
unbind-schema [page 253]
bind-hana-dbms [page 104]
unbind-hana-dbms [page 252]

1.3.6.4.8

clear-alert-recipients

Clears alert recipients.


If no emails are specified, it clears all recipients.
neo clear-alert-recipients

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

107

Parameter
Table 34:
Required
Account name

-a, --account

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Use your email, SAP ID or user name

-u, --user

Type: string
Table 35:
Optional

-b, --application

Application name for Java applications or productive SAP HANA database system, and
application name in the format <database name>:<application name> for SAP HANA XS
applications

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Use the respective landscape host for your account type.

-h, --host

Type: URL. For acceptable values see Landscape Hosts [page 32]
Comma separated list of recipient e-mails

-e, --email

Type: string

Example
neo clear-alert-recipients -a myaccount -b demo -u p1234567 --host
hana.ondemand.com

Related Information
Monitoring Java Applications [page 1149]
Monitoring Database Systems [page 1164]

1.3.6.4.9

clear-downtime-app

The command deregisters a previously configured downtime page for an application. After you execute the
command, the default HTTP error will be shown to the user in the event of unplanned downtime.
neo clear-downtime-app --account <account_name> --application <application_name> -host <landscape_host>
--user <e-mail_or_user>

108

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help clear-downtime-app in the command
line.
Table 36:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example
neo clear-downtime-app --account myacc --application myapp --user
<mymail@example.com

Related Information
set-downtime-app [page 234]

1.3.6.4.10 close-db-tunnel
This command closes one or all database tunnel sessions that have been opened in a background process using
the open-db-tunnel --background command.
neo close-db-tunnel --session-id <session_ID>
A tunnel opened in a background process is automatically closed when the last session using the tunnel is closed.
The background process terminates after the last tunnel has been closed.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

109

Parameters
Table 37:
Required

--all

Closes all tunnel sessions that have been opened in the background

--session-id

Tunnel session to be closed. Cannot be used together with the parameter --all.

Example
neo close-db-tunnel --session-id f4b00f06-df0a-4018-b725-392a93b49bd4

Related Information
open-db-tunnel [page 210]
Automating the Use of Database Tunnels [page 856]

1.3.6.4.11 create-account
Creates a new account with an automatically generated unique ID as account name and the specified display
name and assigns the user as an account owner. The user is authorized against the existing account passed as -account parameter. Optionally, you can clone an existing account configuration to save time and effort.
neo create-account --display-name <account_display_name> --account <account_name> -user <e-mail_or_user> --host <landscape_host> --clone <cloning_options>

Note
If you clone an existing extension account [page 1062], the new account will not be an extension account but a
regular one. The new account will not have the trust and destination settings typical for extension accounts.

Parameters
To list all parameters available for this command, execute neo help create-account in the command line.

110

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 38:
Required

-a, --account

Account name
Specify an existing account of which you are already a member.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-n, --display-name

Account display name


If you want to create an account whose display name has intervals, use quotes when exe
cuting the command. For example: neo ... --display-name "Display Name with Intervals"

Type: string (up to 255 characters)


-u, --user

Use your email, SAP ID or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
--clone

(Optional) List of settings that will be copied (re-created) from the existing account into
the new account. A comma separated list of values, which are as follows:

trust

members

destinations

all

Each value combination is acceptable, for example, trust,members or all. If speci


fied, all the configurations of the passed type(s) will be cloned to the newly created ac
count.

Tip
We recommend listing explicitly the required cloning options instead of using --

clone all in automated scripts. This will ensure backward compatibility in case the
available cloning options, enveloped by all, change in future releases.

Example
neo create-account --account myaccount --display-name mynewaccount --user myuser -host hana.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

111

Cloning Existing Accounts


You may choose among the following cloning options:
Table 39:
Cloning Option

Description

all

All settings (trust, members and destinations) from the exist


ing account will be copied into the new one.

Caution
The list of cloned configurations might be extended in the
future.

trust

The following trust settings will be re-created in the new ac


count similarly to the relevant settings in the existing account:

Trusted SAP Cloud Identity tenants - the new account will


have trust to the SAP Cloud Identity tenants registered in
the exisitng account. The respective SAP Cloud Identity
tenants, in turn, will automatically register a new service
provider corresponding to the new SAP HANA Cloud Plat
form account.

Note
SAP HANA Cloud Platform will generate a new pair of
key and certificate on behalf of the new account. Re
member to replace them with your proprietary key
and certificate when using the account for productive
purposes.
All other trust settings (for example, trusted on-premise iden
tity providers) from the existing account will not be copied
into the new account.

Note
If you do not have any trusted SAP Cloud Identity tenants
in the existing account, cloning the trust settings will result
in trust with SAP ID Service (as default identity provider) in
the new account.

members

All members with their roles from the existing account will be
copied into the new one.

112

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Cloning Option

Description

destinations

All destinations from the existing account will be created into


the new one. In addition, the relevant certificates and pass
words for the destinations will also be cloned so the destina
tion configurations will be fully functional in the new account.

Example of cloning an existing account to create a new account with the same trust settings and existing
destinations:
neo create-account --account myaccount --display-name mynewaccount --user myuser -host hana.ondemand.com --clone trust,destinations

1.3.6.4.12 create-availability-check
Creates an availability check.
neo create-availability-check

Parameters
Table 40:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
-U, --url

Relative application URL

Type: string
Table 41:
Optional

-b, --application

Application name for Java applications or productive SAP HANA database system, and
application name in the format <database name>:<application name> for SAP HANA XS
applications

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

113

Optional

-W, --warning

Threshold value or range of the response time in seconds.

Default: 50
Type: string
-C , --critical

Threshold value or range of the response time in seconds.

Default: 60
Type: string
-w, --overwrite

Should be used only if there is an existing alert that needs to be updated.

Default: false
Type: boolean

Example
Example for creating an availability check for application demo:
neo create-availability-check -a myaccount -b demo -u p1234567 -U /heartbeat -C 4
-W 6 --host hana.ondemand.com
Example for creating an availability check for myhana application:
neo create-availability-check -a myaccount -b myhanainstance:myhana -u p1234567 U /heartbeat.xsjs -C 4 -W 6 --host hana.ondemand.com

Related Information
Monitoring Java Applications [page 1149]
Monitoring Database Systems [page 1164]

1.3.6.4.13 create-db-ase
This command creates an ASE database with the specified ID and settings on an ASE database system.
neo create-db-ase -a <account_name> -h <landscape_host> -u <e-mail_or_user> -dbsystem <database_system> -i <database_ID> --db-user <dbuser> --db-password
<database_user_password> --db-size <database_size>

114

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 42:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, start


ing with a letter)

-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console cli
ent and not explicitly as a parameter in the properties file or the command
line.

Type: string
-i, --id

ASE database ID

Type: string
--dbsystem

ID of a productive ASE database system

Type: string
--db-user

Name of the user for the ASE database

Type: string (up to 30 characters, starting with a letter)


--db-password

Password of the database user used to access the ASE database (op
tional, queried at the command prompt if omitted)

--db-size

Size of the database in MB

Note
This parameter sets the maximum database size. The minimum data
base size is 24 MB. You receive an error if you enter a database size
that exceeds the quota for this database system.

Example
neo create-db-ase -a myaccount -h hana.ondemand.com -u mymail@example.com -dbsystem mydbsys -i mydb --db-user mydbuser --db-password SECRET --db-size mydbsize

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

115

Related Information
delete-db-ase [page 127]

1.3.6.4.14 create-db-hana
This command creates a SAP HANA database with the specified ID and settings, on a SAP HANA database
system enabled for multitenant database containers.
neo create-db-hana -a <account_name> -h <landscape_host> -u <e-mail_or_user> -dbsystem <database_system> -i <database_ID> --db-password <database_user_password>

Parameters
Table 43:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-i, --id

HANA database ID

Type: string
--dbsystem

ID of a productive HANA database system

Type: string

Note
To create a tenant database on a trial landscape, use -trial- instead of the ID of a pro
ductive HANA database system.

--db-password

116

Password of the SYSTEM user used to access the HANA database (optional, queried at
the command prompt if omitted)

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 44:
Optional

--dp-server

Enables or disables the data processing server of the HANA database: 'enabled', 'disa
bled' (default).

--script-server

Enables or disables the script server of the HANA database: 'enabled', 'disabled' (default).

--web-access

Enables or disables access to the HANA database from the Internet: 'enabled' (default),
'disabled'

--xsengine-mode

Specifies how the XS engine should run: 'embedded' (default), 'standalone'.

Example
neo create-db-hana -a myaccount -h hana.ondemand.com -u mymail@example.com -dbsystem mydbsys -i mydb --db-password SECRET

1.3.6.4.15 create-db-user-ase
This command creates a user for an ASE database.
neo create-db-user-ase -a <account_name> -h <landscape_host> -u <e-mail_or_user> -i
<database_ID> --db-user <dbuser> --db-password <database_user_password>

Parameters
Table 45:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

117

Required

-i, --id

ASE database ID

Type: string
--db-user

Name of the user for the ASE database

Type: string (up to 30 characters, starting with a letter)


--db-password

Password of the database user used to access the ASE database (optional, queried at the
command prompt if omitted)

Example
neo create-db-user-ase -a myaccount -h hana.ondemand.com -u mymail@example.com -i
mydb --db-user mydbuser --db-password SECRET

1.3.6.4.16 create-ecm-repository
Creates a new repository in the specified account.
neo create-ecm-repository --account <account_name> --host <landscape_host> --user
<e-mail_or_user> --name <repository_name> --key <repository_key> --display
<display_name_of_repository> --description <description_of_repository> --virus-scan
<true/false>

Parameters
Table 46:
Required

-a, --account

Account name
Specify an existing account of which you are already a member.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-u, --user

Use your email, SAP ID, or user name.

Type: string

118

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-n, --name

Name of the repository

Type: string
-k, --key

Key of the repository

Type: string
Table 47:
Optional

-d, --display-name

Can be used to provide a more readable name of the repository. Equals the --name value
if left blank. You cannot change the display later on.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-e, --description

Description of the repository. You cannot change the description later on.

Type: string
-v, --virus-scan

Can be used to activate the virus scanner and check all incoming documents for viruses.

Default: true
Type: boolean

Recommendation
For repositories that are used by untrusted users and or for unknown content, we rec
ommend that you enable the virus scanner by setting this parameter to true. Enabling
the virus scanner could impair the upload performance.
If a virus is detected, the upload process for the document fails with a virus scanner ex
ception.

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

Example
neo create-ecm-repository --account sap --host hana.ondemand.com --user
<myemail@example.com> --name DemoRepository --key ecm_012345689 --display-name
DemoRep --description "Demo Repository" --virus-scan true
SAP HANA Cloud Platform Console Client
Repository DemoRepository created successfully.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

119

1.3.6.4.17 create-jmx-check
Creates a JMX check.
neo create-jmx-check -a <account_name> -u <e-mail_or_user> -n <JMX_check_name> -O
<MBean_object_name> -A <MBean_object_attribute>

Parameters
Note
The JMX check settings support the JMX specification. For more information, see Java Management
Extensions (JMX) Specification .
Table 48:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
-n, --name

Name of the JMX check


The name must be up to 99 characters long and must not contain the following symbols:
`~!$%^&*|'"<>?,()=

Type: string
-O, --object-name

Object name of the MBean that you want to call


If it contains quotation marks, they should be escaped with \.

Type: string
-A, --attribute

Name of the attribute inside the class with the specified object name.

Type: string

120

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 49:
Optional

-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

Note
If the parameter is not used, the JMX check will be on account level for all running ap
plications in the account.

-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Note
If the parameter is not used, the default host is hana.ondemand.com.

-K, --key

Attribute key
It is needed only if the attribute is a composite data structure. This key defines the item in
the composite data structure. For more information about the composite data structure,
see Class CompositeDataSupport

Type: string
-o, --operation

Operation that has to be called on the MBean after checking the attribute value.
It is useful for resetting statistical counters to restart an operation on the same MBean.

Type: string
-U, --unit

Unit of measurement

Type: string
-W, --warning

Warning threshold
The threshold can be a regular expression in case of string values or compliant with the
official nagios threshold/ranges format. For more information about the format in case it
is a number, see the official nagios documentation

-C , --critical

Critical threshold
The threshold can be a regular expression in case of string values or compliant with the
official nagios threshold/ranges format. For more information about the format in case it
is a number, see the official nagios documentation

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

121

Optional

-w, --overwrite

Overwrites an existing check.

Default: false
Type: boolean

Note
When you use this parameter, a new JMX check is not created when the one you spec
ify does not exist.

Example 1: Configuring a JMX Check


For a typical example how to configure a JMX check for your application and subscribe recipients to receive
notification alerts, see Configuring a JMX Check to Monitor Your Application [page 1157].

Example 2: Using Warning and Critical Thresholds


The following example creates a JMX check that returns a warning state of the metric if the value is between 10
and 100 bytes, and returns a critical state if the value is greater than 100 bytes. If the value is less than 10 bytes,
the returned state is OK.
neo create-jmx-check -a myaccount -b demo -u p1234567 -n "JVM Heap Memory Used" -O
java.lang:type=Memory -A HeapMemoryUsage -K used -U B -W 10 -C 100 -h
hana.ondemand.com

Example 3: Using an Operation on an MBean


neo create-jmx-check -a myaccount -b demo -u p1234567 -n "JVM Heap Memory Used" -O
Catalina:type=GlobalRequestProcessor,name="http-bio-8041" -A HeapMemoryUsage o
resetCounters

Related Information
JMX Checks [page 1156]
Monitoring Java Applications [page 1149]

122

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.18 create-schema
This command creates a HANA database or schema with the specified ID on a shared or dedicated database.

Caution
This command is not supported for productive SAP HANA database systems. For more information about how
to create schemas on productive SAP HANA database systems, see Binding SAP HANA Databases to Java
Applications [page 792].
neo create-schema --account <account_name> --host <landscape_host> --id <schema_ID>
--user <e-mail_or_user> --dbtype <database_type>

Parameters
Table 50:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-d, --dbtype

Creates the HANA database or schema on a shared database system. Syntax: 'type:ver
sion'. Version is optional.
Available database types: 'MaxDB', 'HANA', and 'HANAXS' (case-insensitive)
To see which versions are available, execute the list-dbms command.

Type: string
--dbsystem

Creates the schema on a dedicated database system. To see the available dedicated da
tabase systems, execute the list-dbms command.

Type: string

Caution
The list-dbms command lists different database types, including productive SAP
HANA database systems. Do not use the create-schema command for productive
SAP HANA database systems. For more information about how to create schemas on
productive SAP HANA database systems, see Binding SAP HANA Databases to Java
Applications [page 792].

-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

123

Required

-i, --id

HANA database or schema ID


It must start with a letter and can contain lowercase letters ('a' - 'z') and numbers ('0' '9'). For schemas IDs, uppercase letters ('A' - 'Z') and the special characters '.' and '-' are
also allowed.
The ID must be unique within the account.
Note that the actual ID assigned in the database will be different to this version.

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string

Example
neo create-schema --account myaccount --host hanatrial.ondemand.com -i myschema -user mymail@example.com --dbtype hana

Related Information
Example Scenarios [page 811]
Managing Schemas [page 804]

1.3.6.4.19 create-ssl-host
Creates an SSL host for configuration of custom domains. This SSL host will be serving your custom domain.
neo create-ssl-host --account <account_name> --user <e-mail_or_user> --host
<landscape_host> --name <ssl_host_name>

Parameters
To list all parameters available for this command, execute neo help create-ssl-host in the command line.

124

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 51:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 52:
Optional

-n, --name

Unique identifier of the SSL host. If not specified, 'default' value is set.

Type: string (alphanumeric symbols allowed)

Example
neo create-ssl-host --account myaccount --user mymail@example.com --host
hana.ondemand.com --name mysslhostname

Related Information
Create an SSL Host [page 1187]
Configuring Custom Domains [page 1186]

1.3.6.4.20 delete-account
Deletes a particular account. Only the user who has created the account is allowed to delete it.

Note
You cannot delete an account if it still has associated non-shared database systems, database schemas,
deployed applications, HTML5 applications, or subscriptions. The persistence service provides a set of console

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

125

client commands for managing schemas which can list the schemas and delete them respectively. For more
information, see Schema Commands [page 821].

neo delete-account --account <account_name> --user <e-mail_or_user> --host


<landscape_host>

Parameters
To list all parameters available for this command, execute neo help delete-account in the command line.
Table 53:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Example

neo delete-account --account myaccount --user myuser --host hana.ondemand.com

1.3.6.4.21 delete-availability-check
Deletes an availability check.
neo delete-availability-check

126

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 54:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
Table 55:
Optional

-b, --application

Application name for Java applications or productive SAP HANA database system, and
application name in the format <database name>:<application name> for SAP HANA XS
applications

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Example
neo delete-availability-check -a myaccount -b demo -u p1234567 --host
hana.ondemand.com

Related Information
Monitoring Java Applications [page 1149]
Monitoring Database Systems [page 1164]

1.3.6.4.22 delete-db-ase
This command deletes the ASE database with the specified ID.
neo delete-db-ase -a <account_name> -h <landscape_host> -u <e-mail_or_user> -i
<database_ID>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

127

Parameters
Table 56:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-i, --id

ASE database ID

Type: string
Table 57:
Optional

--force or -f

Forcefully deletes the ASE database, including all application bindings

--silent

Suppresses the command line confirmation prompt

Example
neo delete-db-ase -a myaccount -h hana.ondemand.com -u mymail@example.com -i mydb

Related Information
create-db-ase [page 114]

1.3.6.4.23 delete-db-hana
This command deletes the SAP HANA database with the specified ID on a SAP HANA database system enabled
for multitenant database container support.
neo delete-db-hana -a <account_name> -h <landscape_host> -u <e-mail_or_user> -i
<database_ID>

128

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 58:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-i, --id

HANA database ID

Type: string
Table 59:
Optional

--force or -f

Forcefully deletes the HANA database, including all application bindings

--silent

Suppresses the command line confirmation prompt

Example

neo delete-db-hana -a myaccount -h hana.ondemand.com -u mymail@example.com -i mydb

1.3.6.4.24 delete-db-user-ase
This command deletes a user from an ASE database.
neo delete-db-user-ase -a <account_name> -h <landscape_host> -u <e-mail_or_user> -i
<database_ID> --db-user <dbuser>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

129

Parameters
Table 60:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-i, --id

ASE database ID

Type: string
--db-user

Name of the user for the ASE database

Table 61:
Optional

--silent

Suppresses the command line confirmation prompt

Example
neo delete-db-user-ase -a myaccount -h hana.ondemand.com -u mymail@example.com -i
mydb --db-user mydbuser

Related Information
create-db-user-ase [page 117]

130

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.25 delete-destination
This command deletes destination configuration properties files and JDK files. You can delete them on account,
application or subscribed application level.
neo delete-destination --account <account_name> --user <e-mail_or_user> --name
<destination_file_or_JKS_file> --host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help delete-destination in the command
line.
Table 62:
Required

-a, --account

Your account. The account for which you provide username and password.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

The application for which you delete a destination. Cases:

Use --application <myapp> if the application is running in your account.

Use --application <provider_account>:<provider_app> if the ap


plication is running in another account.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

The respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
--name

The name of the destination or JKS file to be deleted.

Type: string
-p, --password

Password for the specified user. To protect your password, enter it only when prompted
by the console client and not explicitly as a parameter in the properties file or the com
mand line.

Type: string
-u, --user

Your email, SAP ID or user name

Type: string

Examples
To delete a destination on account level, execute:
neo delete-destination --account myaccount --user p1234567890 --name
myconfiguration.jks --host hanatrial.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

131

To delete a destination on application level, execute:


neo delete-destination --account myaccount --user p1234567890 --application demo
--name weather --host hanatrial.ondemand.com
To delete a destination on subscribed application level, execute:
neo delete-destination --account myaccount --user p1234567890 --application
otheraccount:remotedemo --name weather --host hanatrial.ondemand.com

Related Information
Deleting Destinations [page 288]
Exit Codes [page 262]

1.3.6.4.26 delete-ecm-repository
This command deletes a repository including the data of any tenants in the repository, unless you restrict the
command to a specific tenant.

Caution
Be very careful when using this command. Deleting a repository permanently deletes all data. This data cannot
be recovered.

Parameters
Table 63:
Required

-a, --account

Account name
Specify an existing account of which you are already a member.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-u, --user

Use your email, SAP ID, or user name.

Type: string
-n, --name

Name of the repository

Type: string

132

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-k, --key

Key of the repository

Type: string
Table 64:
Optional

-t, --tenant

Tenant alias
Deletes the repository for the given tenant only instead of for all tenants. If no tenant
name is provided, the repositories for all tenants are deleted.

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

Example
neo delete-ecm-repository --account sap --host hana.ondemand.com --user
<myemail@example.com> --name DemoRepository --key ecm_012345689
SAP HANA Cloud Platform Console Client
Are you sure you want to permanently delete all data? This operation cannot be
reverted. (yes/no)
yes
Delete command executed successfully.

1.3.6.4.27 delete-domain-certificate
Deletes a certificate.

Note
Cannot be undone. If the certificate is mapped to an SSL host, the certificate will be removed from the SSL host
too.
neo delete-domain-certificate --account <account_name> --user <e-mail_or_user> -host <landscape_host> --name <certificate_name>

Parameters
To list all parameters available for this command, execute neo help delete-domain-certificate in the
command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

133

Table 65:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-n, --name

Name of the certificate that you set to the SSL host


The certificate must already be uploaded.

Example
neo delete-domain-certificate --account myaccount --user mymail@example.com --host
hana.ondemand.com --name myfirstcert

Related Information
Bind the Certificate to the SSL Host [page 1189]
bind-domain-certificate [page 103]

1.3.6.4.28 delete-hanaxs-certificates
This command deletes certificates that contain a specified string in the Subject CN.

Note
After executing this command, a you need to restart the SAP HANA XS services for it to take effect. See
restart-hana [page 220].
neo delete-hanaxs-certificates --host <landscape_host> --account <account_name> -application <application_name> --user <e-mail_or_user> --contained-string
<certificate_CN>

134

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help delete-hanaxs-certificates in the
command line.
Table 66:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-cn-string, --containedstring

A part of the certificate CN. All certificates that contain this string shall be deleted.

Default: none
Type: string (hexadecimal sequence of 2 to 40 characters)

Example
To delete all certificates containing John Doe in their Subject DN, execute:
neo delete-hanaxs-certificates --host hana.ondemand.com --account myacc -application myapp --user mymail@example.com --contained-string John Doe

1.3.6.4.29 delete-jmx-check
Deletes the specified JMX check or all JMX checks.
neo delete-jmx-check -a <account_name> -u <e-mail_or_user> -n <JMX_check_name>
or

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

135

neo delete-jmx-check -a <account_name> -u <e-mail_or_user> -A

Parameters
Table 67:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
-n, --name or -A, all

Name of the JMX check to be deleted or all JMX checks configured for the given account
and application are deleted.

Type: string
Table 68:
Optional

-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Note
If the parameter is not used, the default host is hana.ondemand.com.

Example
neo delete-jmx-check -a myaccount -b demo -u p1234567 -n "JVM Heap Memory Used" h hana.ondemand.com

Related Information
JMX Checks [page 1156]
Monitoring Java Applications [page 1149]

136

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.30 delete-resource (Beta)


Deletes a solution resource file from the system repository of a specified extension account.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].
neo delete-resource --name <resource_name> --account <account_name> --user <email_or_user> --host <landscape_host> --silent

Parameters
To list all parameters available for this command, execute neo help delete-resource in the command line.
Table 69:
Required

-n, --name

Name of the resource to be deleted

Type: string
-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 70:
Optional

-s, --silent

Suppresses the command-line confirmation prompt

Example
To delete a solution resource from the system repository for your extension account, execute:
neo delete-resource --name myresourcename --account myextensionacc --user
mymail@example.com --host hana.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

137

1.3.6.4.31 delete-ssl-host
Deletes an SSL host.
neo delete-ssl-host --account <account_name> --user <e-mail_or_user> --host
<landscape_host> --name <ssl_host_name>

Parameters
To list all parameters available for this command, execute neo help delete-ssl-host in the command line.
Table 71:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-n, --name

SSL host as defined with --create-ssl-host

Type: string

Example
neo delete-ssl-host --account myaccount --user mymail@example.com --host
hana.ondemand.com --name mysslhostname

Related Information
create-ssl-host [page 124]
list-ssl-hosts [page 207]

138

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.32 delete-keystore
This command is used to delete a keystore by deleting the keystore file. You can delete keystores on account,
application, and subscription levels.

Parameters
To list all parameters available for this command, execute neo help delete-keystore in the command line.
Table 72:
Required

-a, --account

Consumer account name


The account for which you provide username and password.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-n,--name

Name of the keystore to be deleted

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 73:
Optional

-b, --application

Application name

Use --application <consumer_application_name> if the application is


running in your account.

Use --application
<provider_account_name>:<provider_application_name> if the ap
plication is running in another account.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

Example
On Subscription Level
neo delete-keystore --account <consumer_account_name> --application
<provider_account_name>:<provider_application_name>
--user <e-mail_or_user> --name KeyStore1 --host hana.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

139

On Application Level
neo delete-keystore --account <consumer_account_name> --application
<consumer_application_name>
--user <e-mail_or_user> --name KeyStore1 --host hana.ondemand.com
On Account Level
neo delete-keystore --account <consumer_account_name> --user <e-mail_or_user> -name KeyStore1 --host hana.ondemand.com

Related Information
Keystore Console Commands [page 1248]
Keys and Certificates [page 1246]
Tutorial: Using the Keystore Service for Client Side HTTPS Connections [page 1251]

1.3.6.4.33 delete-schema
This command deletes the specified schema, including all data it contains. A schema cannot be deleted if it is still
bound to an application. To enforce the deletion, use the force parameter but bear in mind that this will also delete
all bindings that still exist.
Schema backups are kept for 14 days and may be used to restore mistakenly deleted data (available by special
request only).
neo delete-schema -a <account_name> -h <landscape_host> -u <e-mail_or_user> -i
<schema_ID>

Parameters
Table 74:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.


Type: URL, for acceptable values see Landscape Hosts [page 32]

-i, --id

HANA database or schema ID

Type: string

140

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
Table 75:
Optional

-f, --force

Forcefully deletes the schema, including all application bindings

Default: off
Type: switch, takes no value
--silent

Suppresses the command line confirmation prompt

Default: off
Type: switch, takes no value

Example

neo delete-schema -a myaccount -h hanatrial.ondemand.com -u mymail@example.com -i


myschema

Related Information
Managing Schemas [page 804]

1.3.6.4.34 deploy
Deploying an application publishes it to SAP HANA Cloud Platform. Use the optional parameters to make some
specific configurations of the deployed application.
neo deploy --host <landscape_host> --account <account_name> --application
<application_name>
--source <file_location> --user <e-mail_or_user>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

141

Parameters
To list all parameters available for this command, execute neo help deploy in the command line.
Table 76:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-s, --source

A comma-separated list of file locations, pointing to WAR files, or folders containing them

Note
The size of an application can be up to 1.5 GB. If the application is packaged as a WAR
file, the size of the unzipped content is taken into account.
If you want to deploy more than one application on one and the same application process,
put all WAR files in the same folder and execute the deployment with this source, or spec
ify them as a comma-separated list.

Type: file location


-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
To deploy an application on more than one landscape, execute the deploy separately for
each landscape host.

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 77:
Optional
Command-specific parameters

142

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Optional

--connections

The number of connections used to deploy an application.


Use it to speed up deployment of application archives bigger than 5 MB in slow networks.
Choose the optimal number of connections depending on the overall network speed to
the cloud.

Default: 2
Acceptable values: 1-6
Type: integer
--delta

Deploys only the changes between the provided source and the deployed content. New
content will be added; missing content will be deleted. Recommended for development
use to speed up the deployment.

Acceptable values: None


--ev

Environment variables for configuring the environment in which the application runs.
Sets one environment variable by removing the previously set value; can be used multiple
times in one execution.

Type: --ev <KEY1>=<VALUE1> --ev <KEY2>=<VALUE2> , where a key-value pair speci


fies one environment variable
If you provide a key without any value (--ev <KEY1>=), the ev parameter is ignored.
For a value that contains spaces, use quotation marks.

-j, --java-version

Java Virtual Machine major version number

Default: depends on the SAP HANA Cloud Platform SDK


Type: the version number of the JRE 7.
(beta) You can use JRE 8 with the Java Web Tomcat 7 runtime (neo-java-web version 2.25
or higher) in accounts enabled for beta features.
For more information, see Choosing JRE Version [page 1103]

-m, --minimum-processes

Minimum number of application processes, on which the application can be started

Default: 1
-M, --maximum-processes

Maximum number of application processes, on which the application can be started

Default: 1

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

143

Optional

-V, --vm-arguments

Java Virtual Machine arguments


System properties (-D<name>=<value>) separated with space that will be used when
starting the application process.
Memory settings of your compute units. You can set the following memory parameters: Xms, -Xmx, -XX:PermSize, -XX:MaxPermSize.
We recommend that you use the default memory settings. Change them only if necessary
and note that this may impact the application performance or its ability to start.
For more information, see Configuring VM Arguments [page 1105]

-z, --size

Compute unit size

Acceptable values: lite, pro, prem, prem-plus


Default: the smallest size from the account quotas
For more information, see Compute Units [page 959]

--runtime

Application runtime
Use the parameter if you want to choose an application runtime container different from
the one coming with your SDK. To view all available runtime containers, use list-runtimes
[page 202].
For more information, see Application Runtime Container [page 955].
If you specify --runtime, you also have to specify --runtime-version.

--runtime-version

SAP HANA Cloud Platform runtime version on which the application will be started and
will run on the same version after a restart. Otherwise, by default, the application is
started on the latest minor version (of the same major version) which is backward com
patible and includes the latest corrections (including security patches), enhancements,
and updates. Note that choosing this option does not affect already started application
processes.
You can view the recommended versions by executing the list-runtime-versions com
mand.

Note
If you choose your runtime version, consider its expiration date and plan updating to a
new version regularly.
For more information, see Choosing Application Runtime Version [page 1101]
Tomcat connector attributes

144

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Optional

--compression

Enable or disable gzip response compression

Default: off
Possible values: on (allow compression), off (disable compression), force (forces com
pression for all responses) or an integer (which enables compression and specifies the
compression-min-size value in bytes).
For more information, see Enabling and Configuring Gzip Response Compression [page
1104]

--compressible-mimetype

A comma separated list of MIME types for which compression will be used

Default: text/html, text/xml, text/plain


Condition: applicable if compression is enabled

--compression-min-size

Responses bigger than this value get compressed

Condition: applicable if compression is enabled


--connection-timeout

Defines the number of milliseconds to wait for the request URI line to be presented after
accepting a connection.

Default: 20000
--max-threads

Specifies the maximum number of simultaneous requests that can be handled

Default: 200
--uri-encoding

Specifies the character encoding used to decode the URI bytes on application request

Default: ISO-8859-1
For more information, see the encoding sets supported by Java SE 6

and Java SE 7

Example
Here are examples of some additional configurations. If your application is already started, stop it and start it
again for the changes to take effect.
You can deploy an application on a host different from the default one by specifying the host parameter. For
example, to use the data center located in the United States, execute:
neo deploy --host us1.hana.ondemand.com --account myacc --application myapp -source samples/deploy_war/example.war
--user mymail@example.com
Choose compute unit size
To specify the compute unit size on which you want the application to run, use the --size parameter with one of
the following values:
lite - Lite Edition

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

145

pro - Professional edition


prem - Premium edition
prem-plus - Premium Plus edition
Available sizes depend on your account type and what options you have purchased. For developer accounts, only
the Lite edition is available.
For more information, see Compute Units [page 959].
For example, if you have a productive account and have purchased a package with Premium edition compute
units, then you can run your application on a Premium compute unit size, by executing the following command:
neo deploy --size prem myapp.properties
Set the context root of an application
When deploying an application, name the WAR file with the desired context root.
For example, if you want to deploy your WAR in context root "/hello" then rename your WAR to hello.war.
If you want to deploy it in the "/" context root then rename your WAR to ROOT.war.
Specify character encoding
Using the uri-encoding parameter, you can define the character encoding that will be used to decode the URI
bytes on application request. For example, to use the UTF-8 encoding that can represent every character in the
Unicode character set, execute
neo deploy --uri-encoding UTF-8 myapp.properties

Related Information
Console Client [page 88]
Choosing Application Runtime Version [page 1101]
Choosing JRE Version [page 1103]
Configuring VM Arguments [page 1105]
Enabling and Configuring Gzip Response Compression [page 1104]
Scaling Applications [page 1107]
Updating Application Properties [page 1101]
Deploying and Updating Applications [page 973]
Delta Deployment [page 984]
Managing Accounts and Quota [page 17]

1.3.6.4.35 deploy-local
This command deploys WAR files on a local server instance.
neo deploy-local --source <file_location>

146

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 78:
Required

-s, --source

Source for deployment (comma separated list of WAR files or folders containing one or
more WAR files)

Type: file location


Table 79:
Optional

-l, --location

Local server installation directory

Example

neo deploy-local --source samples/deploy_war/example.war

Related Information
Deploying Locally with the Console Client [page 981]

1.3.6.4.36 disable
This command stops the creation of new connections to an application or application process, but keeps the
already running sessions alive. You can check if an application or application process has been disabled by
executing the status command.
neo disable --host <landscape_host> --account <account_name> --application
<application_name> --user <e-mail_or_user>

Parameters
To list all parameters available for this command, execute neo help disable in the command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

147

Table 80:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 81:
Optional

-i, --applicationprocess-id

Unique ID of a single application process. Use it to disable a particular application process


instead of the whole application. As the process ID is unique, you do not need to specify
account and application parameters. You can list the application process ID by using the
<status> command.

Default: none
Type: string (hexadecimal sequence of 2 to 40 characters)

Example
To disable the whole application, execute:
neo disable --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com
To disable a single applcation process, first identify the application process you want to disable by executing neo
status:
neo status --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com
From the generated list of application process IDs, copy the ID you need and execute neo disable for it:
neo disable --application-process-id e8df21d
mymail@example.com

148

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

--host hana.ondemand.com --user

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Soft Shutdown [page 1126]
start [page 240]
status [page 238]
Exit Codes [page 262]

1.3.6.4.37 display-application-properties
The command displays the set of properties of a deployed application, such as runtime version, minimum and
maximum processes, Java version.
neo display-application-properties --host <landscape_host> --account <account_name>
--application <application_name> --user <e-mail_or_user>

Parameters
To list all parameters available for this command, execute the neo help display-application-properties
in the command line.
Table 82:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

149

Example
To list the application properties, execute:
neo display-application-properties --host hana.ondemand.com --account myacc -application myapp --user mymail@example.com

Related Information
deploy [page 141]

1.3.6.4.38 display-csr
Returns the certificate signing request (CSR) of the specified certificate.
neo display-csr --account <account_name> --user <e-mail_or_user> --host
<landscape_host> --name <certificate_name>
--file-name <file-name>

Parameters
To list all parameters available for this command, execute neo help display-csr in the command line.
Table 83:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-n, --name

Name of the certificate set to the SSL host


Must already be uploaded

150

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 84:
Optional

-f, --file name

Name of the local file where the CSR is stored

Example
neo display-csr --account myaccount --user mymail@example.com --host
hana.ondemand.com
--name myfirstcert --file-name mycsr

Related Information
generate-csr [page 161]
Configuring Custom Domains [page 1186]

1.3.6.4.39 display-ecm-repository
Returns details and settings of one repository, including tenant details.
neo display-ecm-repository --account <account_name>
<e-mail_or_user> --name <repository_name>

--host <landscape_host> --user

Parameters
Table 85:
Required

-a, --account

Account name
Specify an existing account of which you are already a member.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-u, --user

Use your email, SAP ID, or user name.

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

151

Required

-n, --name

Name of the repository

Type: string
Table 86:
Optional

-t, --tenant

Tenant alias

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

Example
neo display-ecm-repository --account acme --host hana.ondemand.com --user
<myemail@example.com> --name ExampleRepository
ExampleRepository
Display name
: Example Repository
Description
: This is an example repository with Virus Scan enabled.
ID
: cdb158efd4212fc00726b035
Application
: Neo CLI
Virus Scan
: on
Tenants
: 1
ExampleTenant
Tenant ID
: 39a9c31a-81a5-4c4e-9bd5-8e60681227ad
Virus Scan
: off
Content
: 1 GB
Metadata
: 258 KB

1.3.6.4.40 display-db-info
This command displays detailed information about the selected database. This includes the assigned database
type, the database version, and a list of bindings with the application and data source names.
neo display-db-info -a <account_name> -h <landscape_host> -u <e-mail_or_user> -i
<database_ID>

152

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 87:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-i, --id

Database ID

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string

Example
neo display-db-info -a myaccount -h hana.ondemand.com -u mymail@example.com -i mydb

1.3.6.4.41 display-schema-info
This command displays detailed information about the selected schema. This includes the assigned database
type, the database version, and a list of bindings with the application and data source names.
neo display-schema-info -a <account_name> -h <landscape_host> -u <e-mail_or_user> i <schema_ID>

Parameters
Table 88:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

153

Required

-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-i, --id

Schema ID

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string

Example

neo display-schema-info -a myaccount -h hanatrial.ondemand.com -i myschema -u


mymail@example.com

Related Information
Example Scenarios [page 811]
Managing Schemas [page 804]

1.3.6.4.42 download-keystore
This command is used to download a keystore by downloading the keystore file. You can download keystores on
account, application, and subscription levels.

Parameters
To list all parameters available for this command, execute neo help download-keystore in the command line.

154

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 89:
Required

-a, --account

Consumer account name


The account for which you provide username and password.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-n,--name

Name of the keystore to be downloaded

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 90:
Optional

-b, --application

Application name

Use --application <consumer_application_name> if the application is


running in your account.

Use --application
<provider_account_name>:<provider_application_name> if the ap
plication is running in another account.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-l,--location

Local directory where the keystore will be saved. If it is not specified, the current directory
is used.

Type: string
-w, --overwrite

Overwrites a file with the same name if such already exists. If you do not explicitly include
the --overwrite argument, you will be notified and asked if you want to overwrite the
file.

Example
On Subscription Level
neo download-keystore --account <consumer_account_name> --application
<provider_account_name>:<provider_application_name>
--user <e-mail_or_user> --location c:\temp --name KeyStore1 --host hana.ondemand.com
On Application Level
neo download-keystore --account <consumer_account_name> --application
<consumer_application_name>
--user <user_ID> --location c:\temp --name KeyStore1 --host hana.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

155

On Account Level
neo download-keystore --account <consumer_account_name> --user <e-mail_or_user>
--location c:\temp --name KeyStore1 --host hana.ondemand.com

Related Information
Keystore Console Commands [page 1248]
Keys and Certificates [page 1246]
Tutorial: Using the Keystore Service for Client Side HTTPS Connections [page 1251]

1.3.6.4.43 edit-ecm-repository
Changes the name, key, or virus scan settings of a repository. You cannot change the display name or the
description.
At least one of the --newname, --newkey, or --virus-scan parameters must be provided.
neo edit-ecm-repository --account <account_name> --host <landscape_host> --user <email_or_user> --name <repository_name> --tenant <tenant_name> --virus-scan <true/
false> --key <repository_key>

Note
With this command, you can also change your current repository key to a different one. If you forgot your
current key, request a new one using the reset-ecm-repository command.

Parameters
Table 91:
Required

-a, --account

Account name
Specify an existing account of which you are already a member.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-u, --user

Use your email, SAP ID, or user name.

Type: string

156

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-k, --key

Key of the repository

Type: string
-n, --name

Name of the repository

Type: string
Table 92:
Optional

-t, --tenant

Tenant alias
Changes the virus scan setting for one tenant.

Caution
If not used, the virus scan setting of the whole repository changes.

Type: string
-o, --newname

New name of the repository

Type: string
-q, --newkey

New repository key

Type: string
-v, --virus-scan

Can be used to activate the virus scanner and check all incoming documents for viruses.

Default: true
Type: boolean

Recommendation
For repositories that are used by untrusted users and or for unknown content, we rec
ommend that you enable the virus scanner by setting this parameter to true. Enabling
the virus scanner could impair the upload performance.
If a virus is detected, the upload process for the document fails with a virus scanner ex
ception.

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

Example
neo edit-ecm-repository --account sap --host hana.ondemand.com --user
<myemail@example.com> --name DemoRepository --tenant sap --virus-scan false --key
ecm_012345689

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

157

SAP HANA Cloud Platform Console Client


edit-ecm-repository executed successfully.

Related Information
reset-ecm-key [page 216]

1.3.6.4.44 enable
This command enables new connection requests to a disabled application or application process. The enable
command cannot be used for an application that is in maintenance mode.
neo enable --host <landscape_host> --account <account_name> --application
<application_name> --user <e-mail_or_user>

Parameters
To list all parameters available for this command, execute neo help enable in the command line.
Table 93:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values, see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

158

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 94:
Optional

-i, --applicationprocess-id

Unique ID of a single application process. Use it to enable a particular application process


instead of the whole application. As the process ID is unique, you do not need to specify
account and application parameters. You can list the application process ID by using the
<status> command.

Default: none
Type: string (hexadecimal sequence of 2 to 40 characters)

Example
To enable the whole application, execute:
neo enable --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com
To enable a single applcation process, first identify the application process you want to enable by executing neo
status:
neo status --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com
From the generated list of application process IDs, copy the ID you need and execute neo enable for it:
neo enable --application-process-id e8df21d
mymail@example.com

--host hana.ondemand.com --user

Related Information
status [page 238]
disable [page 147]
start-maintenance [page 243]

1.3.6.4.45 get-destination
This command downloads (reads) destination configuration properties files and JDK files. You can download
them on account, application or subscribed application level.
neo get-destination --account <account_name> --user <e-mail_or_user> --localpath
<localpath_to_destination_file_or_JKS_file> --host <landscape_host>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

159

Parameters
To list all parameters available for this command, execute neo help get-destination in the command line.
Table 95:
Required

-a, --account

Your account. The account for which you provide username and password.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

The application for which you download a destination. Cases:

Use --application <myapp> if the application is running in your account.

Use --application <provider_account>:<provider_app> if the ap


plication is running in another account.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

The respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
--localpath

The path on your local file system where a destination or a JKS file will be downloaded. If
not set, no files will be downloaded.

Type: string
--name

The name of the destination or JKS file to be downloaded. If not set, the names of all des
tination or JKS files for the service will be listed.

Type: string
-p, --password

Password for the specified user. To protect your password, enter it only when prompted
by the console client and not explicitly as a parameter in the properties file or the com
mand line.

Type: string

Note
If you download a destination configuration file that contains a password field, the
password value will not be visible. Instead, after Password =..., you will only see
an empty space. You will need to learn the password in other ways.

-u, --user

Your email, SAP ID or user name

Type: string

Examples
To read a destination on account level, execute:
neo get-destination --account myaccount --user p1234567890 --name weather -localpath C:\myfiles --host hanatrial.ondemand.com

160

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

To read a destination on application level, execute:


neo get-destination --account myaccount -user p1234567890 --application demo -name myconfiguration.jks --localpath C:\SDK\tools\samples\connectivity --host
hanatrial.ondemand.com
To read a destination on subscribed application level, execute:
neo get-destination --account myaccount --user p1234567890 --application
otheraccount:remotedemo --name weather --localpath C:\SDK\tools\samples
\connectivity --host hanatrial.ondemand.com

Related Information
Downloading Destinations [page 286]
Exit Codes [page 262]

1.3.6.4.46 generate-csr
Generates and returns a certificate signing request (CSR).
neo generate-csr --account <account_name> --user <e-mail_or_user> --host
<landscape_host> --name <certificate_name>
--certificate-distinguished-name <type0=value0,type1=value1,type2>

Parameters
To list all parameters available for this command, execute neo help generate-csr in the command line.
Table 96:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

161

Required

-n, --name

Unique identifier of the certificate

Type: string (It can contain alphanumerics, '.', '-' and '_')
-d,--certificatedistinguished-name

Attributes of the CSR

Type: string (formatted as type0=value0,type1=value1,type2=..., characters may be es


caped by \ (backslash), no spaces are skipped)

Allowed attributes:

Country - two-digit code - for example, GB

State - state or province name - for example, Hampshire

Locality city full name - for example Portsmouth

Organization company name

Organizational Unit for example IT Department

Common Name the domain name for which you are requesting the certificate - ex
ample.com

Optional

-s, -subjectalternative-name

A comma-separated list of all domain names to be protected with this certificate, used as
value for the Subject Alternative Name field of the generated certificate.

Type: string

Example
neo generate-csr --account myaccount --user mymail@example.com --host
hana.ondemand.com --name myfirstcert
--certificate-distinguished-name "C=BG,O=MyCompany,CN=www.mycompany.bg" --subjectalternative-name mycompany.com,mycompany.net

Related Information
Configuring Custom Domains [page 1186]

1.3.6.4.47 get-log
This command downloads a particular log file.
neo get-log --account <account_name> --application <application_name> --user <email_or_user> --host <landscape_host> --directory
<local_folder_location_of_the_file> --file <file_name>

162

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help get-log in the command line.
Table 97:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-d, --directory

Local folder location under which the file will be downloaded. If the directory you have
specified does not exist, it will be created.

Type: string
-f, --file

The log file name including its extension.

Type: string
-h, --host

The respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

Password for the specified user. To protect your password, enter it only when prompted
by the console client and not explicitly as a parameter in the properties file or the com
mand line.

Type: string
-u, --user

Your email, SAP ID or user name

Type: string
Table 98:
Optional

-w, --overwrite

Overwrites a file with the same name if such already exists. If you do not explicitly include
the --overwrite argument, you will be notified and asked if you want to overwrite the
file.

Default: true
Type: boolean

Example

neo get-log --account myaccount --application demo --user p1234567890 --host


hanatrial.ondemand.com --directory C:\MyDemoApps\log --file jpaas_audit_log.log

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

163

Related Information
Using Logs in the Console Client [page 1134]
Exit Codes [page 262]

1.3.6.4.48 grant-db-tunnel-access
This command generates a token, which allows the members of another account to access a database using a
database tunnel.
neo grant-db-tunnel-access -h <host> -u <user> -a <my account> -i <mydatabase> --toaccount <other account>

Parameters
Table 99:
Required

-i, --id

Database ID

Type: string
--to-account

Account name
The account to be granted database tunnel access, based on the access token

Type: string

Example
neo grant-db-tunnel-access -h hanatrial.ondemand.com -u mymail@example.com -a
myaccount -i mydb --to-account other account

Related Information
Providing Access to Databases for Other Accounts [page 853]
list-db-tunnel-access-grants [page 194]
revoke-db-tunnel-access [page 222]

164

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.49 grant-schema-access
This command gives an application in another account access to a schema based on a one-time access token.
The access token is used to bind the schema to the application.
neo grant-schema-access --host <landscape_host> --account <account_name> -application <application_name> --user <e-mail_or_user> --id <schema_ID>

Parameters
Table 100:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name
The application (specified in the format <account>:<application>) to which the schema
can be bound using the created token

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-i, --id

Schema ID

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string

Example
neo grant-schema-access --host hanatrial.ondemand.com --account myaccount -application salescorp:salesapp --user mymail@example.com --id myschema

Related Information
Granting Access to Schemas [page 818]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

165

bind-schema [page 106]


list-schema-access-grants [page 205]
revoke-schema-access [page 223]

1.3.6.4.50 hcmcloud-create-connection (Beta)


This command configures the connectivity of an extension application to a SuccessFactors system associated
with a specified SAP HANA Cloud Platform account. The command creates the required HTTP destination and
registers an OAuth client for the extension application in SuccessFactors. The command is relevant for Java
extension applications.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].

neo hcmcloud-create-connection --application <extension_application> --account


<account_name> --user <e_mail or user> --host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-create-connection in the
command line.
Table 101:
Required

-b, --application

The name of the extension application for which you are creating the connection. Cases:

Use --application <my_extension_application> if the application is

Use --application

running in your account

<provider_account>:<extension_application> if the application is


running in another account and your extension account is subscribed to the applica
tion

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

The landscape host for your extension account

Type: URL. For acceptable values, see Landscape Hosts.

166

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
--technical-user-id

ID of the technical user for the connection

Condition: Required for connection type OData with technical user


Type: string
Table 102:
Optional

-w, --overwrite

If a connection with the same name already exists, overwrites it. If you do not explicitly
specify the --overwrite parameter, and a connection with the same name already exists,
the command fails to execute

Example
To configure a connection of type OData with technical user for an extension application in an account located in
the United States (US East) data center, execute:
neo hcmcloud-create-connection --application <my_application> --account
<my_extension_account> --user <my_email@example.com> --host us1.hana.ondemand.com -technical-user-id <technical_user_id>

1.3.6.4.51 hcmcloud-delete-connection (Beta)


This command removes the specified connection configured between an extension application and a
SuccessFactors system associated with the specified SAP HANA Cloud Platform account.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].

neo hcmcloud-delete-connection --application <extension_application> --account


<account_name> --user <e_mail or user> --host <landscape_host> --name
<destination_name>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

167

Parameters
To list all parameters available for this command, execute neo help hcmcloud-delete-connection in the
command line.
Table 103:
Required

-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-n, --name

Name of the connection destination

Accepted values: sap_hcmcloud_core_odata,


sap_hcmcloud_core_odata_technical_user
Type: string
-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example
To delete an OData connection for an extension application running in an extension account in the US East data
center, execute:
neo hcmcloud-delete-connection --application <extension_application> --account
<account_name> --user <e_mail or user> --host us1.hana.ondemand.com --name
sap_hcmcloud_core_odata

168

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.52 hcmcloud-disable-application-access (Beta)


This command removes an extension application from the list of authorized assertion consumer services for the
SuccessFactors system associated with the specified account.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].

neo hcmcloud-disable-application-access --application <extension_application> -application-type <extension_application_type> --account <extension_account_name> -user <e-mail_or_user> --host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-disable-applicationaccess in the command line.
Table 104:
Required

-b, --application

The name of the extension application for which you are deleting the connection. Cases:

Use --application <my_extension_application> if the application is


running in your account

Use --application

<provider_account>:<extension_application> if the application is


running in another account and your extension account is subscribed to the applica
tion

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
--application-type

The type of the extension application for which you are deleting the connection

Accepted values: java, html5


Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

169

Required

-u, --user

Use your email, SAP ID or user name

Type: string

Example
To remove a Java extension application from the list of authorized assertion consumer services for the
SuccessFactors system associated with an account located in the United States (US East), execute:
neo hcmcloud-disable-application-access --application <my_application> -application-type java --account <my_extension_account> --user
<my_email@example.com> --host us1.hana.ondemand.com
The command removes the entry for the application from the list of the authorized service provider assertion
consumer services for the SuccessFactors system associated with the specified account. If entry for the
extension application does not exist the command will fail.

1.3.6.4.53 hcmcloud-display-application-access-status (Beta)


This command displays the status of an extension application entry in the list of assertion consumer services for
the SuccessFactors system associated with the specified account. The returned results contain the extension
application URL.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].

neo hcmcloud-display-application-access-status --application


<extension_application> --account <extension_account_name> --user <e-mail_or_user>
--host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-display-applicationaccess-status in the command line.

170

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 105:
Required

-b, --application

The name of the extension application for which you are displaying the status in in the list
of assertion consumer services. Cases:

Use --application <my_extension_application> if the application is


running in your account

Use --application

<provider_account>:<extension_application> if the application is


running in another account and your extension account is subscribed to the applica
tion

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
--application-type

The type of the extension application for which you are creating the connection

Accepted values: java, html5


Type: string
-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example
To display the status of an application entry in the list of authorized assertion consumer services for the
SuccessFactors system associated with an account in the data center located in the United States (US East),
execute:
neo hcmcloud-display-application-access-status --application myapp --account
myextensionacc --user mymail@example.com --host us1.hana.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

171

1.3.6.4.54 hcmcloud-enable-application-access (Beta)


This command registers an extension application as an authorized assertion consumer service for the
SuccessFactors system associated with the specified account to enable the application to use the
SuccessFactors identity provider (IdP) for authentication.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].
neo hcmcloud-enable-application-access --application <extension_application> -account <account_name> --user <e-mail_or_user> --host <landscape_host> -application-type <extension_application_type>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-enable-applicationaccess in the command line.
Table 106:
Required

-b, --application

The name of the extension application for which you are creating the connection. Cases:

Use --application <my_extension_application> if the application is


running in your account

Use --application

<provider_account>:<extension_application> if the application is


running in another account and your extension account is subscribed to the applica
tion

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
--application-type

The type of the extension application for which you are creating the connection

Accepted values: java, html5


Type: string
-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

172

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-u, --user

Use your email, SAP ID or user name

Type: string

Example
To register an extension application as an authorized assertion consumer service for the SuccessFactors system
associated with an account located in the United States (US East) data center, execute:
neo hcmcloud-enable-application-access --application <my_application> --account
<my_extension_account> --user <my_email@example.com> --host us1.hana.ondemand.com
--application-type java
The command creates entry for the application in the list of the authorized service provider assertion consumer
services for the SuccessFactors system associated with the specified account. The entry contains the main URL
of the extension application, the service provider audience URL and service provider logout URL. If an entry for the
given extension application already exists, this entry is overwritten.

1.3.6.4.55 hcmcloud-enable-role-provider (Beta)


This command enables the SuccessFactors role provider for the specified Java application.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].

neo hcmcloud-enable-role-provider --application <extension_application> --account


<account_name> --user <e_mail or user> --host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-enable-role-provider in
the command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

173

Table 107:
Required

-b, --application

The name of the extension application for which you are creating the connection. Cases:

Use --application <my_extension_application> if the application is


running in your account

Use --application

<provider_account>:<extension_application> if the application is


running in another account and your extension account is subscribed to the applica
tion

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

The landscape host for your extension account

Type: URL. For acceptable values, see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example
To enable the SuccessFactors role provider for your Java application in an extension account located in the United
States (US East) data center, execute:
neo hcmcloud-enable-role-provider --application <my_application> --account
<my_extension_account> --user <my_email@example.com> --host us1.hana.ondemand.com

174

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.56 hcmcloud-get-registered-home-page-tiles (Beta)


This command lists the SuccessFactors Employee Central (EC) home page tiles registered in the SuccessFactors
company instance associated with the extension account.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].
neo hcmcloud-get-registered-home-page-tiles --application <extension_application> -account <account_name> --user <e-mail_or_user> --host <landscape_host> -application-type <extension_application_type>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-get-registered-homepage-tiles in the command line.
Table 108:
Required

-b, --application

The name of the extension application for which you are listing the home page tiles.
Cases:

Use --application <my_extension_application> if the application is


running in your account

Use --application

<provider_account>:<extension_application> if the application is


running in another account and your extension account is subscribed to the applica
tion

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

Note
If you do not specify the application parameter, the command lists all tiles regis
tered in the Successfactors company instance associated with the specified extension
account.

--application-type

The type of the extension application for which you are listing the home page tiles

Accepted values: java, html5


Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-a, --account

Name of the extension account

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

175

Required

-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example
To list the home page tiles registered for a Java extension application running in your account in the US East data
center, execute::
neo hcmcloud-get-registered-home-page-tiles --application <my_application> -account <my_extension_account> --user <my_email@example.com> --host
us1.hana.ondemand.com --application-type <java>
There is no lifecycle dependency between the tiles and the application, so the application may not be started or
may not be deployed anymore.

1.3.6.4.57 hcmcloud-import-roles (Beta)


This command imports SuccessFactors HCM suite roles into the SuccessFactors customer instance linked to an
extension account.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].
neo hcmcloud-import-roles --account <account_name> --user <e-mail_or_user> --host
<landscape_host> --location <path_to_the_file_with_role_definitions>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-import-roles in the
command line.

176

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 109:
Required

-l, --location

Path to the file containing in which the


SuccessFactors HCM Suite roles are de
fined

Type: string

Note
The file size must not exceed 500 KB.

-a, --account

The SAP HANA Cloud Platform extension


account which is linked to the target Suc
cessFactors system

Type: string (up to 30 characters; lower


case letters and numbers, starting with a
letter)

-h, --host

The respective landscape host for your ac


count type

Type: URL. For acceptable values see


Landscape Hosts

-p, --password

To protect your password, enter it only


when prompted by the console client and
not explicitly as a parameter in the proper
ties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example
To import the role definitions for an extension application from the system repository for your extension account
into the SuccessFactors customer instance connected to this account, execute:
neo hcmcloud-import-roles --account myextensionacc --user mymail@example.com --host
hana.ondemand.com --location pathtorolefile
If any of the roles that you are importing already exists in the target system, the commands fails to execute.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

177

1.3.6.4.58 hcmcloud-list-connections (Beta)


This command lists the connections configured for the specified extension application.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].
neo hcmcloud-list-connections --application <extension_application> --account
<account_name> --user <e_mail or user> --host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-list-connections in the
command line.
Table 110:
Required

-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-n, --name

Name of the connection destination

Accepted values: sap_hcmcloud_core_odata,


sap_hcmcloud_core_odata_technical_user
-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

178

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Example
To list the connections for an extension application running in an extension account in the US East data center,
execute:
neo hcmcloud-list-connection --application myapp --account myextensionacc
mymail@example.com --us1.host hana.ondemand.com

--user

1.3.6.4.59 hcmcloud-register-home-page-tiles (Beta)


This command registers the SuccessFactors Employee Central (EC) home page tiles in the SuccessFactors
company instance associated with the extension account. The home page tiles must be described in a tile
descriptor file for the extension application in JSON format.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].
neo hcmcloud-register-home-page-tiles --application <extension_application> -account <account_name> --user <e-mail_or_user> --host <landscape_host> -application-type <extension_application_type> --location
<path_to_the_tile_descriptor_file>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-register-home-page-tiles
in the command line.
Table 111:
Required

-l, --location

Path to the tile descriptor file

Type: string

Note
The file size must not exceed 100 KB.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

179

Required

-b, --application

The name of the extension application for which you are registering the home page tiles.
Cases:

Use --application <my_extension_application> if the application is


running in your account

Use --application

<provider_account>:<extension_application> if the application is


running in another account and your extension account is subscribed to the applica
tion

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
--application-type

The type of the extension application for which you are registering the home page tiles

Default: java
Accepted values: java, html5
Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-a, --account

Name of the extension account

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example
To register a home page tile for a Java extension application running in your account in the US East data center,
execute::
neo hcmcloud-register-home-page-tiles --application <my_application> --account
<my_extension_account> --user <my_email@example.com> --host us1.hana.ondemand.com
--application-type <java> --location <path_to_tile_descriptor_file>

180

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.60 hcmcloud-unregister-home-page-tiles (Beta)


This command removes the SuccessFactors EC home page tiles registered for the extension application in the
SuccessFactors company instance associated with the specified extension account.

Note
This is a beta feature available for SAP HANA Cloud Platform extension accounts. For more information about
the beta features, see Using Beta Features in Accounts [page 22].
neo hcmcloud-unregister-home-page-tiles --application <extension_application> -account <account_name> --user <e-mail_or_user> --host <landscape_host> -application-type <extension_application_type>

Parameters
To list all parameters available for this command, execute neo help hcmcloud-unregister-home-pagetiles in the command line.
Table 112:
Required

-b, --application

The name of the extension application for which you are removing the home page tiles.
Cases:

Use --application <my_extension_application> if the application is

Use --application

running in your account

<provider_account>:<extension_application> if the application is


running in another account and your extension account is subscribed to the applica
tion

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

Note
You must use the same application name that you have specified when registering the
tiles.

--application-type

The type of the extension application for which you are listing the home page tiles

Default: java
Accepted values: java, html5
Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-a, --account

Name of the extension account

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

181

Required

-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts.


-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example
To remove the home page tiles registered for a Java extension application running in your account in the US East
data center, execute::
neo hcmcloud-unregister-home-page-tiles --application <my_application> --account
<my_extension_account> --user <my_email@example.com> --host us1.hana.ondemand.com
--application-type <java>
There is no lifecycle dependency between the tiles and the application, so the application may not be started or
may not be deployed anymore.

1.3.6.4.61 hot-update
The hot-update command enables a developer to redeploy and update the binaries of an application started on
one process faster than the normal deploy and restart. Use it to apply and activate your changes during
development and not for updating productive applications.
There are three options for hot-update specified with the --strategy parameter:
replace-binaries - redeploys and updates the application binaries
restart-runtime - redeploys and updates the application binaries and restarts the application process
reprovision-runtime - cleans up the file system, reprovisions the runtime and redeploys and updates the
application binaries
neo hot-update --host <landscape_host> --account <account_name> --application
<application_name> --source <file_location> --user <e-mail_or_user> --strategy
<update_strategy>

Limitations:
Works only if there is a single running process of the application.
You cannot change deploy parameters and context path of the application.

182

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help hot-update in the command line.
Table 113:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Your email, SAP ID or user name.

Type: string
-s, --source

A comma-separated list of file locations, pointing to WAR files, or folders containing them.

Type: file location


--strategy

Defines how the update will be performed.

Acceptable values:

replace-binaries

restart-runtime

reprovision-runtime

Table 114:
Optional

--connections

Number of connections used to deploy the content

Default: 2
Acceptable values: 1-6
Type: integer
--delta

Uploads only the changes between the provided source and the deployed content. New
content will be added; missing content will be deleted. Recommended for development
use to speed up the deployment.

Acceptable values: None


-y,--synchronous

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Waits for the operation to complete.

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

183

Example
neo hot-update --host us1.hana.ondemand.com --account myacc --application myapp -source samples/deploy_war/example.war --user mymail@example.com --strategy replacebinaries

1.3.6.4.62 install-local
This command installs a server runtime in a local folder, by default <SDK installation folder>/server.
neo install-local

Parameters
Table 115:
Optional

--ajp-port

AJP port opened by server

Default: 8009
--http-non-proxy-hosts

JVM system property http.nonProxyHosts

--http-port

HTTP port opened by server

Default: 8080
--http-proxy-host

JVM system property http.ProxyHost

--http-proxy-port

JVM system property http.ProxyPort

--https-port

HTTPS port opened by server

Default: 8443
--https-proxy-host

JVM system property https.ProxyHost

--https-proxy-port

JVM system property https.ProxyPort

--jmx-port

JMX port opened by server (JVM system property

com.sun.management.jmxremote.port)
Default: 1717
-l, --location

Local server installation directory

Related Information
Deploying Locally with the Console Client [page 981]

184

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.63 list-application-datasources
This command lists all schemas and productive database instances bound to an application.
neo list-application-datasources -a <account_name> -b <application> -h
<landscape_host> -u <e-mail_or_user>

Parameters
Table 116:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letters)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string

Example
neo list-application-datasources -a myaccount -b myapp -h hana.ondemand.com -u
mymail@example.com

Related Information
bind-schema [page 106]
unbind-schema [page 253]
bind-hana-dbms [page 104]
unbind-hana-dbms [page 252]
Example Scenarios [page 811]
Managing Schemas [page 804]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

185

1.3.6.4.64 list-availability-check
Lists the availability checks.
neo list-availability-check

Parameters
Table 117:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
Table 118:
Optional

-b, --application

Application name for Java applications or productive SAP HANA database system, and
application name in the format <database name>:<application name> for SAP HANA XS
applications

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-R, --recursively

Lists availability checks recursively starting from the specified level. For example, if only
'account' is passed as an argument, it starts from the account level and then lists all
checks configured on application level.

Default: false
Type: boolean

Example
Example for listing availability checks recursively starting on account level and listing the checks configured for
Java and SAP HANA XS applications:
neo list-availability-check -a myaccount -u p1234567 --host hana.ondemand.com -R
Sample output:
SAP HANA Cloud Platform Console Client
Running list-availability-checks with the following parameters:
account
: myaccount
host
: https://hana.ondemand.com
recursively: true
SDK version: 1.2.3

186

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

user
: p1234567
HANA XS Availability Checks
Application availability checks
application : hanaxs:myhana
url
: /myhana.xsjs
warning
: 50 s
critical
: 60 s
technology : HANA XS
Java Availability Checks
Account-level availability check
account
: test
url
: /example
warning
: 50
critical
: 60
Application availability checks
application : demo
url
: /example
warning
: 6
critical
: 4
technology : Java

Related Information
Monitoring Java Applications [page 1149]
Monitoring Database Systems [page 1164]

1.3.6.4.65 list-accounts
Lists all accounts that a customer has. Authorization is performed against the account passed as --account
parameter.
neo list-accounts --account <account_name> --user <e-mail_or_user>

Parameters
To list all parameters available for this command, execute neo help list-accounts in the command line.
Table 119:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

187

Required

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Example
neo list-accounts --account myaccount --user myuser --host hana.ondemand.com

1.3.6.4.66 list-alert-recipients
Lists alert recipients.
neo list-alert-recipients

Parameters
Table 120:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
Table 121:
Optional

-b, --application

Application name for Java applications or productive SAP HANA instance database name
and application name in the format <instance name>:<application name> for SAP HANA
XS applications

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

188

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Optional

-R, --recursively

Lists alerts recipients recursively starting from the specified level. For example, if only 'ac
count' is passed as an argument, it starts from the account level and then lists all recipi
ents configured on application level.

Default: false
Type: boolean

Example
neo list-alert-recipients -a myaccount -b demo -u p1234567 -R --host
hana.ondemand.com
Sample output:
SAP HANA Cloud Platform Console Client
Password for your user:
Running list-alert-recipients with the following parameters:
account
: myaccount
host
: https://hana.ondemand.com
recursively : true
user
: p1234567
Account-level alert recipients
Recipients not set on account level for account myaccount
application : demo1
alert_recipients@example.com
application : demo2
alert_recipients@example.org, alert_recipients@example.net

Related Information
Monitoring Java Applications [page 1149]
Monitoring Database Systems [page 1164]

1.3.6.4.67 list-application-domains
Lists all domain names on which an application can be accessed.
neo list-application-domains --account <account_name> --application
<application_name> --user <e-mail_or_user> --host <landscape_host>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

189

Parameters
To list all parameters available for this command, execute neo help list-application-domains in the
command line.
Table 122:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string

Example

neo list-application-domains --account myaccount --application myapplication --user


mymail@example.com --host hana.ondemand.com

Related Information
Add the Custom Domain [page 1190]
add-custom-domain [page 99]
Configuring Custom Domains [page 1186]

1.3.6.4.68 list-custom-domain-mappings
Lists custom domains configured as access points for applications in an account.
neo list-custom-domain-mappings --account <account_name> --user <e-mail_or_user> -host <landscape_host>

190

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help list-custom-domain-mappings in the
command line.
Table 123:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example

neo list-custom-domain-mappings --account myaccount --user mymail@example.com -host hana.ondemand.com

Related Information
Configuring Custom Domains [page 1186]

1.3.6.4.69 list-dbms
This command lists the dedicated and shared database management systems available for the specified account
with the following details: database system (for dedicated databases), database type, and database version.
neo list-dbms -a <account_name> -h <landscape_host> -u <e-mail_or_user>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

191

Parameters
Table 124:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string

Example
neo list-dbms -a myaccount -h hanatrial.ondemand.com -u mymail@example.com

Related Information
Example Scenarios [page 811]
Managing Schemas [page 804]

1.3.6.4.70 list-dbs
This command lists all databases for the specified account.
neo list-dbs -a <account_name> -h <landscape_host> -u <e-mail_or_user>

192

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 125:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
Table 126:
Optional

--verbose

Displays additional information about each database: database type and database ver
sion

Default: off
Type: switch, takes no value

Example
neo list-dbs -a myaccount -h hana.ondemand.com -u mymail@example.com

1.3.6.4.71 list-domain-certificates
Use this command to list certificates available for a custom domain.
neo list-domain-certificates --account <account_name> --user <e-mail_or_user> -host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help list-domain-certificates in the
command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

193

Table 127:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example

neo list-domain-certificates --account myaccount --user mymail@example.com --host


hana.ondemand.com

Related Information
upload-domain-certificate [page 256]
delete-domain-certificate [page 133]
Bind the Certificate to the SSL Host [page 1189]

1.3.6.4.72 list-db-tunnel-access-grants
This command lists all current database access permissions for databases in other accounts.
neo list-db-tunnel-access-grants -h <host> -u <user> -a <my account>

Note
The list does not include access permissions that have been revoked.

194

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 128:
Optional
(Optional) Database ID

-i, --id

Lists only the access permissions for the specified database

Type: string

Example
neo list-db-tunnel-access-grants -a myaccount -h hanatrial.ondemand.com -u
mymail@example.com -i mydb
The table below shows the currently active database tunnel access permissions:
Table 129:
Database ID

Granted To

Access Token

myownhana

acmecorp

31t0dpim6rtxa00wx5483vqe7in8i3c1ph
v759w9oqrutf638l

myotherhana

acmetest

vm6431dhjcr2e3dbt0fk6jpzm2w7oo3q4
8yumf1c6uu8b9pt9z

Related Information
revoke-db-tunnel-access [page 222]
grant-db-tunnel-access [page 164]
Providing Access to Databases for Other Accounts [page 853]

1.3.6.4.73 list-ecm-repositories
Returns details and settings of all repositories in the specified account.
Table 130:
Required

-a, --account

Account name
Specify an existing account of which you are already a member.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

195

Required
Use the respective landscape host for your account type.

-h, --host

Type: URL. For acceptable values see Landscape Hosts [page 32]
Use your email, SAP ID, or user name.

-u, --user

Type: string
Table 131:
Optional
To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

-p, --password

Type: string

Example
neo list-ecm-repositories --account acme --host hana.ondemand.com --user
<myemail@example.com>
ExampleRepository
Display name
Description
ID
Application
Virus Scan

:
:
:
:
:

Example Repository
This is an example repository with Virus Scan enabled.
cdb158efd4212fc00726b035
Neo CLI
on

ExampleRepositoryNoVS
Display name
: Example Repository without Virus Scan
Description
: This is an example repository with Virus Scan disabled.
ID
: cdb158efd4212fc00726b035
Application
: Neo CLI
Virus Scan
: off
Number of Repositories: 2

1.3.6.4.74 list-hanaxs-certificates
This command lists identity provider certificates available to productive HANA instances. Optionally, you can
include a part of the certificate <Subject CN> as filter.
neo list-hanaxs-certificates --host <landscape_host> --account <account_name> -user <e-mail_or_user>

Note
Use this command for SAP HANA version SPS09 or lower SPs only.

196

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help list-hanaxs-certificates in the
command line.
Table 132:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Your email, SAP ID, or SCN user name

Type: string
Table 133:
Optional

-cn-string, --containedstring

A part of the certificate CN. If more than one certificate contain this string, all shall be
listed.

Default: none
Type: string (hexadecimal sequence of 2 to 40 characters)

Example
To list all identity provider certificates that contain <John Smith> in their <Subject CN>, execute:
neo list-hanaxs-certificates --host hana.ondemand.com --account myaccount --user
mymail@example.com --contained-string John Smith

1.3.6.4.75 list-jmx-checks
Lists JMX checks.
neo list-jmx-checks -a <account_name> -u <e-mail_or_user>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

197

Parameters
Table 134:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
Table 135:
Optional

-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

Note
If the parameter is not used, all JMX checks used for this account will be listed.

-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Note
If the parameter is not used, the default host is hana.ondemand.com.

-R, --recursively

Lists JMX checks recursively, starting from the specified level. For example, if only 'ac
count' is passed as an argument, it starts from the account level and then lists all checks
configured on application level.

Default: false
Type: boolean

Example
neo list-jmx-checks -a myaccount -b demo -u p1234567 -R -h hana.ondemand.com
Sample output:
SAP HANA Cloud Platform Console Client
Password for your user:
Running list-jmx-check with the following parameters:
account
: myaccount
host
: https://hana.ondemand.com
recursively: true
user
: p1234567
Account-level JMX checks
account
: myaccount
check-name
: JVM Heap Memory Used
object-name
: java.lang:type=Memory

198

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

critical
: 60
attribute
: HeapMemoryUsage
attribute key
: used
warning
: 700000000
critical
: 900000000
unit
: B
Application JMX checks
application
check-name
object-name
attribute
attribute key
warning
critical
unit

:
:
:
:
:
:
:
:

demo
JVM Heap Memory Used
java.lang:type=Memory
HeapMemoryUsage
used
600000000
850000000
B

Related Information
JMX Checks [page 1156]
Monitoring Java Applications [page 1149]

1.3.6.4.76 list-keystores
This command is used to list the available keystores. You can list keystores on account, application, and
subscription levels.

Parameters
To list all parameters available for this command, execute neo help list-keystores in the command line.
Table 136:
Required

-a, --account

Consumer account name


The account for which you provide username and password.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your email, SAP ID or user name

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

199

Table 137:
Optional

-b, --application

Application name

Use --application <consumer_application_name> if the application is


running in your account.

Use --application
<provider_account_name>:<provider_application_name> if the ap
plication is running in another account.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

Example
On Subscription Level
neo list-keystores --account <consumer_account_name> --application
<provider_account_name>:<provider_application_name>
--user <e-mail_or_user> --host hana.ondemand.com
On Application Level
neo list-keystores --account <consumer_account_name> --application
<consumer_application_name>
--user <e-mail_or_user> --host hana.ondemand.com
On Account Level
neo list-keystores --account <consumer_account_name> --user <e-mail_or_user> --host
hana.ondemand.com

Related Information
Keystore Console Commands [page 1248]
Keys and Certificates [page 1246]
Tutorial: Using the Keystore Service for Client Side HTTPS Connections [page 1251]

1.3.6.4.77 list-loggers
This command lists all available loggers with their log levels for your application.
neo list-loggers --account <account_name> --application <application_name> --user
<e-mail_or_user> --host <landscape_host>

200

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help list-loggers in the command line.
Table 138:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

The respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

Password for the specified user. To protect your password, enter it only when prompted
by the console client and not explicitly as a parameter in the properties file or the com
mand line.

Type: string
-u, --user

Your email, SAP ID or user name

Type: string

Example
neo list-loggers --account myaccount --application demo --user p1234567890 --host
hanatrial.ondemand.com

Related Information
Using Logs in the Console Client [page 1134]
Exit Codes [page 262]

1.3.6.4.78 list-logs
This command lists all log files of your application sorted by date in a table format, starting with the latest
modified.
neo list-logs --account <account_name> --application <application_name> --user <email_or_user> --host <landscape_host>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

201

Parameters
To list all parameters available for this command, execute neo help list-logs in the command line.
Table 139:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

The respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

Password for the specified user. To protect your password, enter it only when prompted
by the console client and not explicitly as a parameter in the properties file or the com
mand line.

Type: string
-u, --user

Your email, SAP ID or user name

Type: string

Example
neo list-logs --account myaccount --application demo --user p1234567890 --host
hanatrial.ondemand.com

Related Information
Using Logs in the Console Client [page 1134]
Exit Codes [page 262]

1.3.6.4.79 list-runtimes
The command displays all available application runtime containers.
neo list-runtimes --user <e-mail_or_user> --host <landscape_host>

202

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help list-runtimes in the command line.
Table 140:
Required

-u, --user

Use your email, SAP ID or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Example
neo list-runtimes --user myuser --host hana.ondemand.com

Related Information
list-runtime-versions [page 203]
Choosing Application Runtime Version [page 1101]
Understanding the Runtime Information [page 1117]

1.3.6.4.80 list-runtime-versions
The command displays the supported application runtime container versions for your SAP HANA Cloud Platform
SDK. Only recommended versions are shown by default. You can also list supported version for a particular
runtime container.
neo list-runtime-versions --user <e-mail_or_user> --host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help list-runtime-versions in the
command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

203

Table 141:
Required

-u, --user

Use your email, SAP ID or user name.

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
Table 142:
Optional

--all

Lists all supported application runtime container versions. Using a previously released
runtime version is not recommended.

--runtime

Lists supported version only for the specified runtime container.


For more information, see Application Runtime Container [page 955].

Example

neo list-runtime-versions --user myuser --host hana.ondemand.com --runtime neo-javaweb

Related Information
Choosing Application Runtime Version [page 1101]
Understanding the Runtime Information [page 1117]
list-runtimes [page 202]

1.3.6.4.81 list-schemas
This command lists all schemas contained in the specified account.
neo list-schemas -a <account_name> -h <landscape_host> -u <e-mail_or_user>

204

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 143:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
Table 144:
Optional

--verbose

Displays additional information about each schema: database type and database version

Default: off
Type: switch, takes no value

Example
neo list-schemas -a myaccount -h hanatrial.ondemand.com -u mymail@example.com -verbose

Related Information
Example Scenarios [page 811]
Managing Schemas [page 804]

1.3.6.4.82 list-schema-access-grants
This command lists all current schema access grants for a specified account.
neo list-schema-access-grants --host <landscape_host> --account <account_name> -user <e-mail_or_user>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

205

Note that the list does not include grants that have been revoked.

Parameters
Table 145:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
Table 146:
Optional

-i, --id

Schema ID
Lists only the grants for the specified schema

Type: string

Example

neo list-schema-access-grants --host hanatrial.ondemand.com --account myaccount -user mymail@example.com --id myschema

Related Information
Granting Access to Schemas [page 818]
grant-schema-access [page 165]
revoke-schema-access [page 223]

206

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.83 list-ssl-hosts
Lists SSL hosts for a given account.
neo list-ssl-hosts --account <account_name> --user <e-mail_or_user> --host
<landscape_host>

Parameters
To list all parameters available for this command, execute neo help list-ssl-hosts in the command line.
Table 147:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

Example

neo list-ssl-hosts --account myaccount --user mymail@example.com --host


hana.ondemand.com

Related Information
create-ssl-host [page 124]
Create an SSL Host [page 1187]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

207

1.3.6.4.84 list-subscribed-accounts
Lists all accounts subscribed to a given application.
neo list-subscribed-accounts --account <account_name> --application
<application_name> --user <e-mail_or_user> --host <landscape host>

Parameters
To list all parameters available for this command, execute neo help list-subscribed-accounts in the
command line.
Table 148:
Required

-a, --account

Account name
This is the account of the application provider.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name


To be able to execute this command, the specified user must be a member of the provider
account.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

Example
neo list-subscribed-accounts --account myaccount --application demo --user myuser -host us1.hana.ondemand.com

208

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.85 list-subscribed-applications
Lists all applications to which a given account is subscribed
neo list-subscribed-applications --account <account_name> --user <e-mail_or_user> -host <landscape host>

Parameters
To list all parameters available for this command, execute neo help list-subscribed applications in the
command line.
Table 149:
Required

-a, --account

Account name
This is the account of the applications consumer.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name


To be able to execute this command, the specified user must be a member of the ac
count.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

Example
neo list-subscribed-applications --account consumeraccount --user myuser --host
hana.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

209

1.3.6.4.86 open-db-tunnel
This command opens a database tunnel to the database system associated with the specified schema or
database.

Note
Make sure that you have installed the required tools correctly.
If you face trouble using this command, please check that your installation is correct.
For more information, see Setting Up the Console Client [page 42] and Using the Console Client [page 89].
The command has two modes:
Default mode: The tunnel remains open until you explicitly close it by pressing ENTER in the command line. It
is closed automatically after 24 hours or if the command window is closed.
neo open-db-tunnel -a <account_name> -h <landscape_host> -u <user> -i <schema_ID>
Background mode: The database tunnel is opened in a separate process. Use the close-db-tunnel
command to close the tunnel once you are done, or it is closed automatically after one hour.
neo open-db-tunnel -a <account_name> -h <landscape_host> -u <user> -i
<schema_ID> --background

Parameters
Table 150:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-i, --id

ASE database, HANA database or schema ID

Type: string
--access-token

Identifies a database access permission. The access token and database ID parameters
are mutually exclusive.

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string

210

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 151:
Optional

--background

Opens the tunnel session in a background process

Type: switch, takes no value


--output

Prints information about the tunnel in a special output format.

Acceptable values: 'json'


Type: string

Example
neo open-db-tunnel -a myaccount -h hanatrial.ondemand.com -u mymail@example.com -i
myschema

Related Information
Remote Database Access [page 849]
Opening a Database Tunnel [page 851]
Connecting to SAP HANA Databases via the Eclipse IDE [page 861]
Connecting to SAP HANA Schemas via the Eclipse IDE [page 864]
close-db-tunnel [page 109]
Connecting to the Remote SAP ASE Database [page 858]
Automating the Use of Database Tunnels [page 856]
Machine-Readable Command Output [page 93]
Connecting DB Tools to SAP HANA via Service Channels [page 472]

1.3.6.4.87 put-destination
This command uploads destination configuration properties files and JKS files. You can upload them on account,
application or subscribed application level.
neo put-destination --account <account_name> --user <e-mail_or_user> --localpath
<destination_file_or_JKS_file_localpath> --host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help put-destination in the command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

211

Table 152:
Required

-a,

Your account. The account for which you provide username and password.

--account

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

-b,

The application for which you upload a destination. Cases:

--application

Use --application <myapp> if the application is running in your account.

Use --application <provider_account>:<provider_app> if the ap


plication is running in another account.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h,

The respective landscape host for your account type.

--host

Type: URL, for acceptable values see Landscape Hosts [page 32]

--localpath

The path to a destination or a JKS file on your local file system.

Type: string
-p,
--password

Password for the specified user. To protect your password, enter it only when prompted
by the console client and not explicitly as a parameter in the properties file or the com
mand line.

Type: string

Note
When uploading a destination configuration file that contains a password field, the
password value remains available in the file. However, if you later download this file,
using the get-destination command, the password value will no more be visible.
Instead, after Password =..., you will only see an empty space.

-u,

Your email, SAP ID or user name

--user

Type: string

Examples
To upload a destination on account level, execute:
neo put-destination --account myaccount --user p1234567890 --localpath C:\myfiles
\myconfiguration.jks --host hanatrial.ondemand.com
To upload a destination on application level, execute:
neo put-destination --account myaccount --user p1234567890 --application demo -localpath C:\SDK\tools\samples\connectivity\weather --host hanatrial.ondemand.com
To upload a destination on subscribed application level, execute:
put-destination -h <host> -a <account> -u <user> -b
<provider_account>:<application> --localpath <path to destination file>

212

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Uploading Destinations [page 285]
Exit Codes [page 262]

1.3.6.4.88 reconcile-hanaxs-certificates
This command re-applies all already uploaded certificates to all HANA instances. This command is useful if you
already uploaded certificates to SAP HANA Cloud Platform but uploading failed for some of the HANA instances.

Note
After executing this command, a you need to restart the SAP HANA XS services for it to take effect. See
restart-hana [page 220].

neo reconcile-hanaxs-certificates --host <landscape_host> --account <account_name>


--application <application_name> --user <e-mail_or_user>

Parameters
To list all parameters available for this command, execute neo help reconcile-hanaxs-certificates in
the command line.
Table 153:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

213

Required

-u, --user

Your email, SAP ID, or SCN user name

Type: string

Example
neo reconcile-hanaxs-certificates --host hana.ondemand.com --account myaccont -application myapp --user mymail@example.com

1.3.6.4.89 remove-custom-domain
Removes a custom domain as an access point of an application. Use this command if you no longer want an
application to be accessible on the configured custom domain.
neo remove-custom-domain --account <account_name> --user <e-mail_or_user> --host
<landscape_host> --custom-domain <custom_domain> --ssl-host <ssl_host>

Parameters
To list all parameters available for this command, execute neo help remove-custom-domain in the command
line.
Table 154:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-e, --custom-domain

Custom domain for accessing the application

Type: string (Fully qualified domain name - FQDN)

214

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-l, --ssl-host

SSL host as defined with the --name parameter when created, or 'default' if not speci
fied.

Example
neo remove-custom-domain --account myacc --user mymail@example.com --host
hana.ondemand.com --custom-domain www.example.com --ssl-host mysslhostname

Related Information
add-custom-domain [page 99]
Add the Custom Domain [page 1190]
Configuring Custom Domains [page 1186]

1.3.6.4.90 remove-platform-domain
Removes a platform domain (under hana.ondemand.com) as an access point for an application.
neo remove-platform-domain --account <account_name> --application
<application_name> --user <e-mail_or_user> --host <landscape_host> --platformdomain <platform_domain>

Parameters
To list all parameters available for this command, execute neo help remove-platform-domain in the
command line.
Table 155:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

215

Required

-h, --host

Use the respective landscape host for your account type

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-m, platform-domain

Platform domain under hana.ondemand.com

Type: URL

Example
neo remove-platform-domain --account myacc --application myapp --user myuser -host haha.ondemand.com --platform-domain svc.hana.ondemand.com

Related Information
add-platform-domain [page 101]
Platform Domains [page 1196]

1.3.6.4.91 reset-ecm-key
If you have forgotten the repository key, use this command to request a new repository key.
This command only creates a new key that replaces the old one. You cannot use the old key any longer. The
command does not affect any other repository setting, for example, the virus scan definition. If you just want to
change your current repository key, use the edit-ecm-repository command.
neo reset-ecm-key -- name <repository_name> --account <account_name> --host
<landscape_host> --user <e-mail_or_user>

216

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 156:
Required

-a, --account

Account name
Specify an existing account of which you are already a member.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID, or user name.

Type: string
-n, --name

Name of the repository

Type: string

Example
neo reset-ecm-key --name com.foo.MyRepository --account sap --host
hana.ondemand.com --user p1940248318
This example resets the repository key for the com.foo.MyRepository repository and creates a new repository
key, for example fp0TebRs14rwyqq.

Related Information
edit-ecm-repository [page 156]

1.3.6.4.92 reset-log-levels
This command resets all logger levels to their initial state.
neo reset-log-levels --account <account_name> --application <application_name> -user <e-mail_or_user> --host <landscape_host>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

217

Parameters
To list all parameters available for this command, execute neo help reset-log-levels in the command line.
Table 157:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

The respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

Password for the specified user. To protect your password, enter it only when prompted
by the console client and not explicitly as a parameter in the properties file or the com
mand line.

Type: string
-u, --user

Your email, SAP ID or user name

Type: string

Example
neo reset-log-levels --account myaccount --application demo --user p1234567890 -host hanatrial.ondemand.com

Related Information
Using Logs in the Console Client [page 1134]
Exit Codes [page 262]

1.3.6.4.93 restart
Use this command to restart your application or a single application process. The effect of the restart command is
the same as executing the stop command first and when the application is stopped, starting it with the start
command.
neo restart --account <account_name> --application <application_name> --host
<landscape_host> --user <e-mail_or_user>

218

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

neo restart --application-process-id <ID> --user <e-mail_or_user> --host


<landscape_host>

Parameters
To list all parameters available for this command, execute the neo help restart command.
Table 158:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values, see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 159:
Optional

-y, --synchronous

Triggers the process and waits until the application is restarted. The command without
the --synchronous parameter triggers the restarting process and exits immediately
without waiting for the application to start.

Default:off
Type: switch, takes no value
-i, --applicationprocess-id

Unique ID of a single application process. Use it to restart a particular application process


instead of the whole application. As the process ID is unique, you do not need to specify
account and application parameters. You can list the application process ID by using the
<status> command.

Default: none
Type: string (hexadecimal sequence of 2 to 40 characters)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

219

Example
To restart the whole application and wait for the operation to finish, execute:
neo restart --account myacc --application myapp --user mymail@example.com --host
hana.ondemand.com --synchronous

Related Information
stop [page 244]
status [page 238]
Exit Codes [page 262]

1.3.6.4.94 restart-hana
Restarts an SAP HANA database or an SAP HANA service.

Note
To use this command, log on with a user with administrative rights for the account.

Note
The restart-hana operation will be executed asynchronously. Temporary downtime is expected for SAP
HANA database or SAP HANA XS Engine, including inability to work with SAP HANA studio, SAP HANA Webbased Development Workbench and Cockpit UIs dependent on SAP HANA XS.
This command has two alternative uses:
For restarting the entire SAP HANA database
neo restart-hana --host <landscape_host> --account <account_name> --user <email_or_user> --id <SAP HANA system identifier> --system
For restarting an SAP HANA service
neo restart-hana --host <landscape_host> --account <account_name> --user <email_or_user> --id <SAP HANA system identifier> --service-name <service_name>
After you trigger the command, you can monitor the command execution in SAP HANA Studio, using
Configuration and Monitoring

Open Administration .

Parameters
To list all parameters available for this command, execute neo help restart-hana in the command line.

220

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 160:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the required productive landscape host.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-i, --id

The ID of a productive SAP HANA database system

Note
You can find the SAP HANA database system ID using the list-dbms [page 191] com
mand or in the Databases & Schemas section in the cockpit by navigating to
Persistence

Databases & Schemas

It must start with a letter and can contain uppercase and lowercase letters ('a' - 'z', 'A' 'Z'), numbers ('0' - '9'), and the special characters '.' and '-'.

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Your e-mail, SAP ID, or SCN user name

Type: string
--service-name

--system

The SAP HANA service to be restarted. You can choose between the following values:

xsengine - for restarting the SAP HANA XS service

indexserver - for restarting the SAP HANA index server

If available, the entire SAP HANA database system will be restarted.

Example
To restart the SAP HANA database system with ID myhanaid running on the productive landscape, execute:
neo restart-hana --system --id myhanaid --account myaccount --host
hana.ondemand.com --user mymail@example.com
To restart the SAP XS Engine service on SAP HANA database system with ID myhanaid, execute:
neo restart-hana --service-name xsengine --id myhanaid --account myaccount --host
hana.ondemand.com --user mymail@example.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

221

Related Information
SAP HANA Administration Guide

1.3.6.4.95 revoke-db-tunnel-access
This command revokes database access that has been given to another account.
neo revoke-db-tunnel-access -h <host> -u <user> -a <my account> --access-token
<token>

Parameters
Table 161:
Required

-- access-token

Access token that identifies the permission to access the da


tabase

Type: string
--silent

(optional) Suppresses the command line confirmation prompt

Type: boolean
Table 162:
Optional

--output

Confirmation that the permission for opening the database


tunnel from the other account to the database was success
fully revoked

Type: string

Example
neo revoke-db-tunnel-access -h hanatrial.ondemand.com -u mymail@example.com -a
myaccount --access-token 31t0dpim6rtxa00wx5483vqe7in8i3c1phv759w9oqrutf638l

Related Information
grant-db-tunnel-access [page 164]

222

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Providing Access to Databases for Other Accounts [page 853]

1.3.6.4.96 revoke-schema-access
This command revokes the schema access granted to an application in another account.
neo revoke-schema-access --host <SAP HANA Cloud host> --account <account name> -user <e-mail or user name> --access-token <access token>

Parameters
Table 163:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
--access-token

Access token that identifies the grant. Grants can only be revoked by the granting ac
count.

Example
neo revoke-schema-access --host hanatrial.ondemand.com --account myaccount --user
mymail@example.com --access-token vm6431dhjcr2e3dbt0fk6jpzm2w7oo3q48yumf1c6uu8b9pt9z

Related Information
Revoking Access to Schemas [page 820]
grant-schema-access [page 165]
list-schema-access-grants [page 205]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

223

1.3.6.4.97 rolling-update
The rolling-update command performs update of an application without downtime in one go.

Prerequisites
You have at least one application process that is not in use, see your compute unit quota.
The command can be used with compatible application changes only.
The rolling-update command performs the following steps:
1. Deploys a new version of the application.
2. Starts a new application process.
3. Disables new connection requests for one of the old application processes.
4. Waits for the given timeout.
5. Stops the disabled application process.
6. Repeats steps 2 to 5 for all remaining old application processes.
neo rolling-update --host <landscape_host> --account <account_name> --application
<application_name>
--source <file_location> --user <e-mail_or_user>

Parameters
To list all parameters available for this command, execute neo help rolling-update in the command line.
Table 164:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-s, --source

A comma-separated list of file locations, pointing to WAR files, or folders containing them
If you want to deploy more than one application on one and the same application process,
put all WAR files in the same folder and execute the deployment with this source, or spec
ify them as a comma-separated list.

Type: file location


-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

224

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 165:
Optional

--compression

Enable or disable gzip response compression

Default: off
Possible values: on (allow compression), off (disable compression), force (forces com
pression for all responses) or an integer (which enables compression and specifies the
compression-min-size value in bytes).
For more information, see Enabling and Configuring Gzip Response Compression [page
1104]

--compressible-mimetype

A comma separated list of MIME types for which compression will be used

Default: text/html, text/xml, text/plain


Condition: applicable if compression is enabled

--compression-min-size

Responses bigger than this value get compressed

Condition: applicable if compression is enabled


--connections

The number of connections used to deploy an application. Use it to speed up deployment


of application archives bigger than 5 MB in slow networks. Choose the optimal number of
connections depending on the overall network speed to the cloud.

Default: 2
Acceptable values: 1-6
Type: integer
--ev

Environment variables for configuring the environment in which the application runs.
Sets one environment variable by removing the previously set value; can be used multiple
times in one execution.

Type: --ev <KEY1>=<VALUE1> --ev <KEY2>=<VALUE2> , where a key-value pair speci


fies one environment variable
If you provide a key without any value (--ev <KEY1>=), the ev parameter is ignored.
For a value that contains spaces, use quotation marks.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

225

Optional

-j, --java-version

JRE version

Default: depends on the SAP HANA Cloud Platform SDK


Type: the version number of the JRE 7.
For more information, see Choosing JRE Version [page 1103]

--timeout

Timeout before stopping the old application processes (in seconds)

Default: 60 seconds
-V, --vm-arguments

System properties (-D<name>=<value>) separated with space that will be used when
starting the application process.
Memory settings of your compute units. You can set the following memory parameters: Xms, -Xmx, -XX:PermSize, -XX:MaxPermSize.
We recommend that you use the default memory settings. Change them only if necessary
and note that this may impact the application performance or its ability to start.
For more information, see Configuring VM Arguments [page 1105]

-z, --size

Compute Unit size:


lite, pro, prem, prem-plus
The compute unit size defines the default memory settings.
For more information, see Compute Units [page 959]

Default: lite
--runtime-version

SAP HANA Cloud Platform runtime version on which the application will be started and
will run on the same version after a restart. Otherwise, by default, the application is
started on the latest minor version (of the same major version) which is backward com
patible and includes the latest corrections (including security patches), enhancements,
and updates. Note that choosing this option does not affect already started application
processes.
You can view the recommended versions by executing the list-runtime-versions com
mand.

Note
If you choose your runtime version, consider its expiration date and plan updating to a
new version regularly.
For more information, see Choosing Application Runtime Version [page 1101]

--uri-encoding

Specifies the character encoding used to decode the URI bytes on application request.

Default: ISO-8859-1
For more information, see the encoding sets supported by Java SE 6

and Java SE 7

226

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Example
neo rolling-update --host us1.hana.ondemand.com --account myacc --application myapp
--source samples/deploy_war/example.war
--user mymail@example.com --timeout 5

Related Information
deploy [page 141]
Updating Applications with Zero Downtime [page 1121]

1.3.6.4.98 sdk-upgrade
Use this command to upgrade the SDK that you are currently working with.
neo sdk-upgrade
The command checks for a more recent version of the SDK and then upgrades the SDK. There are two possible
cases:
Your SDK version is up to date and no upgrade is needed.
Your SDK version is not up to date and an upgrade process is triggered.
Then an upgrade of the SDK is triggered. The old SDK is backed up in case something goes wrong with the
upgrade.

Note
All files and servers that you add to your SDK will be preserved during upgrade.

Example
neo sdk-upgrade

1.3.6.4.99 set-alert-recipients
Sets alert recipients.
Setting an alert recipient for a Java application or SAP HANA XS application will trigger sending all alerts for
this application to the configured emails.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

227

Setting an alert recipient on account level will send all alerts for all applications in this account to the
configured emails.
neo set-alert-recipients

Parameters
Table 166:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
-e, --email

Comma separated list of recipient e-mails


We recommend that you use distribution lists rather than personal email addresses. Keep
in mind that you will remain responsible for handling of personal email addresses with re
spect to data privacy regulations applicable.

Type: string
Table 167:
Optional

-b, --application

Application name for Java applications or productive SAP HANA database system, and
application name in the format <database name>:<application name> for SAP HANA XS
applications

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-w--overwrite

Overwrites existing recipients

Default: false
Type: boolean

Example
neo set-alert-recipients -a myaccount -b demo -u p1234567 -e
alert_recipients@example.com --host hana.ondemand.com

228

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Monitoring Java Applications [page 1149]
Monitoring Database Systems [page 1164]

1.3.6.4.100 set-application-property
Use this command to change the value of a single property of a deployed application without the need to redeploy
it. Execute the command separately for each property that you want to set. For the changes to take effect, restart
the application.
To execute the command successfully, you need to to specify the new value of one property from the optional
parameters table below.
neo set-application-property --host <landscape_host> --account <account_name> -application <application_name> --user <e-mail_or_user>
--<property> <new_property_value>

Parameters
To list all parameters available for this command, execute the neo help set-application-property in the
command line.
Table 168:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

229

Table 169:
Optional
Command-specific parameters
Environment variables for configuring the environment in which the application runs.

--ev

Sets the new environment variable without removing the previously set value; can be used
multiple times in one execution.

Type: --ev <KEY1>=<VALUE1> --ev <KEY2>=<VALUE2>, where a key-value pair speci


fies one environment variable.
If you provide a key without any value (--ev <KEY1>=), the environment variable KEY1 will
be deleted.
For a value that contains spaces, use quotation marks.

-j, --java-version

Java Virtual Machine version

Default: depends on the SAP HANA Cloud Platform SDK


Type: the version number of the JRE 7.
(beta) You can use JRE 8 with the Java Web Tomcat 7 runtime (neo-java-web version 2.25
or higher) in accounts enabled for beta features.
For more information, see Choosing JRE Version [page 1103]

-m, --minimum-processes

Minimum number of application processes, on which the application can be started

Default: 1
-M, --maximum-processes

Maximum number of application processes, on which the application can be started

Default: 1
-V, --vm-arguments

Java Virtual Machine arguments


System properties (-D<name>=<value>) separated with space that will be used when
starting the application process.
Memory settings of your compute units. You can set the following memory parameters: Xms, -Xmx, -XX:PermSize, -XX:MaxPermSize.
We recommend that you use the default memory settings. Change them only if necessary
and note that this may impact the application performance or its ability to start.
For more information, see Configuring VM Arguments [page 1105]

-z, --size

Compute unit size

Acceptable values: lite, pro, prem, prem-plus


Default: the smallest size from the account quotas
For more information, see Compute Units [page 959]

230

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Optional

--runtime-version

SAP HANA Cloud Platform runtime version on which the application will be started and
will run on the same version after a restart. Otherwise, by default, the application is
started on the latest minor version (of the same major version) which is backward com
patible and includes the latest corrections (including security patches), enhancements,
and updates. Note that choosing this option does not affect already started application
processes.
You can view the recommended versions by executing the list-runtime-versions com
mand.

Note
If you choose your runtime version, consider its expiration date and plan updating to a
new version regularly.
For more information, see Choosing Application Runtime Version [page 1101]
Tomcat connector attributes

--compression

Enable or disable gzip response compression

Default: off
Possible values: on (allow compression), off (disable compression), force (forces com
pression for all responses) or an integer (which enables compression and specifies the
compression-min-size value in bytes).
For more information, see Enabling and Configuring Gzip Response Compression [page
1104]

--compressible-mimetype

A comma separated list of MIME types for which compression will be used

Default: text/html, text/xml, text/plain


Condition: applicable if compression is enabled

--compression-min-size

Responses bigger than this value get compressed

Condition: applicable if compression is enabled


--connection-timeout

Defines the number of milliseconds to wait for the request URI line to be presented after
accepting a connection.

Default: 20000
--max-threads

Specifies the maximum number of simultaneous requests that can be handled.

Default: 200
--uri-encoding

Specifies the character encoding used to decode the URI bytes on application request.

Default: ISO-8859-1
For more information, see the encoding sets supported by Java SE 6

and Java SE 7

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

231

Example
To change the minimum number of server processes on which you want your deployed application to run,
execute:
neo set-application-property --host hana.ondemand.com --account myacc --application
myapp --user mymail@example.com --minimum-processes 2

Related Information
Updating Application Properties [page 1101]
deploy [page 141]
display-application-properties [page 149]
restart [page 218]
Managing Accounts and Quota [page 17]

1.3.6.4.101 set-db-properties-ase
This command changes the properties for an ASE database.
neo set-db-properties-ase -a <account_name> -h <landscape_host> -u <e-mail_or_user>
-i <database_ID> --db-size <database_size>

Parameters
Table 170:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

232

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-i, --id

ASE database ID

Type: string
--db-size

Size of the database in MB


Specify a size that is greater than the actual size.

Example
neo set-db-properties-ase -a myaccount -h hana.ondemand.com -u mymail@example.com i mydb --db-size dbsize

1.3.6.4.102 set-db-properties-hana
This command changes the properties for a SAP HANA database enabled for multitenant database container
support.
neo set-db-properties-hana -a <account_name> -h <landscape_host> -u <email_or_user> -i <database_ID>

Parameters
Table 171:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-i, --id

HANA database ID

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

233

Table 172:
Optional

--web-access

Enables or disables access to the HANA database from the Internet: 'enabled' (default),
'disabled'

Example
neo set-db-properties-hana -a myaccount -h hana.ondemand.com -u mymail@example.com i mydb

1.3.6.4.103 set-downtime-app
This command configures a custom downtime page (downtime application) for an application. The downtime
page is shown to the user in the event of unplanned downtime of the original application.
neo set-downtime-app --account <account_name> --application <application_name> -host <landscape_host>
--user <e-mail_or_user> --downtime-application <downtime_application_name>

Parameters
To list all parameters available for this command, execute neo help set-downtime-app in the command line.
Table 173:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

234

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

--downtime-application

Downtime application name


The downtime page application is provided by the customer and hosted in the same ac
count as the application itself.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

Example
neo set-downtime-app --account myacc --application myapp --user mymail@example.com
--downtime-application downtimeapp

Related Information
clear-downtime-app [page 108]
Handling Unplanned Downtime [page 1128]

1.3.6.4.104 set-log-level
This command sets a log level for one or multiple loggers.
neo set-log-level --account <account_name> --application <application_name> --user
<e-mail_or_user> --host <landscape_host> --loggers
<logger_name1>,<logger_name2>,... --level <log_level>

Log Level Mapping


Simple Logging Facade for Java (SLF4J) uses the following log levels:
Level

Description

ALL

This level has the lowest possible rank and is intended to turn
on all logging.

TRACE

This level designates finer-grained informational events than


DEBUG.

DEBUG

This level designates fine-grained informational events that


are most useful to debug an application.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

235

Level

Description

INFO

This level designates informational messages that highlight


the progress of the application at coarse-grained level.

WARN

This level designates potentially harmful situations.

ERROR

This level designates error events that might still allow the
application to continue running.

OFF

This level has the highest possible rank and is intended to


turn off logging.

Parameters
To list all parameters available for this command, execute neo help set-log-level in the command line.
Table 174:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-g, --loggers

Single or multiple comma-separated logger names

Type: string
-h, --host

The respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-l, --level

The log level you want to set for the logger(s)

Type: string
-p, --password

Password for the specified user. To protect your password, enter it only when prompted
by the console client and not explicitly as a parameter in the properties file or the com
mand line.

Type: string
-u, --user

Your email, SAP ID or user name

Type: string

236

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Example
neo set-log-level --account myaccount --application demo --user p1234567890 --host
hanatrial.ondemand.com --loggers com.acme.foo,com.acme.bar --level ERROR

Related Information
Using Logs in the Console Client [page 1134]
Exit Codes [page 262]

1.3.6.4.105 set-quota
Sets compute unit quotas for a given account.

Note
The amount you want to set cannot exceed the amount of quota you have purchased. In case you try to set
bigger amount of quota, you will receive an error message.
neo set-quota --account <account_name> --host <landscape_host> --user <email_or_user> --amount <quota_type>:<integer_amount_of_quota>

Parameters
To list all parameters available for this command, execute neo help set-quota in the command line.
Table 175:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

237

Required

-m, --amount

Compute unit quota type and amount of the quota to be set in the format <type>:
[amount].
In this composite parameter, the <type> part is mandatory and must have one of the fol
lowing values: lite, pro, prem, prem-plus. The amount part is optional and must be an inte
ger value. If omitted, a default value 1 is assigned. Do not insert spaces between the two
parts and their delimiter ":", and use lower case for the <type> part.

Type: string

Example
neo set-quota --account myaccount --user myuser --host hana.ondemand.com --amount
lite:2

1.3.6.4.106 status
You can check the current status of an application or application process. The command lists all application
processes with their IDs, state, last change date sorted chronologically, and runtime information.
When an application process is running but cannot receive new connection requests, it is marked as disabled in its
status description. Additionally, if an application is in planned downtime and a maintenance page has been
configured for it, the corresponding application is listed in the command output.
neo status --account <account_name> --application <application_name> --host
<landscape_host> --user <e-mail_or_user>
neo status --application-process-id <ID> --host <landscape_host> --user <email_or_user>

Parameters
To list all parameters available for this command, execute neo help status in the command line.
Table 176:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id

238

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 177:
Optional

-i, --applicationprocess-id

Unique ID of a single application process. Use it to show the status of a particular applica
tion process instead of the whole application. As the process ID is unique, you do not need
to specify account and application parameters.

Default: none
Type: string (hexadecimal sequence of 2 to 40 characters)
--show-full-process-id

Shows the full length (40 characters) of the unique application process ID. You may need
to get the full ID when you try to to execute a certain operation on the application process
and the process cannot be identified uniquely with the short version of the ID. In particu
lar, usage of the full length is recommended for tools and batch processing. If this param
eter is not used, the status command lists only the first 7 characters by default.

Default: off
Type: switch, takes no value

Example
You can list all application processes in your application with their IDs:
neo status --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com
Then, you can request the status of a particular application process from the list using its ID:
neo status --host hana.ondemand.com --application-process-id e8df21d --user
mymail@example.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

239

Related Information
Console Client [page 88]
start [page 240]
disable [page 147]
start-maintenance [page 243]

1.3.6.4.107 start
Starts a deployed application in order to make it available for customers. In case the application is already started,
the command starts an additional application process if the quota for maximum allowed number of application
processes is not exceeded.
neo start --account <account_name> --application <application_name> --user <email_or_user>
--host <landscape_host>

Parameters
To list all parameters available for this command, execute neo help start in the command line.
Table 178:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

240

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 179:
Optional

-y,--synchronous

Triggers the starting process and waits until the application is started. The command
without the --synchronous parameter triggers the starting process and exits immedi
ately without waiting for the application to start.

Default: off
Type: switch, takes no value

Example
To start the application and wait for the operation to finish, execute:
neo start --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com --synchronous

Related Information
Console Client [page 88]
status [page 238]
Scaling Applications [page 1107]

1.3.6.4.108 start-db-hana
This command starts the specified SAP HANA database on a SAP HANA database system enabled for multitenant
database container support.
neo start-db-hana -a <account_name> -h <landscape_host> -u <e-mail_or_user> -i
<database_ID>

Parameters
Table 180:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

241

Required

-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-i, --id

HANA database ID

Type: string

Example
neo start-db-hana -a myaccount -h hana.ondemand.com -u mymail@example.com -i mydb

1.3.6.4.109 start-local
This command starts a local server instance.
neo start-local

Parameters
Table 181:
Optional

-l, --location

Local server installation directory

--shutdown-port

Shutdown port opened by server

Default: 8003
--wait-url

Waits for a 2xx response from the specified URL before exiting

--wait-url-timeout

Seconds to wait for a 2xx response from the wait-url before exiting

Default: 180

242

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Deploying Locally with the Console Client [page 981]

1.3.6.4.110 start-maintenance
This command starts the planned downtime of an application, during which it no longer receives requests and a
custom maintenance page for that application is shown to the user. All active connections will still be handled until
the application is stopped.
neo start-maintenance --account <account_name> --application <application_name> -host <landscape_host>
--user <e-mail_or_user> --maintenance-application <maintenance_application_name>

Parameters
To list all parameters available for this command, execute neo help start-maintenance in the command line.
Table 182:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
--maintenanceapplication

Maintenance page application name


The maintenance page application is provided by the customer and hosted in the same
account as the application itself.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
If an application is already in planed downtime, executing the status command for it will show the maintenance
application, to which the traffic is being redirected.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

243

Example
neo start-maintenance --account myacc --application myapp --user
<mymail@example.com --host hana.ondemand.com --maintenance-application maintapp

Related Information
Using Maintenance Mode for Planned Downtimes [page 1123]
stop-maintenance [page 247]
status [page 238]

1.3.6.4.111 stop
Use this command to stop your deployed and started application or application process.
neo stop --account <account_name> --application <application_name> --user <email_or_user> --host <landscape_host>
neo stop --application-process-id <ID> --user <e-mail_or_user> --host
<landscape_host>

Parameters
To list all parameters available for this command, execute neo help stop in the command line.
Table 183:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

244

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
Table 184:
Optional

-y, --synchronous

Triggers the stopping process and waits until the application is stopped. The command
without the --synchronous parameter triggers the stopping process and exits imme
diately without waiting for the application to stop.

Default: off
Type: switch, takes no value
-i, --applicationprocess-id

Unique ID of a single application process. Use it to stop a particular application process


instead of the whole application. As the process ID is unique, you do not need to specify
account and application parameters. You can list the application process ID by using the
<status> command.

Default: none
Type: string (hexadecimal sequence of 2 to 40 characters)

Example
To stop the whole application and wait for the operation to finish, execute:
neo stop --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com --synchronous

Related Information
Console Client [page 88]
status [page 238]
Exit Codes [page 262]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

245

1.3.6.4.112 stop-db-hana
This command stops the specified SAP HANA database on a SAP HANA database system enabled for multitenant
database container support.
neo stop-db-hana -a <account_name> -h <landscape_host> -u <e-mail_or_user> -i
<database_ID>

Parameters
Table 185:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-i, --id

HANA database ID

Type: string

Example

neo stop-db-hana -a myaccount -h hana.ondemand.com -u mymail@example.com -i mydb

1.3.6.4.113 stop-local
This command stops a local server instance.
neo stop-local

246

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
Table 186:
Optional

--shutdown-port

Shutdown port opened by server

Default: 8003

Related Information
Deploying Locally with the Console Client [page 981]

1.3.6.4.114 stop-maintenance
This command stops the planned downtime of an application, starts traffic to it and deregisters the maintenance
application page.
neo stop-maintenance --account <account_name> --application <application_name> -host <landscape_host>
--user <e-mail_or_user>

Parameters
To list all parameters available for this command, execute neo help stop-maintenance in the command line.
Table 187:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
Condition: Do not specify if your host is https://hana.ondemand.com.
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

247

Required

-u, --user

Use your email, SAP ID or user name

Type: string

Example
neo stop-maintenance --account myacc --application myapp --user <mymail@example.com

Related Information
Using Maintenance Mode for Planned Downtimes [page 1123]
start-maintenance [page 243]

1.3.6.4.115 subscribe
Subscribes the account of the consumer to a provider application. Once the command is executed successfully,
the subscription is visible in the "Subscriptions" panel of the cockpit in the consumer account.
neo subscribe --account <account_name> --application <provider_account:application>
--user <e-mail_or_user> --host <landscape_host>

Remember
You must have the Administrator role in the provider and consumer account to execute this command.

Note
You can subscribe an account to an application that is running in another account only if both accounts
(provider and consumer account) belong to the same landscape.

Parameters
To list all parameters available for this command, execute neo help subscribe in the command line.

248

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 188:
Required

-a, --account

Consumer account
This is the account of the consumer that is to be subscribed.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Provider account and application


This parameter must be specified in the format <provider account >:<provider applica
tion>.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name


To be able to execute this command, the specified user must be a member of both the
provider and the consumer accounts and must possess the Administrator role in those
accounts. The command is not available for trial accounts as the same user cannot be a
member of both accounts.

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Example
neo subscribe --account consumeraccount --application myaccount:myapp --user myuser
--host us1.hana.ondemand.com

Related Information
Managing Subscriptions [page 28]
Subscribing an Account to an Application [page 1162]
unsubscribe [page 255]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

249

1.3.6.4.116 unbind-db
This command unbinds a database from a Java application for a particular data source.
The application retains access to the database until the next application restart. After the restart, the application
will no longer be able to access it.
neo unbind-db -a <account_name> -b <application_name> -h <landscape_host> -u <email_or_user>

Parameters
Table 189:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
Table 190:
Optional

-s, --data-source

Data source name


Default: <DEFAULT>

Example

neo unbind-db -a myaccount -b myapp -h hana.ondemand.com -u mymail@example.com

250

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.117 unbind-domain-certificate
Unbinds a certificate from an SSL host. The certificate will not be deleted from SAP HANA Cloud Platform
storage.
neo unbind-domain-certificate --account <account_name> --user <e-mail_or_user> -host <landscape_host> --ssl-host <ssl_hostname>

Parameters
To list all parameters available for this command, execute neo help unbind-domain-certificate in the
command line.
Table 191:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-l, --ssl-host

SSL host as defined with the --name parameter when created, or 'default' if not speci
fied.

Example
neo unbind-domain-certificate --account myaccount --user mymail@example.com --host
hana.ondemand.com --ssl-host mysslhostname

Related Information
Bind the Certificate to the SSL Host [page 1189]
Updating an Expired Certificate [page 1194]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

251

1.3.6.4.118 unbind-hana-dbms
This command unbinds a productive SAP HANA database system from a Java application for a particular data
source.
The application retains access to the productive SAP HANA database system until the next application restart.
After the restart, the application will no longer be able to access the database system.
neo unbind-hana-dbms -a <account_name> -b <application_name> -h <landscape_host> -u
<e-mail_or_user>

Parameters
Table 192:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
Table 193:
Optional

-s, --data-source

Data source name

Example

neo unbind-hana-dbms -a myaccount -b myapp -h hana.ondemand.com -u


mymail@example.com

252

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
bind-hana-dbms [page 104]

1.3.6.4.119 unbind-schema
This command unbinds a schema from an application for a particular data source.
The application retains access to the schema until the next application restart. After the restart, the application
will no longer be able to access the schema.
neo unbind-schema -a <account_name> -b <application_name> -h <landscape_host> -u <email_or_user>

Parameters
Table 194:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your e-mail, SAP ID, or user name

Type: string
Table 195:
Optional

-s, --data-source

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Data source name

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

253

Example
neo unbind-schema -a myaccount -b myapp -h hanatrial.ondemand.com -u
mymail@example.com -s datasource1

Related Information
Example Scenarios [page 811]
Managing Schemas [page 804]
bind-schema [page 106]

1.3.6.4.120 undeploy
Undeploying an application removes it from SAP HANA Cloud Platform. To undeploy an application, you have to
stop it first.
neo stop --host <landscape_host> --account <account_name> --application
<application_name> --user <e-mail_or_user>
neo undeploy --host <landscape_host> --account <account_name> --application
<application_name> --user <e-mail_or_user>

Parameters
To list all parameters available for this command, execute the neo help undeploy in the command line.
Table 196:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string

254

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Required

-u, --user

Use your email, SAP ID or user name

Type: string

Example
First stop and then undeploy the application.
neo stop --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com
neo undeploy --host hana.ondemand.com --account myacc --application myapp --user
mymail@example.com

Related Information
Console Client [page 88]
stop [page 244]
Exit Codes [page 262]

1.3.6.4.121 unsubscribe
Removes the subscription to a provider application from a consumer account.
neo unsubscribe --account <account_name> --application
<provider_account:application> --user <e-mail_or_user> --host <landscape_host>

Remember
You must have the Administrator role in the provider and consumer account to execute this command.

Parameters
To list all parameters available for this command, execute neo help unsubscribe in the command line.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

255

Table 197:
Required

-a, --account

Account name
This is the account of the consumer that is to be unsubscribed.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-b, --application

Account name of provider account and application name


This parameter must be specified in the format <account name>:<application>.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-u, --user

Use your email, SAP ID or user name


To be able to execute this command, the specified user must be a member of the both the
provider and the consumer accounts.

Type: string
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]

Example
neo unsubscribe --account consumeraccount --application myaccount:myapp --user
myuser --host us1.hana.ondemand.com

Related Information
Managing Subscriptions [page 28]
Providing Multitenant Applications to Tenants for Testing [page 1162]
subscribe [page 248]

1.3.6.4.122 upload-domain-certificate
Uploads an SSL certificate to SAP HANA Cloud Platform. The certificate must be signed using the previously
generated CSR via the generate-csr command.
neo upload-domain-certificate --account <account_name> --user <e-mail_or_user> -host <landscape_host> --name <certificate_name> --location <file_location>

256

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Parameters
To list all parameters available for this command, execute neo help upload-domain-certificate in the
command line.
Table 198:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string
-n, --name

Name of the certificate that you set to the SSL host


The certificate must already be uploaded.

-l, --location

File name containing certificate data


Note that some CAs issue chained root certificates that contain an intermediate certifi
cate. In such cases, put all certificates in the file for upload starting with the signed SSL
certificate.

Example
neo upload-domain-certificate --account myaccount --user mymail@example.com --host
hana.ondemand.com --name myfirstcert --location ./certificate.pub

Related Information
generate-csr [page 161]
Configuring Custom Domains [page 1186]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

257

1.3.6.4.123 upload-hanaxs-certificates
This command uploads and applies identity provider certificates to productive HANA instances running on SAP
HANA Cloud Platform.

Note
After executing this command, a you need to restart the SAP HANA XS services for it to take effect. See
restart-hana [page 220].
neo upload-hanaxs-certificates --host <landscape_host> --account <account_name> -application <application_name> --user <e-mail_or_user> --localpath
<path_to_certificate>

Parameters
To list all parameters available for this command, execute neo help upload-hanaxs-certificates in the
command line.
Table 199:
Required

-a, --account

Account name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-b, --application

Application name

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
Condition: Not required if using --application-process-id
-h, --host

Use the respective landscape host for your account type.

Type: URL. For acceptable values see Landscape Hosts [page 32]
-p, --password

To protect your password, enter it only when prompted by the console client and not ex
plicitly as a parameter in the properties file or the command line.

Type: string
-u, --user

Your email, SAP ID, or SCN user name

Type: string
-l, --localpath

Path to a X.509 certificate or a directory containing certificates on a loca l file system. If


the local path is a directory, all files in it shall be uploaded. You need to restart the HA NA
instances to activate the certificates.

Default: none
Type: string

258

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Example
To upload all certificates from the local C:\Certificates folder, execute:
neo upload-hanaxs-certificates --host hana.ondemand.com --account myaccount -application myapp --user mymail@example.com --localpath C:\Certificates

1.3.6.4.124 upload-keystore
This command is used to upload a keystore by uploading the keystore file. You can upload keystores on account,
application, and subscription levels.

Parameters
To list all parameters available for this command, execute neo help upload-keystore in the command line.
Table 200:
Required

-a, --account

Consumer account name


The account for which you provide username and password.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-h, --host

Use the respective landscape host for your account type.

Type: URL, for acceptable values see Landscape Hosts [page 32]
-l,--location

Path to a keystore file to be uploaded from the local file system. The file extension deter
mines the keystore type. The following extensions are sup
ported: .jks, .jceks, .p12, .pem. For more information about the keystore formats,
see Features [page 1247]

Type: string
-u, --user

Use your email, SAP ID or user name

Type: string

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

259

Table 201:
Optional

-b, --application

Application name

Use --application <consumer_application_name> if the application is


running in your account.

Use --application
<provider_account_name>:<provider_application_name> if the ap
plication is running in another account.

Type: string (up to 30 characters; lowercase letters and numbers, starting with a letter)
-w, --overwrite

Overwrites a file with the same name if such already exists. If you do not explicitly include
the --overwrite argument, you will be notified and asked if you want to overwrite the
file.

Example
On Subscription Level
neo upload-keystore --account <consumer_account_name> --application
<provider_account_name>:<provider_application_name>
--user <e-mail_or_user> --location C:\Keystores\KeyStore1.jks --host
hana.ondemand.com
On Application Level
neo upload-keystore --account <consumer_account_name> --application
<consumer_application_name>
--user <e-mail_or_user> --location C:\Keystores\KeyStore1.jks --host
hana.ondemand.com
On Account Level
neo upload-keystore --account <consumer_account_name> --user <e-mail_or_user>
--location C:\Keystores\KeyStore1.jks --host hana.ondemand.com

Related Information
Keystore Console Commands [page 1248]
Keys and Certificates [page 1246]
Tutorial: Using the Keystore Service for Client Side HTTPS Connections [page 1251]

260

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.3.6.4.125 version
This command is used to list the SDK version and the runtime. It also lists the command versions and the JAR files
in the SDK and checks whether the SDK is up to date.
Use this command to show the SDK version and the runtime. You can use parameters to list the command
versions and the JAR files in the SDK and to check whether the SDK version is up to date.
neo version --commands
neo version --jars
neo version --updates

Parameters
To list all parameters available for this command, execute neo help version in the command line.
Table 202:
Required

-c, --commands

Lists all commands available in the SDK and their versions.

-j, --jars

Lists all JAR files in the SDK and their versions.

-u, --updates

Checks if there are any updates and hot fixes for the SDK and whether the SDK version is
still supported. It also provides the version of the latest available SDK.

Table 203:
Optional

--output <value>

Prints the output in the specified format.

Acceptable values: 'json'


Type: string

Example
To show the SDK version and the runtime, execute:
neo version
To list all available commands and their versions, execute:
neo version -c

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

261

To list all JAR files in the SDK and their versions, execute:
neo version -j
To check whether the SDK is up to date, execute
neo version -u
There are several possible outcomes:
a hot fix is available, you need to update your SDK
your SDK is the latest version available
your SDK is deprecated, you need to update it
your SDK is supported, but it is not the latest version available

Related Information
Machine-Readable Command Output [page 93]

1.3.6.5

Exit Codes

Overview
The exit code is a number that indicates the outcome of a command execution. It shows whether the command
completes successfully or defines an error if something goes wrong during the execution.
When commands are executed as part of automated scripts, the exit codes provide feedback to the scripts, which
allows the script to bypass known errors that can be met during execution. A script can also interact with the user
in order to request additional information required for the script to complete.
All exit codes in SAP HANA Cloud are aligned to the Bash-Scripting Guide. For more information, see Exit Codes
With Special Meanings .

Ranges
The set of exit codes is divided into ranges, based on the error type and the reason.

262

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 204:
Error Type

Start Number

End Number

Count

No error

Common errors

Missing parameters

10

39

30

Parameter validation errors

40

109

70

Authentication and Authoriza 110


tion Errors

126

17

Reserved space for system


errors

127

165

39

Command-specific errors:
frontend

166

209

44

Command-specific errors:
backend

210

254

45

Reserved space for system


errors

255

255

Exit Codes
Exit codes can be defined as general (common for all commands) and command-specific (cover different cases
via different commands).
Table 205:
Code

Meaning

OK

General error

Error during execution of command

Command not found

Misspelled or missing command

Unsupported/Incompatible SDK version

SDK is not compatible with the runtime

Network error

Network problem or missing proxy con


figuration

5-9

Currently not used

Common errors

10

General missing parameter

Missing parameters

11

Missing host name

Missing parameters

12

Missing account name

Missing parameters

13

Missing application name

Missing parameters

14

Missing user name

Missing parameters

15-19

Currently not used

Missing parameters

20-39

Available for use by commands

Missing parameters

40

General parameter is invalid or empty

Validation errors

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Type/Reason

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

263

Code

Meaning

Type/Reason

41

Host name parameter is invalid or empty Validation errors

42

Account name parameter is invalid or


empty

Validation errors

43

Application name parameter is invalid or


empty

Validation errors

44-49

Currently not used

Validation errors

50-109

Available for use by commands

Validation errors

110

Wrong user or password

Authentication and authorization errors

111

General authentication and authoriza


tion error

Authentication and authorization errors

112-114

Currently not used

Authentication and authorization errors

115-126

Available for use by commands

Authentication and authorization errors

127-165

Special exit codes

System-dependent errors

166

General frontend error

Frontend

167 - 209

Available for use by commands

Frontend

210

General backend error

Backend

211 - 254

Available for use by commands

Backend

255

Special exit codes

System-dependent errors

Related Information
Console Client [page 88]

1.4

Services

SAP HANA Cloud Platform provides the following services:


Table 206:
Service

Description

Authorization Management API

The authorization management service REST API provides functionality to manage


roles of your applications and their assignments to users.

Business Services with YaaS [page 942]

You can build business services and Builder modules for YaaS on SAP HANA Cloud
Platform, and then use those services in cloud applications which again can run on
SAP HANA Cloud Platform.

264

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Service

Description

Connectivity Service [page 267]

SAP HANA Cloud Platform connectivity service provides a secure, reliable and
easy-to-consume access to business systems, running either on-premise or in the
cloud. SAP HANA Cloud Platform provides a trusted channel to your business sys
tems while, at the same time, your IT administrator has complete control and audit
ability of what is technically exposed to the on-demand world.

Data Quality Management, microservi

Offers microservices for address cleansing, geocoding, and reverse geocoding. Al

ces for location data (Beta)

lows you to embed address cleansing and enrichment services within any business
process or application so that you can quickly reap the value of complete and accu
rate address data.

Debugging Applications [page 986]

Allows you to inspect a Java application's runtime behavior and state.

Document Service [page 545]

SAP HANA Cloud Platform, document service provides a content repository for un
structured or semi-structured content. Applications access it using the OASIS
standard protocol Content Management Interoperability Services
(CMIS). The applications consume the service using the provided client library.

Feedback Service (Beta) [page 597]

SAP HANA Cloud Platform feedback service provides developers, customers, and
partners with the option to collect end-user feedback for their applications. The
feedback service also delivers detailed text analysis of user sentiment (positive,
negative, or neutral). The feedback service consists of a client API, exposed through
the HTTPS REST protocol, and administration and analysis user interface.
The feedback service is a beta functionality that is available on the SAP HANA
Cloud Platform trial landscape for developer accounts.

Gamification Service [page 615]

The SAP HANA Cloud Platform, gamification service allows the rapid introduction
of gamification concepts into applications. The service includes an online develop
ment and administration environment (gamification workbench) for easy imple
mentation and analysis of gamification concepts. The underlying gamification rule
management provides support for sophisticated gamification concepts, covering
time constraints, complex nested missions and collaborative games. The built-in
analytics module makes it possible to perform advanced analyisis of the player's
behavior to facilitate continuous improvement of game concepts.

Git Service [page 928]

SAP HANA Cloud Platform, Git service allows you to store and version source code
of applications, for example HTML5 and Java applications, in Git repositories.

OData provisioning

OData provisioning is a solution that allows you to consume data from an SAP Busi
ness Suite backend system in SAP HANA Cloud Platform. It establishes a connec
tion between SAP Business Suite data and target clients, platforms, and program
ming framework. OData provisioning exposes business data and business logic as
OData services on SAP HANA Cloud Platform, enabling customers to run user-cen
tric approach on SAP HANA Cloud Platform.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

265

Service

Description

Internet of Things (IoT) Services

The Internet of Things Services are designed to facilitate and support the imple
mentation of Internet of Things applications. The services provide interfaces for
registering devices and their specific data types, sending data to a database run
ning on SAP HANA Cloud Platform in a secure and efficient manner, storing the
data in SAP HANA Cloud Platform as well as provide easy access to the data stored.

Keystore Service [page 1246]

Provides a repository for cryptographic keys and certificates to the applications


hosted on SAP HANA Cloud Platform.

Lifecycle REST API

The lifecycle REST API provides functionality for application lifecycle management.

Monitoring Service [page 703]

The monitoring service REST API enables you to fetch the overall monitoring status
and detailed metric values for your Java applications.

OAuth 2.0 Service [page 1310]

After the OAuth-protected application (resource server) is deployed in SAP HANA


Cloud Platform, configure the OAuth authorizations to define the clients authorized
to access the application and other communication information with them.

Performance Statistics Service (Beta)

Performance statistics enable you to monitor the resources used by your applica

[page 714]

tions and to investigate the causes of performance issues.

Persistence Service [page 720]

SAP HANA Cloud Platform persistence service provides in-memory and relational
persistence. All maintenance activities, such as data replication, backup and recov
ery, are handled by the platform.

Profiling Applications [page 1141]

Using SAP JVM Profiler, you can analyze resource-related problems in your Java
application regardless of whether the JVM is running locally or on the cloud.

Remote Data Sync Service [page 871]

SAP HANA Cloud Platform provides a service for synchronizing huge numbers of
remote databases into a consolidated SAP HANA database in the cloud. This serv
ice is based on SAP SQL Anywhere

and its MobiLink

technology.

To get access to MobiLink, you need to request it by creating an IT/IBC ticket to


component BC-NEO-CON.
SAP Cloud Identity Service

SAP Cloud Identity service is a cloud solution for identity lifecycle management. It
provides services for user login, registration, authentication, and access to SAP
HANA Cloud Platform applications.

SAP Forms as a Service by Adobe

SAP Forms as a Service is a solution for generating print and interactive forms us
ing Adobe Document Services running on SAP HANA Cloud Platform.

SAP HANA Cloud Platform Mobile Serv

SAP HANA Cloud Platform is an open, standard-based cloud platform that enables

ices

simplified mobile application development, configuration, and management.

SAP HANA Cloud Portal

SAP HANA Cloud Portal is a cloud-based solution for easy site creation and con
sumption with a superior user experience. Designed primarily for mobile consump
tion, it runs on top of SAP HANA Cloud and is built to operate with SAP HANA, for
in-memory computing.

266

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Service

Description

SAP Jam

Build socially-infused applications on the SAP HANA Cloud Platform with SAP Jam.
SAP Jam delivers secure, social collaboration that extends across SAP's entire
technology landscape - giving you social capabilities where and when you need
them in your business processes.
For more information, refer to our SAP Jam Developer Guide for HANA Cloud Plat
form.
To get support, visit our SAP Jam community

SAP Document Center

SAP Document Center is a solution that protects your content in an easy-to-use na


tive mobile application, giving users anytime, anywhere access to view, edit, and
collaborate on corporate and personal documents.

SAP Translation Hub (Beta) [page 894]

SAP Translation Hub enables customers and partners to satisfy the demands of a
global market by translating the short texts of products into additional languages.

Note
Beta features and services can be tested with the free developer account, which you can request on http://
hanatrial.ondemand.com.

Note
You should not use SAP HANA Cloud Platform beta features in productive accounts, as any productive use of
the beta functionality is at the customer's own risk, and SAP shall not be liable for errors or damages caused by
the use of beta features.

Related Information
Using Beta Features in Accounts [page 22]
Accessing Services [page 30]

1.4.1 Connectivity Service


Overview
SAP HANA Cloud Platform connectivity service allows SAP HANA Cloud Platform applications to access securely
remote services that run on the Internet or on-premise. This service:
Consists of a Java API that application developers can use to consume remote services.
Allows account-specific configuration of application connections via HTTP and Mail destinations.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

267

Offers a technical connectivity solution, which can be used to establish a secure tunnel from the customer
network to an on-demand application in SAP HANA Cloud Platform. At the same time, the customer IT
department has full control and auditability of what is technically exposed to the on-demand world.
Allows you to make connections to both Java and ABAP on-premise systems.

Table 207:
General Internet
Connectivity

On-Demand to On-Prem
ise Connectivity

Sending and Fetching E-Mail

A company that uses SAP HANA Cloud Platform has been granted an account on the platform to which only
authorized users of the company have access. The company can subscribe applications to its account or deploy
its own applications, and those applications can then be used in this account. The administrator of the cloud
connector can set up a secure tunnel from the customer network to his or her account. The platform ensures that
the tunnel can be only used by the account applications. This means that applications of other accounts have no

268

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

access to the tunnel. The tunnel itself is encrypted via transport layer security so that connection privacy can be
guaranteed.

Features
The connectivity service supports the following protocols relevant for both Java and SAP HANA development:
HTTP Protocol - this protocol enables you to exchange data between your on-demand application and onpremise systems or internet services. For this aim, you can create and configure HTTP destinations to make
the needed Web connections. For on-premise connectivity, you can reach backend systems using the cloud
connector via HTTP.
Mail Protocols - the SMTP protocol allows you to send electronic mail messages from your Web applications
using e-mail providers that are accessible on the Internet, such as Google Mail (Gmail). The IMAP and POP3
allow you to retrieve e-mails from the mailbox of your e-mail account. Applications use the standard
javax.mail API. The e-mail provider and e-mail account are configured using mail destinations.
RFC Protocol - this protocol enables you to invoke ABAP function modules. You can create and configure RFC
destinations as well as make connections to back-end systems using the cloud connector via RFC.

SAP HANA Development


You can create XS destinations for connecting your HANA XS applications to Internet and on-premise services.
For more information, see Consuming the Connectivity Service (HANA XS) [page 421].

Java Development
Use the connectivity service for the following Java scenarios:
Consume a service from the Internet. More information: Consuming Internet Services (Java Web or Java EE 6
Web Profile) [page 348]
Make connections between Web applications and on-premise backend services via HTTP protocol. More
information: Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]
Make connections between Web applications and on-premise backend services via RFC protocol. More
information: Tutorial: Invoking ABAP Function Modules in On-Premise ABAP Systems [page 399]
Establish connections from on-premise systems to SAP HANA Cloud Platform, using the cloud connector.
More information: SAP HANA Cloud Connector [page 434]
Send and fetch e-mails. More information: Sending and Fetching E-Mail [page 408]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

269

Restrictions
For the on-demand to on-premise connectivity scenario, the currently supported protocols are HTTP(S) and
RFC.
Each SAP HANA Cloud Platform account can be connected to one cloud connector only. A single cloud
connector can expose an arbitrary number of back-end systems.
For Internet connections, you are allowed to use any port > 1024. For on-demand to on-premise solutions
there are no port limitations.
You can use destination configuration files with extension .props, .properties, .jks, and .txt, as well as
files with no extension.
If a destination configuration consists of a key store or trust store, it must be stored in JKS files with a
standard .jks extension.
To develop a JCo application, your SDK local runtime needs to be hosted by a 64-bit JVM, on a x86_64
operating system (Microsoft Windows OS, Linux OS, or Mac OS X).
On Windows platforms, you need to install Microsoft Visual C++ 2010 Redistributable Package (x64). To
download this package, go to http://www.microsoft.com/en-us/download/details.aspx?id=14632 .
To check all software and hardware prerequisites for working with cloud connector 2.x, see Prerequisites
[page 437].
You cannot communicate with an e-mail provider via an unencrypted SMTP protocol on port 25.
Fetched e-mail is not scanned for viruses.
Sending e-mail with attachments using javax.activation.DataHandler works with SAP HANA Cloud
Platform SDK for Java EE 6 Web Profile.
Mail destinations can only be configured on application level. That is, configuration on a subscription or
customer account level is not supported.
For SAP HANA Cloud Platform SDK for Java Web and SAP HANA Cloud Platform SDK for Java EE 6 Web
Profile: Applications must use the javax.mail version that is provisioned by the SAP HANA Cloud Platform
runtime (see Connectivity and Destination APIs [page 272]). Applications must not include the javax.mail
library as part of the web archive.

Related Information
Consuming the Connectivity Service (Java) [page 270]
Consuming the Connectivity Service (HANA XS) [page 421]
SAP HANA Cloud Connector [page 434]
Sending and Fetching E-Mail [page 408]
Connectivity Support [page 544]

1.4.1.1

Consuming the Connectivity Service (Java)

In this section, you will learn how to use SAP HANA Cloud Platform connectivity service to connect Web
applications to Internet, make on-demand to on-premise connections to Java and ABAP on-premise systems and
configure destinations to send and fetch e-mail. To do all these tasks, you need to create and configure
destinations, according to the relevant protocol type. For more information, see: Destinations [page 281]

270

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

To learn more how to configure a destination from a particular type, see:


HTTP Destinations [page 322]
RFC Destinations [page 384]
Mail Destinations [page 410]

Who can use it?


The following user groups are involved in the end-to-end use of the connectivity service:
Application developers - develop the SAP HANA Cloud Platform application. They create a connectivityenabled application by using the connectivity service API.
Application operators - access SAP HANA Cloud Platform cockpit and are responsible for productive
deployment and operation of an application. They are also responsible for configuring the remote connections
that an application might need.
IT administrators - set up the connectivity to SAP HANA Cloud Platform in the customer's on-premise
network, using the cloud connector.

Scenarios
Making Internet connections between Web applications and external servers via HTTP protocol: Consuming
Internet Services (Java Web or Java EE 6 Web Profile) [page 348]
Making connections between Web applications and on-premise backend services via HTTP protocol:
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]
Making connections between Web applications and on-premise backend services via RFC protocol: Tutorial:
Invoking ABAP Function Modules in On-Premise ABAP Systems [page 399]
Sending and fetching e-mail via mail protocols: Sending and Fetching E-Mail [page 408]

Tips
The cloud connector provides light and easy way to establish secure connections from on-premise systems to
SAP HANA Cloud Platform accounts. It supports Microsoft Windows OS, Linux OS and Mac OS X operating
systems. For more information, see SAP HANA Cloud Connector [page 434].

Related Information
Connectivity Service [page 267]
Product Prerequisites and Restrictions [page 8]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

271

SAP Java Connector (Standalone Version)

1.4.1.1.1

Connectivity and Destination APIs

Destinations
Destinations are part of the SAP HANA Cloud Platform connectivity service and are used for the outbound
communication from a cloud application to a remote system. They contain the connection details for the remote
communication of an application, which can be configured for each customer to accommodate the specific
customer back-end systems and authentication requirements. For more information, see Destinations [page
281].
Destinations should be used by application developers when they aim to provide applications that:
Integrate with remote services or back-end systems that need to be configured by customers
Integrate with remote services or back-end systems that are located in a fenced environment (that is, behind
firewalls and not publicly accessible)

Tip
HTTP clients created by destination APIs allow parallel usage of HTTP client instances (via class
ThreadSafeClientConnManager).

Connectivity APIs
Package

Description

org.apache.http

http://hc.apache.org

org.apache.http.client

http://hc.apache.org/httpcomponents-client-ga/httpclient/
apidocs/org/apache/http/client/package-summary.html

org.apache.http.util

http://hc.apache.org/httpcomponents-core-ga/httpcore/
apidocs/org/apache/http/util/package-summary.html

javax.mail

https://javamail.java.net/nonav/docs/api/
The SAP HANA Cloud Platform SDK for Java Web uses
version 1.4.1 of javax.mail, the SDK for Java EE 6 Web
Profile uses version 1.4.5 of javax.mail, and the SDK for
Java Web Tomcat 7 uses version 1.4.7 of javax.mail.

272

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Package

Description

com.sap.core.connectivity.api

You can find the Connectivity service API in directory


<SDK_location>/javadoc/com/sap/core/
connectivity/api>.
You can also access it on the following URL: https://
help.hana.ondemand.com/javadoc/index.html

Destination APIs
JavaMail API [page 409]
DestinationFactory API [page 320]
SAP Java Connector API [page 280]
ConnectivityConfiguration API [page 275]
AuthenticationHeaderProvider API [page 277]
Principal Propagation Using HTTP Proxy [page 338]
HttpDestination API and DestinationFactory [page 273]

Destination Configuration Tasks


Configuring Destinations from the Eclipse IDE [page 290]
Configuring Destinations from the Console Client [page 283]
Configuring Destinations from the Cockpit [page 301]

1.4.1.1.1.1 HttpDestination API and DestinationFactory


All connectivity API packages are visible by default from all Web applications. Applications can consume the
destinations via a JNDI lookup

Procedure

Retrieving HTTP Destinations Using HttpDestination API


To consume destinations using HttpDestination API, you need to define your destination as a resource in the
web.xml file.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

273

1. An example of a destination resource named myBackend, which is described in the web.xml file, is as follows:
<resource-ref>
<res-ref-name>myBackend</res-ref-name>
<res-type>com.sap.core.connectivity.api.http.HttpDestination</res-type>
</resource-ref>
2. In your servlet code, you can look up the destination (a HTTP destination in this example) from the JNDI
registry as following:
import javax.naming.Context;
import javax.naming.InitialContext;
import com.sap.core.connectivity.api.http.HttpDestination;
...
// coding to lookup the destination "myBackend"
Context ctx = new InitialContext();
HttpDestination destination = (HttpDestination) ctx.lookup("java:comp/env/
myBackend");

Note
If you want the lookup name to differ from the destination name, you can specify the lookup name in <resref-name> and the destination name in <mapped-name>, as shown in the following example.
<resource-ref>
<res-ref-name>myLookupName</res-ref-name>
<res-type>com.sap.core.connectivity.api.http.HttpDestination</res-type>
<mapped-name>myBackend</mapped-name>
</resource-ref>
3. With the retrieved HTTP destination, you can then, for example, send a simple GET request to the configured
remote system by using the following code:
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.HttpResponse;
...
// coding to call service "myService" on the system configured in the given
destination
HttpClient createHttpClient = destination.createHttpClient();
HttpGet get = new HttpGet("myService");
HttpResponse resp = createHttpClient.execute(get);

Note
If you want to use <res-ref-name>, which contains "/", the name after the last "/" should be the same as
the destination name. For example, you can use <res-ref-name>connectivity/myBackend</resref-name>. In this case, you should use java:comp/env/connectivity/myBackend as a lookup string.
If you want to get the URL of your configured destination, use the URI getURI() method. This method returns
the URL, defined in the destination configuration, converted to URI.

274

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Retrieving HTTP Destinations Using DestinationFactory


As alternative approach how to retrieve an HTTP destination, DestinationFactory can be used. We
recommend this approach if the used destinations are unknown at implementation time and should be loaded
dynamically at runtime.
1. Define the DestinationFactory as a JNDI resource in the web.xml file:
<resource-ref>
<res-ref-name>connectivity/DestinationFactory</res-ref-name>
<res-type>com.sap.core.connectivity.api.DestinationFactory</res-type>
</resource-ref>
2. In your Java code, you can then look it up and use it in following way:
DestinationFactory destinationFactory = (DestinationFactory)
ctx.lookup(DestinationFactory.JNDI_NAME);
destination = (HttpDestination)
destinationFactory.getDestination(destinationName);

Note
If you have two destinations with the same name, one configured on account level and the other on application
level, the getConfiguration() method will return the destination on account level.
The preference order is: subscription level -> account level -> application level.

Related Information
If you need to also add Maven dependencies, take a look at this blog: Building Java Web Applications with Maven

1.4.1.1.1.2 ConnectivityConfiguration API


All connectivity API packages are visible by default from all Web applications. Applications can consume the
connectivity configuration via a JNDI lookup.

Context
Besides making destination configurations, you can also allow your applications to use their own HTTP clients.
The ConnectivityConfiguration API provides you a direct access to the destination configurations of your
applications. This API also:
Can be used independent of the existing destination API so that applications can bring and use their own
HTTP client

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

275

Consists of both a public REST API and a Java client API.


The ConnectivityConfiguration API is supported by all runtimes, including Java Web Tomcat 7. For more
information about runtimes, see Application Runtime Container [page 955].
To learn how to retrieve destination configurations, follow the procedure below.

Procedure
1. To consume connectivity configuration using JNDI, you need to define ConnectivityConfiguration API
as a resource in the web.xml file. An example of a ConnectivityConfiguration resource named
connectivityConfiguration, which is described in the web.xml file, is as follows:
<resource-ref>
<res-ref-name>connectivityConfiguration</res-ref-name>
<restype>com.sap.core.connectivity.api.configuration.ConnectivityConfiguration</restype>
</resource-ref>
2. In your servlet code, you can look up the ConnectivityConfiguration API from the JNDI registry as
following:
import javax.naming.Context;
import javax.naming.InitialContext;
import com.sap.core.connectivity.api.configuration.ConnectivityConfiguration;
...
// look up the connectivity configuration API "connectivityConfiguration"
Context ctx = new InitialContext();
ConnectivityConfiguration configuration = (ConnectivityConfiguration)
ctx.lookup("java:comp/env/connectivityConfiguration");
3. With the retrieved ConnectivityConfiguration API, you can read all properties of any destination defined
on subscription, application or account level.

Note
If you have two destinations with the same name, one configured on account level and the other on
application level, the getConfiguration() method will return the destination on account level. The
preference order is: subscription level -> account level -> application level.
// get destination configuration for "myDestinationName"
DestinationConfiguration destConfiguration =
configuration.getConfiguration("myDestinationName");
// get the "myDestinationName" authentication property (example)
String value = destConfiguration.getProperty("Authentication");
// get all destination properties
Map<String, String> allDestinationPropeties =
destConfiguration.getAllProperties();
4. If truststore and keystore are defined in the corresponding destination, they can be accessed by using
methods getKeyStore and getTrustStore.
// get destination configuration for "myDestinationName"
DestinationConfiguration destConfiguration =
configuration.getConfiguration("myDestinationName");

276

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

// get the configured keystore


KeyStore keyStore = destConfiguration.getKeyStore();
// get the configured truststore
KeyStore trustStore = destConfiguration.getTrustStore();
// create sslcontext
TrustManagerFactory tmf =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(trustStore);
KeyManagerFactory keyManagerFactory =
KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
String keyStorePassword = "myPassword";
keyManagerFactory.init(keyStore, keyStorePassword.toCharArray());
SSLContext sslcontext = SSLContext.getInstance("TLSv1");
sslcontext.init(keyManagerFactory.getKeyManagers(), tmf.getTrustManagers(),
null);
SSLSocketFactory sslSocketFactory = sslcontext.getSocketFactory();
// get the destination URL
String value = destConfiguration.getProperty("URL");
URL url = new URL(value);
// use the sslcontext for url connection
URLConnection urlConnection = url.openConnection();
((HttpsURLConnection) urlConnection).setSSLSocketFactory(sslSocketFactory);
urlConnection.connect();
InputStream in = urlConnection.getInputStream();
...

1.4.1.1.1.3 AuthenticationHeaderProvider API


All connectivity API packages are visible by default from all Web applications. Applications can consume the
authentication header provider via a JNDI lookup.

Context
The AuthenticationHeaderProvider API allows your Web applications to use their own HTTP clients, as it
also provides them with authentication token generation (application-to-application SSO, on-premise SSO). This
API also:
Provides additional helper methods, which facilitate the task to initialize an HTTP client (for example,
authentication method that helps you set headers for application-to-application SSO).
Consists of both a public REST API and a Java client API.
The AuthenticationHeaderProvider API is supported by all runtimes, including Java Web Tomcat 7. For
more information about runtimes, see Application Runtime Container [page 955].

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

277

Procedure

Retrieving Authentication Header Providers


1. To consume the authentication header provider API using JNDI, you need to define
AuthenticationHeaderProvider API as a resource in the web.xml file. An example of a
AuthenticationHeaderProvider resource named myAuthHeaderProvider, which is described in the
web.xml file, is as follows:
<resource-ref>
<res-ref-name>myAuthHeaderProvider</res-ref-name>
<restype>com.sap.core.connectivity.api.authentication.AuthenticationHeaderProvider</
res-type>
</resource-ref>
2. In your servlet code, you can look up the AuthenticationHeaderProvider API from the JNDI registry as
following:
import javax.naming.Context;
import javax.naming.InitialContext;
import com.sap.core.connectivity.api.authentication.AuthenticationHeaderProvider;
...
// look up the connectivity authentication header provider resource called
"myAuthHeaderProvider"
Context ctx = new InitialContext();
AuthenticationHeaderProvider authHeaderProvider = (AuthenticationHeaderProvider)
ctx.lookup("java:comp/env/myAuthHeaderProvider");

Generating Application-to-Application SSO Authentication


The AuthenticationHeaderProvider API can generate authorization header to be used in scenario of
application-to-application communication where the caller needs to propagate its logged in user. Both
applications are deployed on SAP HANA Cloud Platform and consumed within a single account. The header must
be embedded in the request to the target application.

Tip
We recommend that you pack the HTTP client (Apache or other) inside the lib folder of your Web application
archive.
Restrictions:
Principal Propagation must be enabled for the account. For more information, see ID Federation with the
Corporate Identity Provider [page 1292] section "Specifying Custom Local Provider Settings"
Both applications must run on behalf of the same account.

278

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

The receiving application must use SAML2 authentication.

Note
In case you work with Java Web Tomcat 7 runtime: Bear in mind that the following code snippet works
properly only when using Apache HTTP client version 4.1.3. If you use other (higher) versions of Apache HTTP
client, you should adapt your code.

// retrieve the authorization header for application-to-application SSO


AuthenticationHeader appToAppSSOHeader =
authHeaderProvider.getAppToAppSSOHeader(url);
// create an HTTP client and add the header to the request
HttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
request.addHeader(appToAppSSOHeader.getName(), appToAppSSOHeader.getValue());
// execute the request
HttpResponse response = httpClient.execute(request);

Generating On-Premise SSO Authentication


To learn how to generate on-premise SSO authentication, see Principal Propagation Using HTTP Proxy [page
338].

Generating SAPAssertionSSO Headers


SAP HANA Cloud Platform provides support for applications to use the SAML Bearer assertion flow for
consuming OAuth-protected resources. In this way, applications do not need to deal with some of the
complexities of OAuth and can reuse existing identity providers for user data. Users are authenticated by using
SAML against the configured trusted identity providers. The SAML assertion is then used to request an access
token from an OAuth authorization server. This access token should be injected in all HTTP requests to the
OAuth-protected resources.

Tip
he access tokens are cached by AuthenticationHeaderProvider and are auto-renovated. When a token
is about to expire, a new token is created shortly before the expiration of the old one.
The AuthenticationHeaderProvider API provides the following method for generating such headers:
List<AuthenticationHeader>
getOAuth2SAMLBearerAssertionHeaders(DestinationConfiguration
destinationConfiguration);
For more information, see:

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

279

SAP Assertion SSO Authentication [page 326]


SAML Bearer Assertion Authentication [page 329]
https://help.hana.ondemand.com/javadoc/index.html

com.sap.core.connectivity.api.authentication

AuthenticationHeaderProvider

Related Information
HTTP Proxy for On-Premise Connectivity [page 336]

1.4.1.1.1.4 SAP Java Connector API


SAP Java Connector (SAP JCo) is a middleware component that enables you to develop ABAP-compliant
components and applications in Java. SAP JCo supports communication with Application Server ABAP (AS
ABAP) in both directions:
Inbound - Java calls ABAP
Outbound - ABAP calls Java
SAP JCo can be implemented with Desktop applications and Web server applications.
To learn in detail about the SAP JCo API, see SAP Java Connector (Standalone Version).

Note
This documentation contains sections not applicable to SAP HANA Cloud Platform. In particular:
SAP JCo Architecture: CPIC is only used in the last mile from your cloud connector to the backend. From
the cloud to the cloud connector, SSL protected communication is used.
SAP JCo Installation: SAP HANA Cloud Platform already includes all the necessary artifacts.
SAP JCo Customizing and Integration: In SAP HANA Cloud Platform, the integration is already done by the
runtime. You can concentrate on your business application logic.
Server Programming: The programming model of JCo in SAP HANA Cloud Platform does not include
server-side RFC communication.
IDoc Support for External Java Applications: For the time being, there is no IDocLibrary for JCo available in
SAP HANA Cloud Platform.

Related Information
Invoking ABAP Function Modules via RFC Protocol [page 383]

280

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.1.2

Destinations

Overview
Connectivity destinations are part of SAP HANA Cloud Platform connectivity service and are used for the
outbound communication of a cloud application to a remote system. They contain the connection details for the
remote communication of an application. Connectivity destinations are represented by symbolic names that are
used by on-demand applications to refer to remote connections. The connectivity service resolves the destination
at runtime based on the symbolic name provided. The result is an object that contains customer-specific
configuration details, such as the URL of the remote system or service, the authentication type, and the relative
credentials.
You can use destination files with extension .props, .properties, .jks, and .txt, as well as files with no
extension.
The currently supported destination types are HTTP, Mail and RFC.
HTTP destination [page 322] - provides data communication via HTTP protocol and is used for both Internet
and on-premise connections..
Mail destination [page 410]- specifies an e-mail provider for sending and retrieving e-mails via SMTP, IMAP
and POP3 protocols.
RFC destination [page 384] - makes connections to ABAP on-premise systems via RFC protocol using JCo as
API.

Connectivity Destinations Configuration Level (HTTP and RFC)


Destinations can be simultaneously configured on three levels: application, consumer account and subscription.
This means it is possible to have one and the same destination on more than one configuration level.
Application level - The destination is related to an application and its relevant provider account. It is, though,
independent from the consumer account in which the application is running.
Consumer account level - The destination is related to a particular account.
Subscription level - The destination is related to the triad <Application, Provider Account, Consumer
Account>.
The runtime tries to resolve a destination in the following order: Subscription level Consumer account level
Provider application level.
For more information about the usage of consumer account, provider account and provider application, see
Configuring Destinations from the Console Client [page 283].

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

281

Configuring Destinations Using Connectivity Service 2.x


To use the Connectivity service 2.x and the cloud connector 2.x version, the following properties need to be
specified, according to the destination type:
For HTTP destinations, specify property: CloudConnectorVersion = 2
For RFC destinations, specify property: jco.client.cloud_connector_version = 2

Connectivity Destinations Configuration Cache


Destination configuration files and Java keystore (JKS) files are cached at runtime. The cache expiration time
is set to a small time interval (currently around 4 minutes). This means that once you update an existing
destination configuration or a JKS file, the application needs about 4 minutes until the new destination
configuration is applied. To avoid this waiting time, the application can be restarted on the cloud; following the
restart, the new destination configuration takes effect immediately.
When you configure a destination for the first time, it takes effect immediately.
If you change a mail destination, the application needs to be restarted before the new configuration becomes
effective.

How to Configure Destinations


To configure and then use a destination to remotely connect your Java EE or on-demand application, you can use
either of the following methods:
Configuring Destinations from the Eclipse IDE [page 290]
Configuring Destinations from the Cockpit [page 301]
Configuring Destinations from the Console Client [page 283]

Related Information
You can see examples in the SDK package that you previously downloaded from http://
tools.hana.ondemand.com.
Open the SDK location and go to /tools/samples/connectivity. This folder contains a standard
template.properties file, weather destination, and weather.destinations.properties file, which provides all the
necessary properties for uploading the weather destination.

282

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.1.2.1 Configuring Destinations from the Console Client


As an application operator, you can configure your application using SAP HANA Cloud Platform console client.
You can configure HTTP, Mail or RFC destinations using a standard properties file.
The tasks listed below demonstrate how to upload, download, and delete connectivity destinations. You can
perform these operations for destinations related to your own account, a provider account, your own application
or an application provided by another account.
To use an application from another account, you must be subscribed to this application through your account.

Note
Destination files must be encoded in ISO 8859-1 character encoding.

Prerequisites
You have downloaded and set up the console client. For more information, see Setting Up the Console Client
[page 42].
For specific information about all connectivity restrictions, see Connectivity Service [page 267] section
"Restrictions".

HTTP Destination Properties Files


Name - the name of the destination.
URL - the URL of the remote system or service.
Authentication - the type of authentication against the remote system or service.
The number of mandatory property keys varies depending of the authentication type you choose. For more
information about HTTP destination properties files, HTTP Destinations [page 322].
Key stores and trust stores must be stored in JKS files with a standard .jks extension.
If mandatory fields are missing or data is specified incorrectly, you will be prompted accordingly by the console
client.

Mail Destination Properties Files


Name - the name of the destination.
Type - must be "MAIL" for mail destinations.
mail.* - javax.mail properties for configuring the mail session.
For more information about mail destination properties files, see Mail Destinations [page 410].

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

283

If mandatory fields are missing or data is specified incorrectly, you will be prompted accordingly by the console
client.

RFC Destination Properties Files


Name - the name of the destination.
Type - must be "RFC" for RFC destinations.
jco.client* - JCo properties for configuring an RFC connection.
jco.destination* - JCo properties for configuring the behavior of a JCo destination.
All properties except Name and Type must start with "jco.client." or "jco.destination". For more
information about RFC destination properties files, see RFC Destinations [page 384].
If mandatory fields are missing or data is specified incorrectly, you will be prompted accordingly by the console
client.

Tasks
Uploading Destinations [page 285]
Downloading Destinations [page 286]
Deleting Destinations [page 288]

Tutorials with Destinations


Tutorial: Sending E-Mails [page 414]
Consuming Internet Services (Java Web or Java EE 6 Web Profile) [page 348]
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]
Tutorial: Invoking ABAP Function Modules in On-Premise ABAP Systems [page 399]

Related Information
Examples (Console) [page 289]

284

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.1.2.1.1 Uploading Destinations

Context
The procedure below explains how you can upload destination configuration properties files and certificate files.
You can upload them on account, application or subcribed application level.

Note
Bear in mind that, by default, your destinations are configured on SAP HANA Cloud Platform, that is the
hana.ondemand.com landscape. If you need to specify a particular landscape host, you need to add the --host
parameter, as shown in the examples. Otherwise, you can skip this parameter.

Procedure
1. Open the command prompt.
2. Navigate to the tools folder of the SDK location.
3. Optional: Enter neo help to display all the commands of the console client or neo help <command_name>
to display the help information for a command.
4. Upload a destination.
To upload a destination on account level, use the following command:
neo put-destination --account <account_name> --user <user_name> --localpath
<destination_or_JKS_file_localpath> --host <landscape_host>
To upload a destination on application level, use the following command:
neo put-destination --account <account_name> --user <user_name> --application
<application_name> --localpath <destination_or_JKS_file_localpath> --host
<landscape_host>
To upload a destination for a subscribed application, use the following command:
neo put-destination --account <account_name> --user <user_name> --application
<provider_account>:<provider_application> --localpath
<destination_or_JKS_file_localpath> --host <landscape_host>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

285

Tips
Note
When uploading a destination configuration file that contains a password field, the password value remains
available in the file. However, if you later download this file, using the get-destination command, the
password value will no more be visible. Instead, after Password =..., you will only see an empty space.

Note
The configuration parameters used by SAP HANA Cloud Platform console client can be defined in a properties
file as well, instead of being specified directly in the command (with the exception of the -password
parameter, which must be specified when the command is executed). When you use a properties file, enter the
path to it as the last command line parameter.
Example:
neo put-destination <path_to_properties_file>

Related Information
Examples (Console) [page 289]
put-destination [page 211]

1.4.1.1.2.1.2 Downloading Destinations

Context
The procedure below explains how you can download (read) destination configuration properties files and
certificate files. You can download them on account, application or subcribed application level.
You can read destination files with extension .props, .properties, .jks, and .txt, as well as files with no
extension. Destination files must be encoded in ISO 8859-1 character encoding.

Note
Bear in mind that, by default, your destinations are configured on SAP HANA Cloud Platform, that is the
hana.ondemand.com landscape. If you need to specify a particular landscape host, you need to add the --host
parameter, as shown in the examples. Otherwise, you can skip this parameter.

286

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Procedure
1. Open the command prompt.
2. Navigate to the tools folder of the SDK location.
3. Optional: Enter neo help to display all the commands of the console client or neo help <command_name>
to display the help information for a command.
4. Download a destination.
To read a destination on account level, use the following command:
neo get-destination --account <account_name> --user <user_name> --name
<destination_name> --localpath <localpath_to_destination_or_JKS_file> --host
<landscape_host>
To read a destination on application level, use the following command:
neo get-destination --account <account_name> --user <user_name> --application
<application_name> --name <destination_name> --localpath
<localpath_to_destination_or_JKS_file> --host <landscape_host>
To read a destination for a subscribed application, use the following command:
neo get-destination --account <account_name> --user <user_name> --application
<provider_account>:<provider_application> --name <destination_name> -localpath <localpath_to_destination_or_JKS_file> --host <landscape_host>

Tips
Note
If you download a destination configuration file that contains a password field, the password value will not be
visible. Instead, after Password =..., you will only see an empty space. You will need to learn the password in
other ways.

Note
The configuration parameters used by SAP HANA Cloud Platform console client can be defined in a properties
file as well, instead of being specified directly in the command (with the exception of the -password
parameter, which must be specified when the command is executed). When you use a properties file, enter the
path to it as the last command line parameter. A sample weather properties file can be found in directory
<SDK_location>\tools\samples\connectivity.
Example:
neo get-destination <path_to_properties_file>

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

287

Related Information
Examples (Console) [page 289]
put-destination [page 211]

1.4.1.1.2.1.3 Deleting Destinations

Context
The procedure below explains how you can delete destination configuration properties files and certificate files.
You can delete them on account, application or subcribed application level.

Note
Bear in mind that, by default, your destinations are configured on SAP HANA Cloud Platform, that is the
hana.ondemand.com landscape. If you need to specify a particular landscape host, you need to add the --host
parameter, as shown in the examples. Otherwise, you can skip this parameter.

Procedure
1. Open the command prompt.
2. Navigate to the tools folder of the SDK location.
3. Optional: Enter neo help to display all the commands of the console client or neo help <command_name>
to display the help information for a command.
4. Delete a destination.
To delete a destination on account level, use the following command:
neo delete-destination --account <account_name> --user <user_name> --name
<destination_name> --host <landscape_host>
To delete a destination on application level, use the following command:
neo delete-destination --account <account_name> --user <user_name> -application <application_name> --name <destination_name> --host
<landscape_host>
To delete a destination from a subscribed application, use the following command:
neo delete-destination --account <account_name> --user <user_name> -application <provider_account>:<provider_application> --name
<destination_name> --host <landscape_host>

288

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Tips
Note
The configuration parameters used by SAP HANA Cloud Platform console client can be defined in a properties
file as well, instead of being specified directly in the command (with the exception of the -password
parameter, which must be specified when the command is executed). When you use a properties file, enter the
path to it as the last command line parameter.
Example:
neo delete-destination <path_to_properties_file>

Related Information
Examples (Console) [page 289]
delete-destination [page 131]

1.4.1.1.2.1.4 Examples (Console)

Examples for Uploading Destinations


neo put-destination --account myaccount --user p1234567890 --localpath C:\myfiles
\myconfiguration.jks --host hanatrial.ondemand.com
neo put-destination --account myaccount --user p1234567890 --application demo -localpath C:\SDK\tools\samples\connectivity\weather --host hanatrial.ondemand.com
neo put-destination --account myaccount --user p1234567890 --application
otheraccount:remotedemo --localpath C:\SDK\tools\samples\connectivity\weather -host hanatrial.ondemand.com

Examples for Downloading Destinations


neo get-destination --account myaccount --user p1234567890 --name weather -localpath C:\myfiles --host hanatrial.ondemand.com

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

289

neo get-destination --account myaccount -user p1234567890 --application demo --name


myconfiguration.jks --localpath C:\SDK\tools\samples\connectivity --host
hanatrial.ondemand.com
neo get-destination --account myaccount --user p1234567890 --application
otheraccount:remotedemo --name weather --localpath C:\SDK\tools\samples
\connectivity --host hanatrial.ondemand.com

Examples for Deleting Destinations


neo delete-destination --account myaccount --user p1234567890 --name
myconfiguration.jks --host hanatrial.ondemand.com
neo delete-destination --account myaccount --user p1234567890 --application demo -name weather --host hanatrial.ondemand.com
neo delete-destination --account myaccount --user p1234567890 --application
otheraccount:remotedemo --name weather --host hanatrial.ondemand.com

1.4.1.1.2.2 Configuring Destinations from the Eclipse IDE


You can use the Connectivity editor in the Eclipse IDE to configure HTTP, Mail and RFC destinations in order to:
Connect your Web application to the Internet or make it consume an on-premise backend system via
HTTP(S);
Send an e-mail from a simple Web application using an e-mail provider that is accessible on the Internet;
Make your Web application invoke a function module in an on-premise ABAP system via RFC.
You can create, delete and modify destinations to use them for direct connections or export them for further
usage. You can also import destinations from existing files.

Note
Destination files must be encoded in ISO 8859-1 character encoding.

Prerequisites
You have downloaded and set up your Eclipse IDE. For more information, see Installing Java Tools for Eclipse
and SDK [page 33] or Updating Java Tools for Eclipse and SDK [page 43].
You have created a Java EE application. For more information, see Creating a HelloWorld Application [page
47] or Using Java EE 6 Web Profile [page 966].

290

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Tasks
Creating and Deleting Destinations Locally [page 291]
Creating and Deleting Destinations on the Cloud [page 292]
Using Destination Certificates (IDE) [page 294]
Importing Destinations (IDE) [page 295]
Exporting Destinations (IDE) [page 296]

Tutorials with Destinations


Tutorial: Sending E-Mails [page 414]
Consuming Internet Services (Java Web or Java EE 6 Web Profile) [page 348]
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]
Tutorial: Invoking ABAP Function Modules in On-Premise ABAP Systems [page 399]

Related Information
Examples (IDE) [page 298]

1.4.1.1.2.2.1 Creating and Deleting Destinations Locally

Context
The procedure below demonstrates how you can create and configure connectivity destinations (HTTP, Mail or
RFC) on a local SAP HANA Cloud Platform server.

Procedure
1. In the context menu of the Servers view, choose

New

Server .

2. Expand the SAP node and, as a server type, choose between:


Java Web Server
Java Web Tomcat 7 Server

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

291

Java Web Tomcat 8 Server


Java EE 6 Web Profile Server
3. Choose Finish.
4. A new server <name> [Stopped]> appears on the Servers view.
Also, a Servers folder is created and appears in the navigation tree of the Eclipse IDE. It contains configurable
folders and files you can use, for example, to change your HTTP or JMX port.
5. On the Servers view, double-click the added server to open its editor.
6. Go to the Connectivity tab view.
a. In the All Destinations section, choose the

button to create a new destination.

b. From the dialog window, enter a name for your destination, select its type and then choose OK.
c. In the URL field, enter the URL of the target service to which the destination should refer.
d. In the Authentication dropdown box, choose the authentication type required by the target service to
authenticate the calls.
If the target service does not require authentication, choose NoAuthentication.
If the target service requires basic authentication, choose BasicAuthentication. You need to enter a
user name and a password.
If the target service requires a client certificate authentication, choose
ClientCertificateAuthentication. See Using Destination Certificates (IDE) [page 294].
e. Optional: In the Properties or Additional Properties section, choose the
destination properties.

button to specify additional

f. Save the editor.


7. When a new destination is created, the changes take effect immediately.
8. To delete a destination, choose the

button.

Related Information
Examples (IDE) [page 298]
Destinations [page 281]

1.4.1.1.2.2.2 Creating and Deleting Destinations on the Cloud

Context
The procedure below demonstrates how you can create and configure connectivity destinations (HTTP, Mail or
RFC) on SAP HANA Cloud Platform.

292

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Procedure
1. In the context menu of the Servers view, choose

New

Server .

2. Choose SAP HANA Cloud Platform as the type of server you want to create, choose Next, and then Finish.
3. A new server <application>.<account> [Stopped]> appears on the Servers view.
4. Double-click the added server to open the server editor.
5. Go to the Connectivity tab view.
a. In the All Destinations section, choose the

button to create a new destination.

b. From the dialog window, enter a name for your destination, select its type and the choose OK.
c. In the URL field, enter the URL of the target service to which the destination should refer.
d. In the Authentication dropdown box, choose the authentication type required by the target service to
authenticate the calls.
If the target service does not require authentication, choose NoAuthentication.
If the target service requires basic authentication, choose BasicAuthentication. You need to enter a
user name and a password.
If the target service requires a client certificate authentication, choose
ClientCertificateAuthentication. See Using Destination Certificates (IDE) [page 294].
If the target service requires your cloud user authentication, choose PrincipalPropagation. You also
need to select Proxy Type: OnPremise and should enter the additional property
CloudConnectorVersion with value 2.
e. In the Proxy Type dropdown box, choose the required type of proxy connection.

Note
This dropdown box allows you to choose the type of your proxy and is only available when deploying on
SAP HANA Cloud Platform. The default value is Internet. In this case, the destination uses the HTTP
proxy for the outbound communication with the Internet. For consumption of an on-premise target
service, choose the OnPremise option so that the proxy to the SSL tunnel is chosen and the tunnel is
established to the connected cloud connector.
f. Optional: In the Properties or Additional Properties section, choose the
destination properties.

button to specify additional

g. Save the editor. This saves the specified destination configuration in SAP HANA Cloud Platform.
6. When new destinations are created, the changes take effect immediately.

Note
Bear in mind that changes are currently cached with a cache expiration of up to 4 minutes, so if you modify
a destination configuration the changes might not take effect immediately. However, if the relevant Web
application is restarted on the cloud, the destination changes will take effect immediately.
7. To delete a destination, choose the

SAP HANA Cloud Platform


SAP HANA Cloud Platform

button.

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

293

Related Information
Examples (IDE) [page 298]
Destinations [page 281]

1.4.1.1.2.2.3 Using Destination Certificates (IDE)

Prerequisites
You have opened the Connectivity editor in the Eclipse IDE.

Context
You can maintain keystore certificates in the Connectivity editor. You can upload, add and delete certificates for
your connectivity destinations. Bear in mind that:
You can use JKS, PFX and P12 files for destination keystore, and JKS, CRT, CER, DER files for destination
truststore.
You add certificates in a keystore file and then you upload, add, or delete this keystore.
You can add certificates only for HTTPS destinations. Keystore is available only for
ClientCertificateAuthentication.

Procedure
Uploading Certificates
1. Press the Upload/Delete keystore
editor.

button. You can find it in the All Destinations section in the Conectivity

2. Choose Upload Keystore and select the certificate you want to upload. Choose Open or double-click the
ceritificate.
The certificate file is added.

Note
You can upload a certificate during creation or editing of a destination, by choosing Manage Keystore or by
pressing the Upload/Delete keystore

294

button.

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Adding Certificates to Destinations


1. Create a new destination, or open an existing one for editing.
2. In the URL field, enter an HTTPS address.
3. You can use the default JDK truststore or select another one from the truststore dropdown menu. If the menu
is empty, you can upload a certificate on the fly. The password is used for the keystore that will contain your
certificate on the cloud.
4. In the Authentication field, select ClientCertificateAuthentication.
5. In the Keystore name field, select the certificate you just added. Enter the password.

Deleting Certificates

1. Press the Upload/Delete keystore

button.

2. Select the certificate you want to remove and choose Delete Selected
3. Upload another certificate, or close the Manage Keystores window.

Related Information
Creating and Deleting Destinations Locally [page 291]
Creating and Deleting Destinations on the Cloud [page 292]
Importing Destinations (IDE) [page 295]

1.4.1.1.2.2.4 Importing Destinations (IDE)

Prerequisites
You have previously created a connectivity destination (HTTP, Mail or RFC).

Note
The Connectivity editor allows importing destination files with extension .props, .properties, and .txt, as
well as files with no extension. Destination files must be encoded in ISO 8859-1 character encoding.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

295

Procedure
1. On the Servers view, double-click your server to open its editor.
2. Go to the Connectivity tab view.
3. Choose button

(Import destination).

4. Browse to one of the following file types and choose OK.


If the destination does not contain client certificate authentication, it is saved as a single configuration file.
If the destination provides client certificate data, it is saved as an archive, which contains the main
configuration file and a Keystore file.
5. The destination file is imported within the Connectivity editor.

Note
If the properties file contains incorrect properties or values, for example wrong destination type, the editor
only displays the valid ones in the Properties table.

Related Information
Examples (IDE) [page 298]

1.4.1.1.2.2.5 Exporting Destinations (IDE)

Prerequisites
You have imported or created a new destination (HTTP, Mail or RFC) in the Eclipse IDE.

Procedure
1. On the Servers view, double-click your server to open its editor.
2. Go to the Connectivity tab view.
3. From the list of destination names, select the one you want to export.
4. Choose button

(Export destination).

5. Browse to the directory you want to export your destination.


If the destination does not contain client certificate authentication, it is saved as a single configuration file.

296

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

If the destination provides client certificate data, it is saved as an archive, which contains the main
configuration file and a Keystore file.

Tip
You can keep the default name of the destination, or rename it to avoid overriding with previous files with
the same name.

Next Steps
After exporting the destination, you can open it to check its content. Bear in mind that all password fields will be
commented (with # symbols), and their values - deleted.
Example:
#Exported connectivity destination
#The following fields with passwords were removed:
#Password
#Tue Apr 21 15:01:02 FET 2015
Type=HTTP
Authentication=BasicAuthentication
Name=mydestination
URL=https://sap.com/index.html
User=p1234567890

Related Information
Examples (IDE) [page 298]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

297

1.4.1.1.2.2.6 Examples (IDE)

Example of HTTP Destination (Internet)

298

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Example of HTTP Destination (OnPremise)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

299

Example of Mail Destination

Example of RFC Destination

300

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.1.2.3 Configuring Destinations from the Cockpit

Use the Destinations editor in SAP HANA Cloud Platform cockpit to configure HTTP, Mail and RFC destinations in
order to:
Connect your Web application to the Internet or make it consume an on-premise back-end system via
HTTP(S)
Send an e-mail from a simple Web application using an e-mail provider that is accessible on the Internet.
Make your Web application invoke a function module in an on-premise ABAP system via RFC.
You can create, delete, clone, modify, import and export destinations.
Use this editor to work with destinations on subscription, account, and application level.

Note
Destination files must be encoded in ISO 8859-1 character encoding.

Prerequisites
1. You have logged into the cockpit from the SAP HANA Cloud Platform landing page, depending on your
account type. For more information, see Landscape Hosts [page 32].
2. Depending on the level you need to make destination configurations from the Destinations editor, make sure
the following is fulfilled:
Subscription level you need to have at least one application subscribed to your account.
Application level you need to have at least one application deployed on your account.
Account level no prerequisites.
For more information, see Accessing the Destinations Editor [page 302].

Tasks
Creating Destinations (Cockpit) [page 303]
Checking the Availability of a Destination (Cockpit) [page 306]
Importing Destinations (Cockpit) [page 311]
Cloning Destinations (Cockpit) [page 308]
Exporting Destinations (Cockpit) [page 312]
Editing and Deleting Destinations (Cockpit) [page 309]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

301

Tutorials with Destinations


Tutorial: Sending E-Mails [page 414]
Consuming Internet Services (Java Web or Java EE 6 Web Profile) [page 348]
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]
Tutorial: Invoking ABAP Function Modules in On-Premise ABAP Systems [page 399]

Related Information
Examples (Cockpit) [page 313]

1.4.1.1.2.3.1 Accessing the Destinations Editor

Prerequisites
You have logged into the cockpit from the SAP HANA Cloud Platform landing page, depending on your account
type. For more information, see Landscape Hosts [page 32].

Procedure
Access on Subscription Level
1. In the cockpit, select your account name from the Account menu in the breadcrumbs.
2. From the left-side navigation, choose
subscribed Java applications (if any).

Applications

Subscriptions

to open the page with your currently

3. Select the application for which you need to create a destination.


4. From the left-side panel, choose Destinations.

Access on Connectivity Level


1. In the cockpit, select your account name from the Account menu in the breadcrumbs.
2. From the left-side navigation, choose

Connectivity

Destinations .

3. The Destinations editor is opened.

302

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Access on Application Level


1. In the cockpit, select your account name from the Account menu in the breadcrumbs.
2. From the left-side navigation, choose Applications
currently deployed Java Web applications (if any).

Java Applications

to open the page with your

3. Select the application for which you need to create a destination.


4. From the left-side panel, choose

Configuration

Destinations .

5. The Destinations editor is opened.

Related Information
Creating Destinations (Cockpit) [page 303]
Importing Destinations (Cockpit) [page 311]
Editing and Deleting Destinations (Cockpit) [page 309]

1.4.1.1.2.3.2 Creating Destinations (Cockpit)

Prerequisites
You have logged into the cockpit and opened the Destinations editor.

Context
To learn how to create HTTP, RFC and Mail destinations, follow the steps on the relevant pages:
Creating HTTP Destinations [page 304]
Creating RFC Destinations [page 305]
Creating Mail Destinations [page 306]

Related Information
Destinations [page 281]
Examples (Cockpit) [page 313]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

303

1.4.1.1.2.3.2.1 Creating HTTP Destinations

Prerequisites
You have logged into the cockpit and opened the Destinations editor.

Procedure
1. Choose New Destination.
2. Enter a destination name.
3. From the Type dropdown menu, choose HTTP.
4. The Description field is optional.
5. Specify the destination URL.
6. From the Proxy Type dropdown box, select Internet or OnPremise, depending on the connection you need
to provide for your application.
7. Make sure that Cloud Connector Version is set to 2.
8. From the Authentication dropdown box, select the authentication you need for the connection:
No Authentication - your destination will be provided direct access to the relevant on-premise service.
Basic Authentication - you need to enter user/password credentials.
SAPAssertionSSO - you also need to provide parameters: IssuerSID, IssuerClient, RecipientSID,
RecipientClient and, if needed, Certificate.
AppToAppSSO - no additional parameters except for truststore certificate, if needed.
PrincipalPropagation - you must select ProxyType=OnPremise. Otherwise, the destination cannot
be saved.
ClientCertificateAuthentication - you must select ProxyType=Internet, and your destination
URL must be HTTPS. You also need to provide both keystore and truststore parameters.
OAuth2SAMLBearerAssertion - you must select ProxyType=Internet, and you also need to provide
parameters: audience, clientKey, and tokenServiceURL. For more information, see: SAML Bearer
Assertion Authentication [page 329].

Note
If you set an HTTPS destination, you need to also add truststore. For more information, see Using
Destination Certificates (Cockpit) [page 310].
9. Optional: You can enter additional properties.
a. In the Additional Properties panel, choose New Property.
b. Enter a key (name) or choose one from the dropdown menu and specify a value for the property. You can
add as many properties as you need.
c. To delete a property, choose the

304

button next to it.

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

10. When you are ready, choose the Save button.

Related Information
Examples (Cockpit) [page 313]
HTTP Destinations [page 322]
Editing and Deleting Destinations (Cockpit) [page 309]

1.4.1.1.2.3.2.2 Creating RFC Destinations

Prerequisites
You have logged into the cockpit and opened the Destinations editor.

Procedure
1. Choose New Destination.
2. Enter a destination name.
3. From the Type dropdown menu, choose RFC.
4. The Description field is optional.
5. Make sure that Cloud Connector Version is set to 2.
6. Enter credentials for User and Password.
7. Optional: You can enter additional properties.
a. In the Additional Properties panel, choose New Property.
b. Enter a key (name) or choose one from the dropdown menu and specify a value for the property. You can
add as many properties as you need.
c. To delete a property, choose the

button next to it.

If you add PrincipalPropagation as additional property (jco.destination.auth type), your RFC


destination must not contain user and password information. It can, however, contain repository credentials.
8. When you are ready, choose the Save button.

Related Information
Examples (Cockpit) [page 313]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

305

RFC Destinations [page 384]


Editing and Deleting Destinations (Cockpit) [page 309]

1.4.1.1.2.3.2.3 Creating Mail Destinations

Prerequisites
You have logged into the cockpit and opened the Destinations editor.

Procedure
1. Choose New Destination.
2. Enter a destination name.
3. From the Type dropdown menu, choose MAIL.
4. The Description field is optional.
5. Enter credentials for User and Password.
6. Optional: You can enter additional properties.
a. In the Additional Properties panel, choose New Property.
b. Enter a key (name) or choose one from the dropdown menu and specify a value for the property. You can
add as many properties as you need.
c. To delete a property, choose the

button next to it.

7. When you are ready, choose the Save button.

Related Information
Examples (Cockpit) [page 313]
Mail Destinations [page 410]
Editing and Deleting Destinations (Cockpit) [page 309]

1.4.1.1.2.3.3 Checking the Availability of a Destination


(Cockpit)

306

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Prerequisites
You have logged into the cockpit and opened the Destinations editor.

Context
You can use the Check Connection button in the Destinations editor of the cockpit to verify if the URL configured
for a HTTP Destination is reachable and if the connection to the specified system is possible.

Note
This check is available with cloud connector version 2.7.1 or higher.
For each destination, the check button is available in the destination detail view and in the destination overview list
(icon Check availability of destination connection in section Actions).

Note
The check does not guarantee that a backend is operational. It only verifies if a connection to the backend is
possible.
This check is supported only for destinations with Proxy Type Internet and OnPremise:
For Internet destinations:
If the check receives a HTTP status code above or equal to 500 from the targeted URL, the check is
considered failed.
Every HTTP status code below 500 is treated as successful.
For OnPremise destinations:
If the targeted backend is reached and returns a HTTP status code below 500 the check is considered
successful.

Error Messages for OnPremise Destinations

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

307

Table 208:
Error Message

Reason

Backend status could not be determined.

The cloud connector version is less

Action

Upgrade the cloud connector to ver

Connect the cloud connector to the


corresponding account.

Check the server status (availabil


ity) of the backend system.

sion 2.7.1 or higher.

than 2.7.1.

The cloud connector is not con


nected to the account.

The backend returns a HTTP status


code above or equal to 500 (server
error).

The SCC is not configured properly.

Check the basic SCC configuration


steps: Initial Configuration [page 459]

The SCC is not configured properly.

Check the basic SCC configuration


steps: Initial Configuration [page 459]

Backend is not reachable from cloud

SCC configuration is ok but the backend

Check the backend (server) availability.

connector.

is not reachable.

Backend is not available in the list of de


fined system mappings in cloud
connector.
Resource is not accessible in cloud
connector or backend is not reachable.

1.4.1.1.2.3.4 Cloning Destinations (Cockpit)

Prerequisites
You have previously created or imported a connectivity destination (HTTP, Mail or RFC ) in the Destinations editor
of the cockpit.

Procedure
1. In the Destinations editor, go to the existing destination which you want to clone.
2. Choose the

icon.

3. The editor automatically creates and opens a new destination that contains all the properties of the selected
one.
4. You can modify some parameters if you need.
5. When you are ready, choose the Save button.

308

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Examples (Cockpit) [page 313]
Exporting Destinations (Cockpit) [page 312]

1.4.1.1.2.3.5 Editing and Deleting Destinations (Cockpit)

Prerequisites
You have previously created or imported a connectivity destination (HTTP, Mail or RFC) in the Destinations editor
of the cockpit.

Procedure
Edit a destination:
1. To edit a created/imported destination, choose the

button.

2. You can edit the main parameters as well as the additional properties of a destination.
3. Choose the Save button. The changes will take effect in up to five minutes.

Tip
For complete consistency, we recommend that you first stop your application, then apply your
destination changes, and then start again the application. Also, bear in mind that these steps will cause
application downtime.
Delete a destination:
To remove an existing destination, choose the

button. The changes will take effect in up to five minutes.

Related Information
Examples (Cockpit) [page 313]
Exporting Destinations (Cockpit) [page 312]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

309

1.4.1.1.2.3.6 Using Destination Certificates (Cockpit)

Prerequisites
You have logged into the cockpit and opened the Destinations editor. For more information, see Accessing the
Destinations Editor [page 302].

Context
This page explains how you can maintain truststore and keystore certificates in the Destinations editor. You can
upload, add and delete certificates for your connectivity destinations. Bear in mind that:
You can only use JKS, PFX and P12 files for destination key store, and JKS, CRT, CER, DER for destination
trust store.
You can add certificates only for HTTPS destinations. Truststore can be used for all authentication types.
Keystore is available only for ClientCertificateAuthentication.

Procedure
Uploading Certificates
1. Choose the Certificates button.
2. Choose Upload Certificate.
3. Browse to the certificate file you need to upload.
The certificate file is added.

Note
You can upload a certificate during creation or editing of a destination, by clicking the Upload and Delete
Certificates link.

Adding Certificates to Destinations


1. Create a new destination, or open an existing one for editing.
2. In the URL field, enter an HTTPS address.
3. You can use the default JDK truststore or select another one from the dropdown menu. If the menu is empty,
you can upload a certificate on the fly. To omit this property, you can set TrustAll=true.

310

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

4. If you choose Authentication = ClientCertificateAuthentication, you need to also provide a keystore.

Deleting Certificates
1. Choose the Certificates button or click the Upload and Delete Certificates link.
2. Select the certificate you want to remove and choose Delete Selected.
3. Upload another certificate, or close the Certificates window.

Related Information
Creating Destinations (Cockpit) [page 303]
Importing Destinations (Cockpit) [page 311]
Editing and Deleting Destinations (Cockpit) [page 309]

1.4.1.1.2.3.7 Importing Destinations (Cockpit)

Prerequisites
You have previously created a connectivity destination (HTTP, Mail or RFC).

Note
The Destinations editor allows importing destination files with extension .props, .properties, .jks,
and .txt, as well as files with no extension. Destination files must be encoded in ISO 8859-1 character
encoding.

Procedure
1. Log into the cockpit and open the Destinations editor.
2. Choose Import from File.
3. Browse to a configuration file that contains destination configuration.
If the configuration file contains valid data, it is displayed in the Destinations editor with no errors. The
Save button is enabled so that you can successfully save the imported destination.
If the configuration file contains invalid properties or values, under the relevant fields in the Destinations
editor are displayed error messages in red which prompt you to correct them accordingly.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

311

Related Information
Examples (Cockpit) [page 313]
Editing and Deleting Destinations (Cockpit) [page 309]

1.4.1.1.2.3.8 Exporting Destinations (Cockpit)

Prerequisites
You have created a connectivity destination (HTTP, Mail or RFC) in the Destinations editor.

Procedure
1. Log into the cockpit and open the Destinations editor.
2. Select a destination and choose the

button.

3. Browse to the location on your local file system where you want to save the new destination.
If the destination does not contain client certificate authentication, it is saved as a single configuration file.
If the destination provides client certificate data, it is saved as an archive, which contains the main
configuration file and a JKS file.

Related Information
Examples (Cockpit) [page 313]
Editing and Deleting Destinations (Cockpit) [page 309]

312

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.1.2.3.9 Examples (Cockpit)

Example of HTTP Destination (Internet, Client Certificate Authentication)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

313

Example of HTTP Destination (Internet, OAuth2SAMLBearerAssertion)

314

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Example of HTTP Destination (On-Premise)

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

315

Example of Mail Destination

316

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Example of RFC Destination

The following main properties correspond to the relevant additional properties:


User jco.client.user
Password jco.client.passwd
Repository password jco.destination.repository.passwd

Note
For security reasons, do not use these additional properties but use the corresponding main properties' fields.

Related Information
HTTP Destinations [page 322]
RFC Destinations [page 384]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

317

Mail Destinations [page 410]

1.4.1.1.3

Principal Propagation

Overview
The connectivity service provides a secure way of forwarding the identity of an on-demand user to the cloud
connector, and from there to the back end of the relevant on-premise system. This process is called principal
propagation. It uses SAML tokens as the exchange format for the user information. User mapping takes place in
the back end and, in this way, either the token is forwarded directly to the back end or an X.509 certificate is
generated, which is then used in the back end.

Restriction
This authentication is only applicable if you want to connect to your on-premise system via the cloud
connector.

How It Works
Table 209:
Process in Steps

Steps Description
1.

The user authenticates at the Web application front end via the IdP using a
standard SAML Web SSO profile. When the back-end connection is established
by the Web application, the destination service (re)uses the received SAML as
sertion to create the connection to the on-premise system.

2. The cloud connector validates the received SAML assertion for a second time,
extracts the attributes, and uses its STS component to issue a new token (an X.

509 certificate) with the same/similar attributes to assert the identity to the
back end.
3. The cloud connector and the Web application(s) share the same SP identity, that
is, the trust is only set up once in the IdP.

Using the PrincipalPropagation Property in Destinations


You can create and configure connectivity destinations making use of the PrincipalPropagation property in the
Eclipse IDE and in the cockpit. Bear in mind that this property is only available for destination configurations
created on the cloud.

318

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Creating and Deleting Destinations on the Cloud [page 292] (procedure and examples)
Creating Destinations (Cockpit) [page 303] (procedure and examples)

Tasks
Configuring Principal Propagation to an ABAP System for HTTPS [page 488]
Configuring Principal Propagation to an ABAP System for RFC [page 492]
Configuring Subject Pattern for Principal Propagation [page 494]

Related Information
Setting Up Trust [page 480]
Principal Propagation Authentication [page 328]

1.4.1.1.4

Exchanging Data via HTTP Protocol

Consuming Connectivity via HTTP


Call an Internet service using a simple application that queries some information from a public service:
Consuming Internet Services (Java Web or Java EE 6 Web Profile) [page 348]
Consuming Internet Services (Java Web Tomcat 7) [page 355]
Call a service from a fenced customer network using a simple application that consumes an on-premise ping
service:
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]
Consuming Back-End Systems (Java Web Tomcat 7) [page 372]

Configuring Connectivity via HTTP


Configure an application using destinations:
Configuring Destinations from the Eclipse IDE [page 290]
Configuring Destinations from the Console Client [page 283]
Configuring Destinations from the Cockpit [page 301]
Configure connectivity between a customer system and an on-demand application. You need to install the
cloud connector in your internal network and then configure it to expose an on-premise service. For more
information, see Installing the Cloud Connector [page 436].

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

319

Connecting to On-Premise Back-End Services


You can consume on-premise back-end services in two ways via HTTP destinations and via the HTTP Proxy. For
more information, see:
HTTP Destinations [page 322]
HTTP Proxy for On-Premise Connectivity [page 336]

Connecting to a Local Host


To create a loopback connection, you can use the dedicated HTTP port bound to localhost. The port number can
be obtained from the cloud environment variable HC_LOCAL_HTTP_PORT.
For more information, see Using Cloud Environment Variables [page 970] section "List of Environment
Variables".

Note
Note that when deploying locally from the Eclipse IDE or the console client, the HTTP port may differ.

Related Information
Tutorial: Using the Keystore Service for Client Side HTTPS Connections [page 1251]

1.4.1.1.4.1 DestinationFactory API

Overview
By default, all connectivity API packages are visible from all Web applications. In this classical case, applications
can consume the destinations via a JNDI lookup. For more information, see Connectivity and Destination APIs
[page 272].
There are specific cases though, when the destination names are not known in advance and cannot be defined in
the web.xml file. This is relevant to HTTP destinations and you need to use Destination Factory JNDI lookup
(com.sap.core.connectivity.api.DestinationFactory). To do this, follow the procedure below.

320

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Caution
If you use SDK for Java Web, we only recommend that you create a destination before deploying the
application.
If you use SDK for Java EE 6 Web Profile, you must create a destination before deploying the application.
If you use SDK for Java Web Tomcat 7, the DestinationFactory API is not supported. Instead, you can
use ConnectivityConfiguration API [page 275].

Tip
When you know in advance the names of all destinations you need, you should better use destinations.
Otherwise, we recommend using DestinationFactory.

Procedure
To look up the destination factory using JNDI, follow the steps:
1. Define a reference in the web.xml file:
<resource-ref>
<res-ref-name>connectivity/DestinationFactory</res-ref-name>
<res-type>com.sap.core.connectivity.api.DestinationFactory</res-type>
</resource-ref>
2. Use the following code in order to look it up:
import com.sap.core.connectivity.api.DestinationFactory;
import com.sap.core.connectivity.api.http.HttpDestination
...
Context ctx = new InitialContext();
DestinationFactory destinationFactory
=(DestinationFactory)ctx.lookup(DestinationFactory.JNDI_NAME);
HttpDestination destination = (HttpDestination)
destinationFactory.getDestination("myBackend");
3. With the retrieved HTTP destination, you can then, for example, send a simple GET request to the configured
remote system by using the following code:
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.HttpResponse;
...
// coding to call service "myService" on the system configured in the given
destination
HttpClient createHttpClient = destination.createHttpClient();
HttpGet get = new HttpGet("myService");
HttpResponse resp = createHttpClient.execute(get);

Related Information
Connectivity and Destination APIs [page 272]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

321

1.4.1.1.4.2 HTTP Destinations

Overview
The HTTP destinations provide data communication via HTTP protocol and is used for both Internet and onpremise connections.

HTTP Destination Properties


The runtime tries to resolve a destination in the order: Subscription Level Account Level Application Level. By
using the optional "DestinationProvider" property, a destination can be limited to application level only, that
is, the runtime tries to resolve the destination on application level.
Table 210:
Property

Description

DestinationProvider

Restricts destination to application level. If the property is


specified, the destination will be searched on the application
level only. By default, destinations are searched on all configu
ration levels.

Note
If you use Java Web Tomcat 7 runtime container, the DestinationProvider property is not supported.
Instead, you can use AuthenticationHeaderProvider API [page 277].

Example
Name=weather
Type=HTTP
Authentication=NoAuthentication
DestinationProvider=Application

Supported Proxy Types for Connectivity


The proxy types supported by SAP HANA Cloud connectivity service are:
Internet - The application can connect to an external REST or SOAP service on the Internet.
OnPremise - The application can connect to an on-premise back-end system through the cloud connector.
The proxy type used for a destination must be specified by the destination property ProxyType. The property's
default value (if not configured explicitly) is Internet.

322

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Setting Proxy Types for SAP HANA Cloud Local Runtime


If you work in your local development environment behind a proxy server and want to use a service from the
Internet, you need to configure your proxy settings on JVM level. To do this, proceed as follows:
1. On the Servers view, double-click the added server and choose Overview to open the editor.
2. Click the Open Launch Configuration link.
3. Choose the (x)=Arguments tab page.
4. In the VM Arguments box, add the following row:
-Dhttp.proxyHost=yourproxyHost -Dhttp.proxyPort=yourProxyPort Dhttps.proxyHost=yourproxyHost -Dhttps.proxyPort=yourProxyPort
5. Choose OK.
6. Start/restart your SAP HANA Cloud local runtime.
For more information and example, see Consuming Internet Services (Java Web or Java EE 6 Web Profile) [page
348].

Setting Proxy Types for SAP HANA Cloud


When using the Internet proxy type, you do not need to perform any additional configuration steps.
When using the OnPremise proxy type, you configure the setting the standard way through the Connectivity
editor in the Eclipse IDE.
For more information and example, see Consuming Back-End Systems (Java Web or Java EE 6 Web Profile)
[page 362].

Configuring Authentication
When creating an HTTP destination, you can use different authentication types for access control::
Server Certificate Authentication [page 323]
SAP Assertion SSO Authentication [page 326]
Principal Propagation Authentication [page 328]
SAML Bearer Assertion Authentication [page 329]
Application-to-Application SSO Authentication [page 332]
Client Authentication Types for HTTP Destinations [page 334]

1.4.1.1.4.2.1 Server Certificate Authentication

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

323

Context
The server certificate authentication is applicable for all client authentication types, described below.

Properties

Table 211:
Property

Description

TrustStoreLocation

Path to the JKS file which contains trusted certificates (Certificate Authorities) for

1.

When used in local environment

2. When used in cloud environment

authentication against a remote client.


1.

The relative path to the JKS file. The root path is the server's location on the file
system.

2. The name of the JKS file.

Note
The default JDK truststore is appended to the truststore defined in the destina
tion configuration. As a result, the destination simultaneously uses both trust
stores. If the TrustStoreLocation property is not specified, the JDK trust
store is used as a default truststore for the destination.

TrustStorePassword

Password for the JKS trust store file. This property is mandatory in case
TrustStoreLocation is used.

TrustAll

If this property is set to TRUE in the destination, the server certificate will not be
checked for SSL connections. It is intended for test scenarios only, and should not
be used in production (since the SSL server certificate is not checked, the server is
not authenticated). The possible values are TRUE or FALSE; the default value is

FALSE (that is, if the property is not present at all).


In case TrustAll = TRUE, the TrustStoreLocation property is ignored so
you can omit it.
In case <TrustAll> = FALSE, the <TrustStoreLocation> property is manda
tory to be used.

324

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Property

Description

HostnameVerifier

Optional property. It has two values: Strict and BrowserCompatible. This


property specifies how the server hostname matches the names stored inside the
server's X.509 certificate. This verifying process is only applied if TLS or SSL proto
cols are used and is not applied if the TrustAll property is specified. The default
value (used if no value is explicitly specified) is Strict.

Strict HostnameVerifier works in the same way as Oracle Java 1.4,


Oracle Java 5, and Oracle Java 6-rc. It is also similar to Microsoft Internet Ex
plorer 6. This implementation appears to be compliant with RFC 2818 for deal
ing with wildcards. A wildcard such as "*.foo.com" matches only subdomains
at the same level, for example "a.foo.com". It does not match deeper subdo
mains such as "a.b.foo.com".

BrowserCompatible HostnameVerifier works in the same way as


Curl and Mozilla Firefox. The hostname must match either the first common
name (CN) or any of the subject-alts. A wildcard can occur in the CN and in any
of the subject-alts.

The only difference between BrowserCompatible and Strict is that a wild


card (such as ".foo.com") with BrowserCompatible matches all subdomains,
including "a.b.foo.com".
For more information about these Java classes, see Package
org.apache.http.conn.ssl

In case <TrustAll> = TRUE, the <HostnameVerifier> property is ignored so


you can omit it.

Note
You can upload TrustStore JKS files using the same command for uploading destination configuration property
file - you only need to specify the JKS file instead of the destination configuration file.

Note
Connections to remote services which require Java Cryptography Extension (JCE) unlimited strength
jurisdiction policy are not supported.

Configuration
Configuring Destinations from the Cockpit [page 301]
Configuring Destinations from the Eclipse IDE [page 290]
Configuring Destinations from the Console Client [page 283]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

325

Related Information
Client Authentication Types for HTTP Destinations [page 334]

1.4.1.1.4.2.2 SAP Assertion SSO Authentication

Context
By default, all SAP systems accept SAP assertion tickets for user propagation.

Note
The SAP assertion ticket is a special type of logon ticket. For more information, see SAP Logon Tickets and
Logon Using Tickets.
The aim of the SAPAssertionSSO destination is to generate such an assertion ticket in order to propagate the
currently logged-on SAP HANA Cloud Platform user to an SAP back-end system. You can only use this
authentication type if the user IDs on both sides are the same. The following diagram shows the elements of the
configuration process on the SAP HANA Cloud Platform and in the corresponding back-end system:

326

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Configuration Steps
1. Configure the back-end system so that it can accept SAP assertion tickets signed by a trusted x.509 key pair.
For more information, see Configuring a Trust Relationship for SAP Assertion Tickets.
2. Create and configure a SAPAssertionSSO destination by using the properties listed below, and deploy it on
SAP HANA Cloud Platform.
Configuring Destinations from the Cockpit [page 301]
Configuring Destinations from the Console Client [page 283]

Note
Configuring SAPAssertionSSO destinations from the Eclipse IDE is not yet supported.

Properties
The following credentials need to be specified:
Property

Description

Name

Destination name. It must be the same as the destination


name you use for the configuration tools, that is, the console
client and Destinations editor (cockpit).

Type

Destination type. Use HTTP for all HTTP(S) destination.

URL

URL of the protected resource on the called application

Authentication

Authentication type. Use SAPAssertionSSO as a value.

IssuerSID

This system ID should be trusted by the back-end system.

IssuerClient

This client ID should be trusted by the back-end system.

RecipientSID

System ID (SID) of the back-end system

RecipientClient

Client ID of the back-end system

Certificate

A base64 encoded certificate that is trusted by the SAP


system

SigningKey

A base64 encoded signing/private key that is trusted by the


SAP system

SystemUser

Optional property.

If specified, all SAP assertion tickets are generated with


the specified user ID.

If not specified, all SAP assertion tickets are sent on


behalf of the currently logged-on user.

Thus, if the current user needs to be propagated, do not use


this property.

ProxyType

SAP HANA Cloud Platform


SAP HANA Cloud Platform

You can use both proxy types Internet and OnPremise.

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

327

Example
Name=weather
Type=HTTP
Authentication=SAPAssertionSSO
IssuerSID=JAV
IssuerClient=000
RecipientSID=SAP
RecipientClient=100
Certificate=MIICiDCCAkegAwI...rvHTQ\=\=
SigningKey=MIIBSwIB...RuqNKGA\=

1.4.1.1.4.2.3 Principal Propagation Authentication

Context
The aim of the PrincipalPropagation destination is to forward the identity of an on-demand user to the cloud
connector, and from there to the back-end of the relevant on-premise system. In this way, the on-demand user
will no longer need to provide his/her identity every time he/she makes a connection to an on-premise system via
the same cloud connector.

Configuration Steps
You can create and configure a PrincipalPropagation destination by using the properties listed below, and deploy it
on SAP HANA Cloud Platform. For more information, see:
Configuring Destinations from the Cockpit [page 301]
Configuring Destinations from the Eclipse IDE [page 290]
Configuring Destinations from the Console Client [page 283]

Note
This property is only available for destination configurations created on the cloud.

328

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Properties
The following credentials need to be specified:
Property

Description

Name

Destination name. It must be the same as the destination


name you use in the configuration tools, that is, Connectivity
editor (Eclipse IDE), Destinations editor (cockpit), and the
console client.

Type

Destination type. Use HTTP for all HTTP(S) destinations.

URL

Virtual URL of the protected on-premise application.

Authentication

Authentication type. Use PrincipalPropagation as a


value.

ProxyType

You can only use proxy type OnPremise.

Example
Name=OnPremiseDestination
Type=HTTP
URL= http://virtualhost:80
Authentication=PrincipalPropagation
ProxyType=OnPremise

Related Information
Principal Propagation [page 318]

1.4.1.1.4.2.4 SAML Bearer Assertion Authentication

Context
SAP HANA Cloud Platform provides support for applications to use the SAML Bearer assertion flow for
consuming OAuth-protected resources. In this way, applications do not need to deal with some of the
complexities of OAuth and can reuse existing identity providers for user data. Users are authenticated by using
SAML against the configured trusted identity providers. The SAML assertion is then used to request an access
token from an OAuth authorization server. This access token is automatically injected in all HTTP requests to the
OAuth-protected resources.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

329

Tip
he access tokens are auto-renovated. When a token is about to expire, a new token is created shortly before
the expiration of the old one.

Configuration Steps
You can create and configure an OAuth2SAMLBearerAssertion destination by using the properties listed below,
and deploy it on SAP HANA Cloud Platform. For more information, see:
Configuring Destinations from the Cockpit [page 301]
Configuring Destinations from the Console Client [page 283]

Note
Configuring OAuth2SAMLBearerAssertion destinations from the Eclipse IDE is not yet supported.

Properties
The table below lists the destination properties needed for OAuth2SAMLBearerAssertion authentication type. The
values for these properties should be found in the documentation of the particular provider of OAuth-protected
services. Usually, only a subset of the optional properties are required by a particular service provider.
Table 212:
Property

Description

Required

Name

Destination name. It must be the same as the destination


name you use for the configuration tools, that is, the console
client and Destinations editor (cockpit).

Type

Destination type. Use HTTP as a value for all HTTP(S) desti


nations.
URL of the protected resource on the called application

URL
ProxyType

You can only use proxy type Internet. Authentication type


OAuth2SAMLBearerAssertion is not supported with proxy
type OnPremise.

Authentication

Authentication type. Use OAuth2SAMLBearerAssertion


as a value.

audience

Intended audience for the assertion, which will be verified by


the OAuth authorization server

clientKey

Key that identifies the consumer to the authorization server

tokenServiceURL

URL of the OAuth server

330

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Property

Description

tokenServiceUser

User for basic authentication to OAuth server (if required)

tokenServicePassword

Password for tokenServiceUser (if required)

Additional

SystemUser

User to be used when requesting access token from the


OAuth authorization server. If this property is not specified,
the currently logged-in user will be used.

nameQualifier

Security domain of the user for which access token will be re


quested

companyId

Company identifier

assertionIssuer

Issuer of the SAML assertion

authnContextClassRef

Value of the AuthnContextClassRef tag, which is part of


generated OAuth2SAMLBearerAssertion authentica
tion. For more information, see SAML 2.0 specification

nameIdFormat

Value of the NameIdFormat tag, which is part of generated

OAuth2SAMLBearerAssertion authentication. For


more information, see SAML 2.0 specification

userIdSource

When this property is set, the generated SAML2 assertion


uses the currently logged-in user as a value for the NameId
tag.

Note
When the OAuth authorization server is called, it accepts the trust settings of the destination. For more
information, see Server Certificate Authentication [page 323].

Example
The connectivity destination below provides HTTP access to the OData API of SuccessFactors Jam.
URL=https://demo.sapjam.com/OData/OData.svc
Name=sap_jam_odata
TrustAll=true
ProxyType=Internet
Type=HTTP
Authentication=OAuth2SAMLBearerAssertion
tokenServiceURL=https://demo.sapjam.com/api/v1/auth/token
clientKey=Aa1Bb2Cc3DdEe4F5GHIJ
audience=cubetree.com
nameQualifier=www.successfactors.com

Related Information
Creating HTTP Destinations [page 304]
Examples (Cockpit) [page 313]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

331

1.4.1.1.4.2.5 Application-to-Application SSO Authentication

Context
The AppToAppSSO destinations are used in scenario of application-to-application communication where the
caller needs to propagate its logged in user. Both applications are deployed on SAP HANA Cloud Platform.

Configuration Steps
1. Configure your account to allow principal propagation. For more information, see ID Federation with the
Corporate Identity Provider [page 1292] section "Specifying Custom Local Provider Settings".

Note
This setting is done per account, which means that once set to Enabled all applications within the account
will accept user propagation.
2. Create and configure an AppToAppSSO destination by using the properties listed below, and deploy it on SAP
HANA Cloud Platform. For more information, see:
Configuring Destinations from the Cockpit [page 301]
Configuring Destinations from the Console Client [page 283]

Note
Configuring AppToAppSSO destinations from the Eclipse IDE is not yet supported.

Properties
The following credentials need to be specified:
Table 213:
Property

Description

Name

Destination name. It must be the same as the destination


name you use for the configuration tools, that is, the console
client and Destinations editor (cockpit).

Type

Destination type. Use HTTP as a value for all HTTP(S) desti


nations.

Authentication

Authentication type. Use AppToAppSSO as a value.

URL

URL of the protected resource on the called application

332

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Property

Description

SessionCookieNames

Optional.
The AppToApp authentication module will use it to recognize
the user session which improves the performance of the
HTTP client.

Note
In case that a session cookie name has a variable part you
can specify it as a regular expression.
You can specify more than one session cookie name as
comma separated list:
Example:

JSESSIONID, JTENANTSESSIONID_.*,
CookieName, Cookie*Name, CookieName.*

Note
The spaces after comma are optional.
If several cookies are listed, the session is recognized as soon
as all of them are available in the response from the server.

Note
Recommended value for the target Java app on HCP is:

JTENANTSESSIONID_.*, and for the HANA XS app is:


xsId.*.
saml2_audience

Specifies a local SAML 2.0 provider name of the account


which consumes the target application.

Note
If not specified, both applications must be consumed in the
same account.

Example
#
#Wed Jan 13 12:25:47 UTC 2016
Name=apptapp
URL=https://someurl.com
ProxyType=Internet
Type=HTTP
SessionCookieNames=JTENANTSESSIONID_.*
Authentication=AppToAppSSO

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

333

Related Information
Server Certificate Authentication [page 323]
HTTP Proxy for On-Premise Connectivity [page 336]
AuthenticationHeaderProvider API [page 277]

1.4.1.1.4.2.6 Client Authentication Types for HTTP


Destinations

Context
This section lists the supported client authentication types and the relevant supported properties.

No Authentication
This is used for destinations that refer to a service on the Internet or an on-premise system that does not require
authentication. The relevant property value is:
Table 214:

Authentication=NoAuthentication

Note
When a destination is using HTTPS protocol to connect to a Web resource, the JDK truststore is used as
truststore for the destination.

Basic Authentication
This is used for destinations that refer to a service on the Internet or an on-premise system that requires basic
authentication. The relevant property value is:
Table 215:

Authentication=BasicAuthentication
The following credentials need to be specified:

334

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Table 216:
Property

Description

User

User name

Password

Password

Preemptive

If this property is not set or is set to TRUE (that is, the default behavior is to use
preemptive sending), the authentication token is sent preemptively. Otherwise, it
relies on the challenge from the server (401 HTTP code). The default value (used if
no value is explicitly specified) is TRUE. For more information about preemptive
ness, see http://tools.ietf.org/html/rfc2617#section-3.3

Note
When a destination is using HTTPS protocol to connect to a Web resource, the JDK truststore is used as
truststore for the destination.

Client Certificate Authentication


This is used for destinations that refer to a service on the Internet. The relevant property value is:
Table 217:

Authentication=ClientCertificateAuthentication
The following credentials need to be specified:
Table 218:
Property

Description

KeyStoreLocation

Path to the JKS file that contains the client certificate(s) for authentication against

1.

When used in local environment

2. When used in cloud environment

a remote server.
1.

The relative path to the JKS file. The root path is the server's location on the file
system.

2. The name of the JKS file.

KeyStorePassword

The password for the key storage. This property is mandatory in case

KeyStoreLocation is used.

Note
You can upload KeyStore JKS files using the same command for uploading destination configuration property
file - you only need to specify the JKS file instead of the destination configuration file.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

335

Configuration
Configuring Destinations from the Cockpit [page 301]
Configuring Destinations from the Eclipse IDE [page 290]
Configuring Destinations from the Console Client [page 283]

Related Information
Server Certificate Authentication [page 323]

1.4.1.1.4.3 HTTP Proxy for On-Premise Connectivity

Overview
Connectivity service provides a standard HTTP Proxy for on-premise connectivity to be accessible by any
application. Proxy host and port are available as the environment variables HC_OP_HTTP_PROXY_HOST and
HC_OP_HTTP_PROXY_PORT.

Note
The HTTP Proxy provides a more flexible way to use on-premise connectivity via standard HTTP clients. It
is not suitable for other protocols, such as RFC or Mail. HTTPS requests will not work as well.
The previous alternative, that is, using on-premise connectivity via existing HTTP Destination API, is still
supported. For more information, see DestinationFactory API [page 320].

Multitenancy Support
By default, all applications are started in multitenant mode. Such applications are responsible to propagate
consumer accounts to the HTTP Proxy, using header SAP-Connectivity-ConsumerAccount. This header is
mandatory during the first request of each HTTP connection. HTTP connections are associated with one
consumer account and cannot be used with another account.. If the SAP-Connectivity-ConsumerAccount
header is sent after the first request, and its value is different than the value in the first request, the Proxy will
return HTTP response code 400.
If an application VM is started for one consumer account, this account is known by the HTTP Proxy and the
application may not send the SAP-Connectivity-ConsumerAccount header.

336

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Using the Proxy on Multi-Tenant VMs


On multitenant VMs, applications are responsible to propagate consumer account via SAP-ConnectivityConsumerAccount header. The following example shows how this can be performed.
// TenantContex instance injection. It is used to get the consumer account name.
@Resource
public TenantContext tenantContext;
...
String proxyHost = System.getenv("HC_OP_HTTP_PROXY_HOST");
int proxyPort = Integer.parseInt(System.getenv("HC_OP_HTTP_PROXY_PORT"));
// set up the on-premise HTTP Proxy
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, new
HttpHost(proxyHost, proxyPort));
// insert the necessary headers in the request
HttpGet request = new HttpGet("http://virtualhost:1234");
request.addHeader("SAP-Connectivity-ConsumerAccount",
tenantContext.getTenant().getAccount().getId());
// execute the request
HttpResponse response = httpClient.execute(request);

Using the Proxy on Single-Tenant VMs


On single-tenant VMs, the consumer account is known and account propagation via header is not needed. The
following example demonstrates this case.
String proxyHost = System.getenv("HC_OP_HTTP_PROXY_HOST");
int proxyPort = Integer.parseInt(System.getenv("HC_OP_HTTP_PROXY_PORT"));
// create HTTP client and insert the necessary headers in the request
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, new
HttpHost(proxyHost, proxyPort));
HttpGet request = new HttpGet("http://virtualhost:1234");
// execute the request
HttpResponse response = httpClient.execute(request);

Related Information
Connectivity and Destination APIs [page 272]
Principal Propagation Using HTTP Proxy [page 338]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

337

1.4.1.1.4.3.1 Principal Propagation Using HTTP Proxy

Context
The HTTP Proxy can forward the identity of an on-demand user to the cloud connector, and from there to the
back-end of the relevant on-premise system. In this way, on-demand users will no longer need to provide their
identity every time they make connections to on-premise systems via one and the same cloud connector. To
propagate the logged-in user, an application must use the AuthenticationHeaderProvider API to generate a
header, which then embeds in the HTTP request to the on-premise system.

Restrictions
IDPs used by applications protected by SAML2 have to be denoted as trustworthy for the cloud connector.
Non-SAML2 protected applications have to be denoted themselves as trustworthy for the cloud connector.

Example

String proxyHost = System.getenv("HC_OP_HTTP_PROXY_HOST");


int proxyPort = Integer.parseInt(System.getenv("HC_OP_HTTP_PROXY_PORT"));
String account = System.getenv("HC_ACCOUNT");
// setup the on-premise HTTP proxy
HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, new
HttpHost(proxyHost, proxyPort));
// look up the connectivity authentication header provider resource called
"authHeaderProvider" (must be defined in web.xml)
Context ctx = new InitialContext();
AuthenticationHeaderProvider authHeaderProvider = (AuthenticationHeaderProvider)
ctx.lookup("java:comp/env/authHeaderProvider");
// get header for principal propagation
AuthenticationHeader principalPropagationHeader =
authHeaderProvider.getPrincipalPropagationHeader();
//insert the necessary headers in the request
HttpGet request = new HttpGet("http://virtualhost:1234");
request.addHeader(principalPropagationHeader.getName(),
principalPropagationHeader.getValue());
request.addHeader("SAP-Connectivity-ConsumerAccount", account);
// execute the request
HttpResponse response = httpClient.execute(request);

338

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Note
You can also apply dependency injection by using the @Resource annotation.

Related Information
AuthenticationHeaderProvider API [page 277]
HTTP Proxy for On-Premise Connectivity [page 336]

1.4.1.1.4.4 Configuring the Cloud Connector for HTTP

Overview
This section helps you to configure your cloud connector when you are working via the HTTP protocol.

Related Information
Initial Configuration (HTTP) [page 339]
Configuring Access Control (HTTP) [page 341]

1.4.1.1.4.4.1 Initial Configuration (HTTP)

Installation of a System Certificate for Mutual Authentication


In order to setup a mutual authentication between the cloud connector and any back-end system it connects to,
you can import an X.509 client certificate into the cloud connector. The cloud connector will then use the socalled "system certificate" for all HTTPS requests to back-ends that request or require a client certificate. This
means, that the CA, which signed the cloud connector's client certificate, needs to be trusted by all back-end
systems to which the cloud connector is supposed to connect.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

339

This system certificate needs to be provided as PKCS#12 file containing the client certificate, the corresponding
private key and the CA root certificate that signed the client certificate (plus potentially the certificates of any
intermediate CAs, if the certificate chain is longer than 2). Via the file upload dialog, this PKCS#12 file can be
chosen from the file system, and its password also needs to be supplied for the import process.
As of version 2.6.0, there is a second option - starting a Certificate Signing Request procedure, similar to
the UI certificate described in Exchanging UI Certificates [page 456].

340

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

If a system certificate has been imported successfully, its distinguished name, the name of the issuer, and the
validity dates are displayed:

If a system certificate is no longer required it can be deleted. To do this, use the respective button and confirm
deletion. If you need the public key for establishing trust with a server, you can simply export the full chain via the
Export button.

Related Information
Configuring Access Control (HTTP) [page 341]

1.4.1.1.4.4.2 Configuring Access Control (HTTP)


Exposing Intranet Systems
To allow your on-demand applications to access a certain back-end system on the intranet, you need to insert an
extra line into the cloud connector access control management.
1. Go to the Access Control tab page.
2. Choose Add. A wizard will open and ask for the required values.
3. Back-end Type: Select the description that best matches the addressed back-end system. This is important
mainly for metering information: tunnel connections to any kind of SAP system are free of charge, while using

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

341

the tunnel for connecting to a non-SAP system costs a fee. Furthermore, it will define, which steps the wizard
will offer and which values are possible.

4. Protocol: This field allows you to decide whether the cloud connector should use HTTP or HTTPS for the
connection to the back-end system. Note that this is completely independent from the setting on cloud side.
Thus, even if the HTTP destination on cloud side specifies "http://" in its URL, you can select HTTPS. This
way, you are ensured that the entire connection from the on-demand application to the actual back-end
system (provided through the SSL tunnel) is SSL-encrypted. The only prerequisite is that the back-end
system supports HTTPS on that port. For more information, see Initial Configuration (HTTP) [page 339].
If you specify HTTPS and there is a "system certificate" imported in the cloud connector, the latter
attempts to use that certificate for performing a client-certificate-based login to the back-end system.
If there is no system certificate imported, the cloud connector opens an HTTPS connection without client
certificate.

5. Internal Host and Internal Port specify the actual host and port under which the target system can be reached
within the intranet. It needs to be an existing network address that can be resolved on the intranet and has
network visibility for the cloud connector without any proxy. cloud connector will try to forward the request to
the network address specified by the internal host and port, so this address needs to be real.

342

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

6. Virtual Host specifies the host name exactly as it is specified as the URL property in the HTTP destination
configuration in SAP HANA Cloud Platform. The virtual host can be a fake name and does not need to exist.
The Virtual Port allows you to distinguish between different entry points of your back-end system, for
example, HTTP/80 and HTTPS/443, and have different sets of access control settings for them. For example,
some non-critical resources may be accessed by HTTP, while some other critical resources are to be called
using HTTPS only. The fields will be pre-populated with the values of the Internal Host and Internal Port. In
case you don't modify them, you will need to provide your internal host and port also in the cloud side
destination configuration or in the URL used for your favorite HTTP client.

7. Principal Type defines what kind of principal is used when configuring a destination on the cloud side using
this system mapping with authentication type Principal Propagation. Regardless of what you choose,
you need to make sure that the general configuration for the principal type has been done to make it work
correctly. For destinations using different authentication types, this setting is ignored. If you choose None as
principal type, it is not possible to use principal propagation to this system.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

343

8. You can enter an optional description at this stage. The respective description will be shown as a rich tooltip
when the mouse hovers over the entries of the virtual host column (table Mapping Virtual to Internal System).

9. The summary shows information about the system to be stored and when saving the host mapping, you can
trigger a ping from the cloud connector to the internal host, using the Check availability of internal host check
box. This allows you to make sure the cloud connector can indeed access the internal system, and allows you
to catch basic things, such as spelling mistakes or firewall problems between the cloud connector and the
internal host. If the ping to the internal host is successful, the cloud connector saves the mapping without any
remark. If it fails, a warning will pop up, that the host is not reachable. Details for the reason are available in
the log files. You can execute such a check at any time later for all selected systems in the Access Control
overview.

10. Optional: You can later edit such a system mapping (via Edit) to make the cloud connector route the requests
for sales-system.cloud:443 to a different back-end system. This can be useful if the system is currently
down and there is a back-up system that can serve these requests in the meantime. However, you cannot edit
the virtual name of this system mapping. If you want to use a different fictional host name in your on-demand
application, you will need to delete the mapping and create a new one.

344

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Limiting the Accessible Services for HTTP(S)


In addition to allowing access to a particular host and port, you also need to specify which URL paths (Resources)
are allowed to be invoked on that host. The cloud connector uses very strict white-lists for its access control, so
only those URLs for which you explicitly granted access are allowed. All other HTTP(S) requests are denied by the
cloud connector.
To define the permitted URLs (Resources) for a particular back-end system, choose the line corresponding to that
back-end system. A dialog appears prompting you to enter the specific URL path that you want to allow to be
invoked.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

345

The cloud connector checks that the path part of the URL (up to but not including a possible question mark (?)
that may denote the start of optional CGI-style query parameters) is exactly as specified in the configuration. If it
is not, the request is denied. If you select option Path and all sub-paths, the cloud connector allows all requests for
which the URL path (not considering any query parameters) begins with the specified string.
The Enabled checkbox allows you to specify, whether that resource shall initially be enabled or disabled. (See the
following section for an explanation of enabled/disabled resources.)

Enabling/Disabling Resources On-the-Fly


In some cases, it is useful for testing purposes to temporarily disable certain resources without having to delete
them from the configuration. This allows you to easily re-provide access to these resources at a later point of time
without having to type in everything once again.
To disable a resource, select it and choose the Disable button:
The traffic light turns red, and from now on, the cloud connector will deny all requests coming in for this
resource.

The traffic light turns red, and from now on, the cloud connector will deny all requests coming in for this
resource. To enable the resource again, select it and choose the Enable button.

346

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

It is also possible to mark multiple lines and then to disable/enable all of them in one go by clicking the
Enable/Disable buttons in the top row.
Examples:
/production/accounting and Path only (sub-paths are excluded) are selected. Only requests of the form
GET /production/accounting or GET /production/accounting?name1=value1&name2=value2...
are allowed. (GET can also be replaced by POST, PUT, DELETE, and so on.)
/production/accounting and Path and all sub-paths are selected. All requests of the form GET /
production/accounting-plus-some-more-stuff-here?name1=value1... are allowed.
/ and Path and all sub-paths are selected. All requests to this server are allowed.

Related Information
Configuring Domain Mappings for Cookies [page 468]
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]

1.4.1.1.4.5 Tutorials

Overview
SAP HANA Cloud connectivity service allows a secure, reliable, and easy-to-consume access to remote services
running either on the Internet or in an on-premise network.

Use Cases
The tutorials in this section show how you can make connections to Internet services and on-premise networks:
Consuming Internet Services (Java Web or Java EE 6 Web Profile) [page 348]
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

347

1.4.1.1.4.5.1 Consuming Internet Services (Java Web or Java EE


6 Web Profile)
Context
This step-by-step tutorial demonstrates consumption of Internet services using Apache HTTP Client . The
tutorial also shows how a connectivity-enabled Web application can be deployed on a local server and on the
cloud.
The servlet code, the web.xml content, and the destination file (outbound-internet-destination) used in
this tutorial are mapped to the connectivity sample project located in <SDK_location>/samples/
connectivity. You can directly import this sample in your Eclipse IDE. For more information, see Importing
Samples as Eclipse Projects [page 53].
Go through the relevant steps:
1. Create a Dynamic Web Project [page 401]
2. Create a Sample Servlet [page 402]
3. Test the Connectivity-Enabled Web Application Locally [page 352]
4. Deploy the Connectivity-Enabled Web Application on the Cloud [page 353]

Prerequisites
You have downloaded and set up your Eclipse IDE, SAP HANA Cloud Platform Tools for Java, and SDK.
For more information, see Installing Java Tools for Eclipse and SDK [page 33].

Note
You need to install SDK for Java Web or SDK for Java EE 6 Web Profile.

1. Create a Dynamic Web Project


1. Open the Java EE perspective of the Eclipse IDE.
2. From the Eclipse main menu, choose

File

New

Dynamic Web Project .

3. In the Project name field, enter ConnectivityHelloWorld .


4. In the Target Runtime pane, select the runtime you want to use to deploy the application. In this tutorial, we
choose Java Web.
5. In the Configuration pane, leave the default configuration.
6. Choose Finish to finalize the creation of your project.

348

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

2. Create a Sample Servlet


1. From the ConnectivityHelloWorld context menu, choose

New

Servlet .

2. Enter hello as the Java package and ConnectivityServlet as the Class name and choose Next.
3. In the URL mappings field, select /ConnectivityServlet and choose Edit.
4. In the Pattern field, replace the current value with just "/". In this way, the servlet will be mapped as a welcome
page for the application.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

349

5. Choose Finish so that the ConnectivityServlet.java servlet is created and opened in the Java editor.
6. Go to

ConnectivityHelloWorld

WebContent

WEB-INF

and open the web.xml file.

7. Choose the Source tab page.


8. Add the following code block to the <web-app> element:
<resource-ref>
<res-ref-name>outbound-internet-destination</res-ref-name>
<res-type>com.sap.core.connectivity.api.http.HttpDestination</res-type>
</resource-ref>

Note
The value of the <res-ref-name> element in the web.xml file should match the name of the destination
that you want to be retrieved at runtime. In this case, the destination name is outbound-internetdestination.
9. Replace the entire servlet class with the following one to make use of the destination API. The destination API
is visible by default for cloud applications and must not be added explicitly to the application class path.
package com.sap.cloud.sample.connectivity;
import java.io.IOException;
import java.io.InputStream;
import static java.net.HttpURLConnection.HTTP_OK;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sap.core.connectivity.api.http.HttpDestination;
/**
* Servlet class making HTTP calls to specified HTTP destinations.
* Destinations are used in the following exemplary connectivity scenarios:<br>
* - Connecting to an outbound Internet resource using HTTP destinations<br>
* - Connecting to an on-premise backend using on-premise HTTP destinations,<br>
*
where the destinations could have no authentication or basic
authentication.<br>
*
* * NOTE: The Connectivity service API is located under
* <code>com.sap.core.connectivity.api</code>. The old API under
* <code>com.sap.core.connectivity.httpdestination.api</code> has been
deprecated.
*/
public class ConnectivityServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

350

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

private static final int COPY_CONTENT_BUFFER_SIZE = 1024;


private static final Logger LOGGER =
LoggerFactory.getLogger(ConnectivityServlet.class);
/** {@inheritDoc} */
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpClient httpClient = null;
String destinationName = request.getParameter("destname");
try {
// Get HTTP destination
Context ctx = new InitialContext();
HttpDestination destination = null;
if (destinationName != null) {
DestinationFactory destinationFactory = (DestinationFactory)
ctx.lookup(DestinationFactory.JNDI_NAME);
destination = (HttpDestination)
destinationFactory.getDestination(destinationName);
} else {
// The default request to the Servlet will use outbound-internetdestination
destinationName = "outbound-internet-destination";
destination = (HttpDestination) ctx.lookup("java:comp/env/" +
destinationName);
}
// Create HTTP client
httpClient = destination.createHttpClient();
// Execute HTTP request
HttpGet httpGet = new HttpGet();
HttpResponse httpResponse = httpClient.execute(httpGet);
// Check response status code
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode != HTTP_OK) {
throw new ServletException("Expected response status code is 200
but it is " + statusCode + " .");
}
// Copy content from the incoming response to the outgoing response
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
try {
byte[] buffer = new byte[COPY_CONTENT_BUFFER_SIZE];
int len;
while ((len = instream.read(buffer)) != -1) {
response.getOutputStream().write(buffer, 0, len);
}
} catch (IOException e) {
// In case of an IOException the connection will be released
// back to the connection manager automatically
throw e;
} catch (RuntimeException e) {
// In case of an unexpected exception you may want to abort
// the HTTP request in order to shut down the underlying
// connection immediately.
httpGet.abort();
throw e;
} finally {
// Closing the input stream will trigger connection release
try {
instream.close();
} catch (Exception e) {
// Ignore
}
}
}
} catch (NamingException e) {
// Lookup of destination failed
String errorMessage = "Lookup of destination failed with reason: "

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

351

+ e.getMessage()
+ ". See "
+ "logs for details. Hint: Make sure to have the destination

"

+ destinationName + " configured.";


LOGGER.error("Lookup of destination failed", e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
errorMessage);
} catch (Exception e) {
// Connectivity operation failed
String errorMessage = "Connectivity operation failed with reason: "
+ e.getMessage()
+ ". See "
+ "logs for details. Hint: Make sure to have an HTTP proxy
configured in your "
+ "local Eclipse environment in case your environment uses "
+ "an HTTP proxy for the outbound Internet "
+ "communication.";
LOGGER.error("Connectivity operation failed", e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
errorMessage);
} finally {
// When HttpClient instance is no longer needed, shut down the
connection manager to ensure immediate
// deallocation of all system resources
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
}
}
}
}

Note
The given servlet can run with different destination scenarios, for which user should specify the destination
name as a requested parameter in the calling URL. In this case, the destination name should be
<applicationURL>/?destname=outbound-internet-destination. Nevertheless, your servlet can
still run even without specifying the destination name for this outbound scenario.
10. Save the Java editor and make sure the project compiles without errors.

3. Test the Connectivity-Enabled Web Application Locally


Caution
If you use SDK for Java Web, we only recommend that you create a destination before deploying the
application.
If you use SDK for Java EE 6 Web Profile, you must create a destination before deploying the application.
1. In the context menu of the Servers view, choose

New

Server .

2. Expand the SAP node, select Java Web Server and choose Finish.
3. A new server Java Web Server [Stopped, Synchronized] appears on the Servers tab page.
Also, a Servers folder is created and appears in the navigation tree of the IDE. It contains configurable folders
and files you can use, for example, to change your HTTP or JMX ports.
4. If you work behind a proxy server, you need to configure your proxy setting as follows:

352

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

In the Servers view, double-click the added server to open the editor.
Click the Open Launch Configuration link.
Choose the (x)=Arguments tab page.
In the VM Arguments box, add the following row:
-Dhttp.proxyHost=<your_proxy_host> -Dhttp.proxyPort=<your_proxy_port> Dhttps.proxyHost=<your_proxy_host> -Dhttps.proxyPort=<your_proxy_port>
Choose OK.
5. Go to the Connectivity tab page of your local server, create a destination with the name outboundinternet-destination, and configure it so it can be consumed by the application at runtime. For more
information, see Configuring Destinations from the Eclipse IDE [page 290].
For the sample destination to work properly, the following properties need to be configured:
Name=outbound-internet-destination
Type=HTTP
URL=http://sap.com/index.html
Authentication=NoAuthentication
6. From the ConnectivityServlet.java editor's context menu, choose

Run As

Run on Server .

7. Make sure that the Choose an existing server option is selected and choose Java Web Server.
8. Choose Finish.
The server is now started, displayed as Java Web Server [Started, Synchronized] in the Servers
view.
Result:
The internal Web browser opens with the expected output of the connectivity-enabled Web application.

4. Deploy the Connectivity-Enabled Web Application on the Cloud


1. In the context menu of the Servers view, choose

New

Server .

2. Choose SAP HANA Cloud Platform as the type of server you want to create and choose Next.
3. For Server's host name, specify the landscape host depending on your account type. For more information,
see Landscape Hosts [page 32].
4. Choose Next.
5. On the New Server wizard page, enter your application and account name. Note that only lowercase Latin
letters and digits are allowed.

Note
The application name should be unique enough to allow your deployed application to be easily identified in
SAP HANA Cloud Platform cockpit.
6. Enter your account name, e-mail or user name, and password.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

353

7. Choose Finish.
8. A new server <application>.<account> [Stopped]> appears in the Servers view.
9. Go to the Connectivity tab page of the server, create a destination with the name outbound-internetdestination, and configure it using the following properties:
Name=outbound-internet-destination
Type=HTTP
URL=http://sap.com/index.html
Authentication=NoAuthentication
ProxyType=Internet
10. From the ConnectivityServlet.java editor's context menu, choose

Run As

11. Make sure that the Choose an existing server option is selected and choose

Run on Server .
<Server_host_name>

<Server_name> .
12. Choose Finish.

354

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Result:
The internal Web browser opens with the URL pointing to SAP HANA Cloud Platform and displaying the expected
output of the connectivity-enabled Web application.

Next Step
You can monitor the state and logs of your Web application deployed on SAP HANA Cloud Platform.
For more information, see Using Logs in the Eclipse IDE [page 1131].

1.4.1.1.4.5.2 Consuming Internet Services (Java Web Tomcat 7)

Context
This step-by-step tutorial demonstrates consumption of Internet services using HttpURLConnection. The
tutorial also shows how a connectivity-enabled Web application can be deployed on a local server and on the
cloud.
The servlet code, the web.xml content, and the destination file (outbound-internet-destination) used in
this tutorial are mapped to the connectivity sample project located in <SDK_location>/samples/
connectivity. You can directly import this sample in your Eclipse IDE. For more information, see Importing
Samples as Eclipse Projects [page 53].
Go through the relevant steps:
1. Create a Dynamic Web Project [page 401]
2. Create a Sample Servlet [page 402]
3. Test the Connectivity-Enabled Web Application Locally [page 360]
4. Deploy the Connectivity-Enabled Web Application on the Cloud [page 360]

Prerequisites
You have downloaded and set up your Eclipse IDE, SAP HANA Cloud Platform Tools for Java, and SDK.
For more information, see Installing Java Tools for Eclipse and SDK [page 33].

Note
You need to install SDK for Java Web Tomcat 7.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

355

1. Create a Dynamic Web Project


1. Open the Java EE perspective of the Eclipse IDE.
2. From the Eclipse main menu, choose

File

New

Dynamic Web Project .

3. In the Project name field, enter ConnectivityHelloWorld .


4. In the Target Runtime pane, select Java Web Tomcat 7 as the runtime you want to use to deploy the
application.
5. In the Configuration pane, leave the default configuration.
6. Choose Finish to finalize the creation of your project.

356

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

2. Create a Sample Servlet

1. From the ConnectivityHelloWorld context menu, choose

New

Servlet .

2. Enter hello as the Java package and ConnectivityServlet as the Class name and choose Next.
3. In the URL mappings field, select /ConnectivityServlet and choose Edit.
4. In the Pattern field, replace the current value with just "/". In this way, the servlet will be mapped as a welcome
page for the application.

5. Choose Finish so that the ConnectivityServlet.java servlet is created and opened in the Java editor.
6. Go to

ConnectivityHelloWorld

WebContent

WEB-INF

and open the web.xml file.

7. Choose the Source tab page.


8. To consume connectivity configuration using JNDI, you need to define the ConnectivityConfiguration
API as a resource in the web.xml file. Below is an example of a ConnectivityConfiguration resource,
named connectivityConfiguration.
<resource-ref>
<res-ref-name>connectivityConfiguration</res-ref-name>
<restype>com.sap.core.connectivity.api.configuration.ConnectivityConfiguration</restype>
</resource-ref>
9. Replace the entire servlet class with the following one to make use of the destination API. The destination API
is visible by default for cloud applications and must not be added explicitly to the application class path.
package com.sap.cloud.sample.connectivity;
import
import
import
import
import
import
import

java.io.IOException;
java.io.InputStream;
java.io.OutputStream;
java.net.HttpURLConnection;
java.net.InetSocketAddress;
java.net.Proxy;
java.net.URL;

import
import
import
import
import
import
import

javax.annotation.Resource;
javax.naming.Context;
javax.naming.InitialContext;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sap.cloud.account.TenantContext;
import com.sap.core.connectivity.api.configuration.ConnectivityConfiguration;
import com.sap.core.connectivity.api.configuration.DestinationConfiguration;

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

357

/**
* Servlet class making http calls to specified http destinations.
* Destinations are used in the following example connectivity scenarios:<br>
* - Connecting to an outbound Internet resource using HTTP destinations<br>
* - Connecting to an on-premise backend using on premise HTTP destinations,<br>
*
where the destinations have no authentication.<br>
*/
public class ConnectivityServlet extends HttpServlet {
@Resource
private TenantContext tenantContext;
private static final long serialVersionUID = 1L;
private static final int COPY_CONTENT_BUFFER_SIZE = 1024;
private static final Logger LOGGER =
LoggerFactory.getLogger(ConnectivityServlet.class);
private static final String ON_PREMISE_PROXY = "OnPremise";
/** {@inheritDoc} */
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpURLConnection urlConnection = null;
String destinationName = request.getParameter("destname");
// The default request to the Servlet will use outbound-internetdestination
if (destinationName == null) {
destinationName = "outbound-internet-destination";
}
try {
// Look up the connectivity configuration API
Context ctx = new InitialContext();
ConnectivityConfiguration configuration =
(ConnectivityConfiguration) ctx.lookup("java:comp/env/
connectivityConfiguration");
// Get destination configuration for "destinationName"
DestinationConfiguration destConfiguration =
configuration.getConfiguration(destinationName);
if (destConfiguration == null) {
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
String.format("Destination %s is not found. Hint: Make
sure to have the destination configured.", destinationName));
return;
}
// Get the destination URL
String value = destConfiguration.getProperty("URL");
URL url = new URL(value);
String proxyType = destConfiguration.getProperty("ProxyType");
Proxy proxy = getProxy(proxyType);
urlConnection = (HttpURLConnection) url.openConnection(proxy);
destinations

// Insert the required header in the request for on-premise


injectHeader(urlConnection, proxyType);

// Copy content from the incoming response to the outgoing response


InputStream instream = urlConnection.getInputStream();
OutputStream outstream = response.getOutputStream();
copyStream(instream, outstream);
} catch (Exception e) {
// Connectivity operation failed
String errorMessage = "Connectivity operation failed with reason: "

358

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

+ e.getMessage()
+ ". See "
+ "logs for details. Hint: Make sure to have an HTTP proxy
configured in your "
+ "local environment in case your environment uses "
+ "an HTTP proxy for the outbound Internet "
+ "communication.";
LOGGER.error("Connectivity operation failed", e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
errorMessage);
}
}
private Proxy getProxy(String proxyType) {
String proxyHost = null;
int proxyPort;
if (ON_PREMISE_PROXY.equals(proxyType)) {
// Get proxy for on-premise destinations
proxyHost = System.getenv("HC_OP_HTTP_PROXY_HOST");
proxyPort = Integer.parseInt(System.getenv("HC_OP_HTTP_PROXY_PORT"));
} else {
// Get proxy for internet destinations
proxyHost = System.getProperty("http.proxyHost");
proxyPort = Integer.parseInt(System.getProperty("http.proxyPort"));
}
return new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost,
proxyPort));
}
{

private void injectHeader(HttpURLConnection urlConnection, String proxyType)

if (ON_PREMISE_PROXY.equals(proxyType)) {
// Insert header for on-premise connectivity with the consumer
account name
urlConnection.setRequestProperty("SAP-Connectivity-ConsumerAccount",
tenantContext.getAccountName());
}
}
private void copyStream(InputStream inStream, OutputStream outStream) throws
IOException {
byte[] buffer = new byte[COPY_CONTENT_BUFFER_SIZE];
int len;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
}
}

Note
The given servlet can run with different destination scenarios, for which user should specify the destination
name as a requested parameter in the calling URL. In this case, the destination name should be
<applicationURL>/?destname=outbound-internet-destination. Nevertheless, your servlet can
still run even without specifying the destination name for this outbound scenario.
10. Save the Java editor and make sure the project compiles without errors.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

359

3. Test the Connectivity-Enabled Web Application Locally


Note
We recommend but not obligate that you create a destination before deploying the application.
1. In the context menu of the Servers view, choose

New

Server .

2. Expand the SAP node, select Java Web Tomcat 7 Server and choose Finish.
3. A new server Java Web Tomcat 7 Server [Stopped, Synchronized] appears on the Servers tab
page.
Also, a Servers folder is created and appears in the navigation tree of the IDE. It contains configurable folders
and files you can use, for example, to change your HTTP or JMX ports.
4. If you work behind a proxy server, you need to configure your proxy setting as follows:
In the Servers view, double-click the added server to open the editor.
Click the Open Launch Configuration link.
Choose the (x)=Arguments tab page.
In the VM Arguments box, add the following row:
-Dhttp.proxyHost=<your_proxy_host> -Dhttp.proxyPort=<your_proxy_port> Dhttps.proxyHost=<your_proxy_host> -Dhttps.proxyPort=<your_proxy_port>
Choose OK.
5. Go to the Connectivity tab page of your local server, create a destination with the name outboundinternet-destination, and configure it so it can be consumed by the application at runtime. For more
information, see Configuring Destinations from the Eclipse IDE [page 290].
For the sample destination to work properly, the following properties need to be configured:
Name=outbound-internet-destination
Type=HTTP
URL=http://sap.com/index.html
Authentication=NoAuthentication
6. From the ConnectivityServlet.java editor's context menu, choose

Run As

Run on Server .

7. Make sure that the Choose an existing server option is selected and choose Java Web Tomcat 7 Server.
8. Choose Finish.
The server is now started, displayed as Java Web Tomcat 7 Server [Started, Synchronized] in the
Servers view.
Result:
The internal Web browser opens with the expected output of the connectivity-enabled Web application.

4. Deploy the Connectivity-Enabled Web Application on the Cloud


1. In the context menu of the Servers view, choose

New

Server .

2. Choose SAP HANA Cloud Platform as the type of server you want to create and choose Next.
3. For Server's host name, specify the landscape host depending on your account type. For more information,
see Landscape Hosts [page 32].

360

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

4. Choose Next.
5. On the New Server wizard page, enter your application and account name. Note that only lowercase Latin
letters and digits are allowed.

Note
The application name should be unique enough to allow your deployed application to be easily identified in
SAP HANA Cloud Platform cockpit.
6. Enter your account name, e-mail or user name, and password.

7. Choose Finish.
8. A new server <application>.<account> [Stopped]> appears in the Servers view.
9. Go to the Connectivity tab page of the server, create a destination with the name outbound-internetdestination, and configure it using the following properties:
Name=outbound-internet-destination

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

361

Type=HTTP
URL=http://sap.com/index.html
Authentication=NoAuthentication
ProxyType=Internet
10. From the ConnectivityServlet.java editor's context menu, choose

Run As

11. Make sure that the Choose an existing server option is selected and choose

Run on Server .
<Server_host_name>

<Server_name> .
12. Choose Finish.
Result:
The internal Web browser opens with the URL pointing to SAP HANA Cloud Platform and displaying the expected
output of the connectivity-enabled Web application.

Next Step
You can monitor the state and logs of your Web application deployed on SAP HANA Cloud Platform.
For more information, see Using Logs in the Eclipse IDE [page 1131].

1.4.1.1.4.5.3 Consuming Back-End Systems (Java Web or Java


EE 6 Web Profile)
Context
This step-by-step tutorial demonstrates how a sample Web application consumes a back-end system via HTTP(S)
by using SAP HANA Cloud Platform connectivity service. For simplicity, instead of using a real back-end system,
we use a second sample Web application containing BackendServlet, which mimics the back-end system and
can be called via HTTP(S).
The servlet code, the web.xml content, and the destination files (backend-no-auth-destination and
backend-basic-auth-destination) used in this tutorial are mapped to the connectivity sample project
located in <SDK_location>/samples/connectivity. You can directly import this sample in your Eclipse IDE.
For more information, see Importing Samples as Eclipse Projects [page 53].
The tutorial guides you through the following sections:
1. Set Up Application as a Back-End System [page 363]
2. Create a Dynamic Web Project [page 401]
3. Create a Sample Servlet [page 366]
4. Deploy the Application [page 404]
5. Configure the Destination in the Cloud [page 371]

362

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Connectivity User Roles


In the on-demand to on-premise connectivity end-to-end scenario, different user roles are involved. The particular
steps for the relevant roles are described below:
IT Administrator - Sets up and configures the cloud connector. Scenario steps:
1. Downloads the cloud connector from https://tools.hana.ondemand.com/#cloud
2. Installs the connector.
3. Establishes an SSL tunnel from the connector to an SAP HANA Cloud Platform account.
4. Configures the exposed back-end systems and resources.
Application Developer - Develops Web applications using destinations. Scenario steps:
1. Installs the Eclipse IDE, SAP HANA Cloud Platform Tools for Java, and SDK.
2. Develops a Java EE application using the destination API.
3. Configures connectivity destinations as resources in the web.xml file.
4. Configures connectivity destinations via the SAP HANA Cloud Platform server adapter in Eclipse IDE.
5. Deploys the Java EE application locally and on the cloud.
Account Operator - Deploys Web applications, configures their destinations, and conducts tests. Scenario
steps:
1. Obtains a ready Java EE application WAR file.
2. Deploys the Java EE application to an SAP HANA Cloud Platform account.
3. Uploads the connectivity destination configuration via the console client.
4. Tests the Java EE application on a local server and deploys it again to a SAP HANA Cloud Platform
account.
For more information, see SAP HANA Cloud Connector [page 434].

Prerequisites
You have downloaded and configured the cloud connector. For more information, see SAP HANA Cloud
Connector [page 434].
You have downloaded and set up your Eclipse IDE, SAP HANA Cloud Platform Tools for Java, and SDK.
For more information, see Installing Java Tools for Eclipse and SDK [page 33].

Note
You need to install SDK for Java Web or SDK for Java EE 6 Web Profile.

1. Set Up Application as a Back-End System


This tutorial uses a Web application that responds to a request with a ping as a sample back-end system. The
connectivity service supports HTTP and HTTPS as protocols and provides an easy way to consume REST-based
Web services.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

363

To set up the sample application as a back-end system, see Setting Up an Application as a Sample Back-End
System [page 382].

Tip
Instead of the sample back-end system provided in this tutorial, you can use other systems to be consumed
through REST-based Web services.
Once the back-end application is running on your local Tomcat, you need to configure the ping service, provided
by the application, in your installed cloud connector. This is required since the cloud connector only allows access
to white-listed back-end services. To do this, follow the steps below:
1. Open the cloud connector and from the Content navigation (in left), choose Access Control.
2. Under Mapping Virtual To Internal System, choose the Add button and define an entry as shown on the
following screenshot. The Internal Host must be the physical host name of the machine on which the Tomcat
of the back-end application is running.

3. Choose Save. The newly mapped system appears in the table.


4. Click on it. A new table, Resources Accessible On <host>:<port>, opens below.
5. Specify the URL paths /BackendAppHttpBasicAuth and /BackendAppHttpNoAuth as accessible
resources, as shown on the screenshot below. When defining the paths, make sure you have selected the Path
and all sub-paths option.

364

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Note
In case you use SDK with version equal to or lower than 1.44.0.1 (Java Web) and 2.24.13 (Java EE 6
Web Profile), you should find the WAR files in directory <SDK_location>/tools/samples/
connectivity/onpremise, under the names PingAppHttpNoAuth.war and
PingAppHttpBasicAuth.war. Also, the URL paths should be /PingAppHttpBasicAuth and /
PingAppHttpNoAuth.

2. Create a Dynamic Web Project


1. Open the Java EE perspective of the Eclipse IDE.
2. From the Eclipse main menu, choose

File

New

Dynamic Web Project .

3. In the Project name field, enter ConnectivityHelloWorld .


4. In the Target Runtime pane, select the runtime you want to use to deploy the application. In this tutorial, we
choose Java Web.
5. In the Configuration pane, leave the default configuration.
6. Choose Finish to finalize the creation of your project.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

365

3. Create a Sample Servlet


1. From the ConnectivityHelloWorld context menu, choose

New

Servlet .

2. Enter hello as the Java package and ConnectivityServlet as the Class name and choose Next.
3. In the URL mappings field, select /ConnectivityServlet and choose Edit.
4. In the Pattern field, replace the current value with just "/". In this way, the servlet will be mapped as a welcome
page for the application.

366

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

5. Choose Finish so that the ConnectivityServlet.java servlet is created and opened in the Java editor.
6. Go to

ConnectivityHelloWorld

WebContent

WEB-INF

and open the web.xml file.

7. Add the following code block to the <web-app> element, respectively:


<resource-ref>
<res-ref-name>outbound-internet-destination</res-ref-name>
<res-type>com.sap.core.connectivity.api.http.HttpDestination</res-type>
</resource-ref>
<resource-ref>
<res-ref-name>connectivity/DestinationFactory</res-ref-name>
<res-type>com.sap.core.connectivity.api.DestinationFactory</res-type>
</resource-ref>

Note
Destinations backend-no-auth-destination and backend-basic-auth-destination will be
looked-up via DestinationFactory JNDI lookup. For more information, see DestinationFactory API [page
320].
In case you use destinations as resource reference, the value of the <res-ref-name> element in the
web.xml file should match the name of the destination that you want to be retrieved at runtime. In this
case, the destination name is outbound-internet-destination.
8. Replace the entire servlet class to make use of the destination API. The destination API is visible by default for
cloud applications and must not be added explicitly to the application class path.
package com.sap.cloud.sample.connectivity;
import java.io.IOException;
import java.io.InputStream;
import static java.net.HttpURLConnection.HTTP_OK;
import
import
import
import
import
import
import

javax.naming.Context;
javax.naming.InitialContext;
javax.naming.NamingException;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;

import
import
import
import
import
import

org.apache.http.HttpEntity;
org.apache.http.HttpResponse;
org.apache.http.client.HttpClient;
org.apache.http.client.methods.HttpGet;
org.slf4j.Logger;
org.slf4j.LoggerFactory;

import com.sap.core.connectivity.api.http.HttpDestination;
import com.sap.core.connectivity.api.DestinationFactory;

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

367

/**
* Servlet class making HTTP calls to specified HTTP destinations.
* Destinations are used in the following exemplary connectivity scenarios:<br>
* - Connecting to an outbound Internet resource using HTTP destinations<br>
* - Connecting to an on-premise backend using on-premise HTTP destinations,<br>
*
where the destinations could have no authentication or basic
authentication.<br>
*
* * NOTE: The Connectivity service API is located under
* <code>com.sap.core.connectivity.api</code>. The old API under
* <code>com.sap.core.connectivity.httpdestination.api</code> has been
deprecated.
*/
public class ConnectivityServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final int COPY_CONTENT_BUFFER_SIZE = 1024;
private static final Logger LOGGER =
LoggerFactory.getLogger(ConnectivityServlet.class);
/** {@inheritDoc} */
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpClient httpClient = null;
String destinationName = request.getParameter("destname");
try {
// Get HTTP destination
Context ctx = new InitialContext();
HttpDestination destination = null;
if (destinationName != null) {
DestinationFactory destinationFactory = (DestinationFactory)
ctx.lookup(DestinationFactory.JNDI_NAME);
destination = (HttpDestination)
destinationFactory.getDestination(destinationName);
} else {
// The default request to the Servlet will use outbound-internetdestination
destinationName = "outbound-internet-destination";
destination = (HttpDestination) ctx.lookup("java:comp/env/" +
destinationName);
}
// Create HTTP client
httpClient = destination.createHttpClient();
// Execute HTTP request
HttpGet httpGet = new HttpGet();
HttpResponse httpResponse = httpClient.execute(httpGet);
// Check response status code
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode != HTTP_OK) {
throw new ServletException("Expected response status code is 200
but it is " + statusCode + " .");
}
// Copy content from the incoming response to the outgoing response
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
try {
byte[] buffer = new byte[COPY_CONTENT_BUFFER_SIZE];
int len;
while ((len = instream.read(buffer)) != -1) {
response.getOutputStream().write(buffer, 0, len);
}
} catch (IOException e) {
// In case of an IOException the connection will be released

368

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

// back to the connection manager automatically


throw e;
} catch (RuntimeException e) {
// In case of an unexpected exception you may want to abort
// the HTTP request in order to shut down the underlying
// connection immediately.
httpGet.abort();
throw e;
} finally {
// Closing the input stream will trigger connection release
try {
instream.close();
} catch (Exception e) {
// Ignore
}
}

}
} catch (NamingException e) {
// Lookup of destination failed
String errorMessage = "Lookup of destination failed with reason: "
+ e.getMessage()
+ ". See "
+ "logs for details. Hint: Make sure to have the destination

"

+ destinationName + " configured.";


LOGGER.error("Lookup of destination failed", e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
errorMessage);
} catch (Exception e) {
// Connectivity operation failed
String errorMessage = "Connectivity operation failed with reason: "
+ e.getMessage()
+ ". See "
+ "logs for details. Hint: Make sure to have an HTTP proxy
configured in your "
+ "local Eclipse environment in case your environment uses "
+ "an HTTP proxy for the outbound Internet "
+ "communication.";
LOGGER.error("Connectivity operation failed", e);
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
errorMessage);
} finally {
// When HttpClient instance is no longer needed, shut down the
connection manager to ensure immediate
// deallocation of all system resources
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();
}
}
}
}

Note
The given servlet can be run with different destination scenarios, for which user should specify the
destination name as a requested parameter in the calling URL. In the case of on-premise connection to a
back-end system, the destination name should be either backend-basic-auth-destination or
backend-no-auth-destination, depending on the chosen authentication type scenario. For example:
<application_URL>/?destname=backend-no-auth-destination
9. Save the Java editor and make sure the project compiles without errors.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

369

4. Deploy the Application


Caution
If you use SDK for Java Web, we just recommend that you create a destination before starting the
application.
If you use SDK for Java EE 6 Web Profile, you must create a destination before starting the application.
1. To deploy your Web application locally or on the cloud, follow the steps described in the respective pages:
Deploying Locally from Eclipse IDE [page 975]
Deploying on the Cloud from Eclipse IDE [page 977]
2. Once the application is deployed successfully on a local server and on the cloud, the application issues an
exception saying that destination backend-basic-auth-destination or backend-no-authdestination has not been specified yet:
HTTP Status 500 - Connectivity operation failed with reason: Destination with
name backend-no-auth-destination cannot be found. Make sure it is created and
configured.. See logs for details.
2014 01 10 08:11:01#
+00#ERROR#com.sap.cloud.sample.connectivity.ConnectivityServlet##anonymous#httpbio-8041-exec-1##conngold#testsample#web#null#null#Connectivity operation failed
com.sap.core.connectivity.api.DestinationNotFoundException: Destination with
name backend-no-auth-destination cannot be found. Make sure it is created and
configured.
at
com.sap.core.connectivity.destinations.DestinationFactory.getDestination(Destinat
ionFactory.java:20)
at
com.sap.core.connectivity.cloud.destinations.CloudDestinationFactory.getDestinati
on(CloudDestinationFactory.java:28)
at
com.sap.cloud.sample.connectivity.ConnectivityServlet.doGet(ConnectivityServlet.j
ava:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilte
rChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.j
ava:210)
at
com.sap.core.communication.server.CertValidatorFilter.doFilter(CertValidatorFilte
r.java:321)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilte
rChain.java:243)
...
3. As a next step, you need to configure backend-no-auth-destination or backend-basic-authdestination.
For more information, see DestinationFactory API [page 320].

370

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

5. Configure the Destination in the Cloud


To configure the destination in SAP HANA Cloud Platform, you need to use the virtual host name
(virtualpingbackend) and port (1234) specified in one of the previous steps on the cloud connector's Access
Control tab page.

Note
On-premise destinations support HTTP connections only.
The connection from an application to the cloud connector (through the tunnel) is encrypted on TLS level.
Also, you can choose between using HTTP or HTTPS to hop from the cloud connector to the back end.
1. In the Eclipse IDE, open the Servers view and double-click on <application>.<account> to open the SAP
HANA Cloud Platform editor.
2. Open the Connectivity tab page.
3. In the All Destinations section, choose

to create a new destination with the name backend-no-auth-

destination or backend-basic-auth-destination.
To connect with no authentication, use the following configuration:
Name=backend-no-auth-destination
Type=HTTP
URL=http://virtualpingbackend:1234/BackendAppHttpNoAuth/noauth
Authentication=NoAuthentication
ProxyType=OnPremise
CloudConnectorVersion=2

To connect with basic authentication, use the following configuration:


Name=backend-basic-auth-destination
Type=HTTP
URL=http://virtualpingbackend:1234/BackendAppHttpBasicAuth/basic
Authentication=BasicAuthentication
User=pinguser
Password=pingpassword
ProxyType=OnPremise
CloudConnectorVersion=2

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

371

4. Save the destination.


5. The Connectivity editor automatically saves the configuration in SAP HANA Cloud Platform.
6. Call the URL that references the cloud application again in the Web browser. The application should now
return the ping response.

Next Step
You can monitor the state and logs of your Web application deployed on SAP HANA Cloud Platform.
For more information, see Using Logs in the Eclipse IDE [page 1131].

1.4.1.1.4.5.4 Consuming Back-End Systems (Java Web Tomcat


7)

Context
This step-by-step tutorial demonstrates how a sample Web application consumes a back-end system via HTTP(S)
by using SAP HANA Cloud Platform connectivity service. For simplicity, instead of using a real back-end system,
we use a second sample Web application containing BackendServlet, which mimics the back-end system and
can be called via HTTP(S).

372

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

The servlet code, the web.xml content, and the destination file (backend-no-auth-destination) used in this
tutorial are mapped to the connectivity sample project located in <SDK_location>/samples/connectivity.
You can directly import this sample in your Eclipse IDE. For more information, see Importing Samples as Eclipse
Projects [page 53].
The tutorial guides you through the following sections:
1. Set Up Application as a Back-End System [page 374]
2. Create a Dynamic Web Project [page 401]
3. Create a Sample Servlet [page 376]
4. Deploy the Application [page 404]
5. Configure the Destination in the Cloud [page 380]

Connectivity User Roles


In the on-demand to on-premise connectivity end-to-end scenario, different user roles are involved. The particular
steps for the relevant roles are described below:
IT Administrator - Sets up and configures the cloud connector. Scenario steps:
1. Downloads the cloud connector from https://tools.hana.ondemand.com/#cloud
2. Installs the connector.
3. Establishes an SSL tunnel from the connector to an SAP HANA Cloud Platform account.
4. Configures the exposed back-end systems and resources.
Application Developer - Develops Web applications using destinations. Scenario steps:
1. Installs the Eclipse IDE, SAP HANA Cloud Platform Tools for Java, and SDK.
2. Develops a Java EE application using the destination API.
3. Configures connectivity destinations as resources in the web.xml file.
4. Configures connectivity destinations via the SAP HANA Cloud Platform server adapter in Eclipse IDE.
5. Deploys the Java EE application locally and on the cloud.
Account Operator - Deploys Web applications, configures their destinations, and conducts tests. Scenario
steps:
1. Obtains a ready Java EE application WAR file.
2. Deploys the Java EE application to an SAP HANA Cloud Platform account.
3. Uploads the connectivity destination configuration via the console client.
4. Tests the Java EE application on a local server and deploys it again to a SAP HANA Cloud Platform
account.
For more information, see SAP HANA Cloud Connector [page 434].

Prerequisites
You have downloaded and configured the cloud connector. For more information, see SAP HANA Cloud
Connector [page 434].
You have downloaded and set up your Eclipse IDE, SAP HANA Cloud Platform Tools for Java, and SDK.
For more information, see Installing Java Tools for Eclipse and SDK [page 33].

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

373

Note
You need to install SDK for Java Web Tomcat 7.

1. Set Up Application as a Back-End System


This tutorial uses a Web application that responds to a request with a ping as a sample back-end system. The
connectivity service supports HTTP and HTTPS as protocols and provides an easy way to consume REST-based
Web services.
To set up the sample application as a back-end system, see Setting Up an Application as a Sample Back-End
System [page 382].

Tip
Instead of the sample back-end system provided in this tutorial, you can use other systems to be consumed
through REST-based Web services.
Once the back-end application is running on your local Tomcat, you need to configure the ping service, provided
by the application, in your installed cloud connector. This is required since the cloud connector only allows access
to white-listed back-end services. To do this, follow the steps below:
1. Open the cloud connector and from the Content navigation (in left), choose Access Control.
2. Under Mapping Virtual To Internal System, choose the Add button and define an entry as shown on the
following screenshot. The Internal Host must be the physical host name of the machine on which the Tomcat
of the back-end application is running.

374

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

3. Choose Save. The newly mapped system appears in the table.


4. Click on it. A new table, Resources Accessible On <host>:<port>, opens below.
5. Specify the URL paths /BackendAppHttpBasicAuth and /BackendAppHttpNoAuth as accessible
resources, as shown on the screenshot below. When defining the paths, make sure you have selected the Path
and all sub-paths option.

2. Create a Dynamic Web Project


1. Open the Java EE perspective of the Eclipse IDE.
2. From the Eclipse main menu, choose

File

New

Dynamic Web Project .

3. In the Project name field, enter ConnectivityHelloWorld .


4. In the Target Runtime pane, select Java Web Tomcat 7 as the runtime you want to use to deploy the
application.
5. In the Configuration pane, leave the default configuration.
6. Choose Finish to finalize the creation of your project.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

375

3. Create a Sample Servlet


1. From the ConnectivityHelloWorld context menu, choose

New

Servlet .

2. Enter hello as the Java package and ConnectivityServlet as the Class name and choose Next.
3. In the URL mappings field, select /ConnectivityServlet and choose Edit.
4. In the Pattern field, replace the current value with just "/". In this way, the servlet will be mapped as a welcome
page for the application.

376

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

5. Choose Finish so that the ConnectivityServlet.java servlet is created and opened in the Java editor.
6. Go to

ConnectivityHelloWorld

WebContent

WEB-INF

and open the web.xml file.

7. To consume connectivity configuration using JNDI, you need to define the ConnectivityConfiguration
API as a resource in the web.xml file. Below is an example of a ConnectivityConfiguration resource,
named connectivityConfiguration.
<resource-ref>
<res-ref-name>connectivityConfiguration</res-ref-name>
<restype>com.sap.core.connectivity.api.configuration.ConnectivityConfiguration</restype>
</resource-ref>

Note
Destination backend-no-auth-destination will be looked-up via ConnectivityConfiguration JNDI
lookup. For more information, see ConnectivityConfiguration API [page 275].
8. Replace the entire servlet class to make use of the configuration API. The configuration API is visible by
default for cloud applications and must not be added explicitly to the application class path.
package com.sap.cloud.sample.connectivity;
import
import
import
import
import
import
import

java.io.IOException;
java.io.InputStream;
java.io.OutputStream;
java.net.HttpURLConnection;
java.net.InetSocketAddress;
java.net.Proxy;
java.net.URL;

import
import
import
import
import
import
import

javax.annotation.Resource;
javax.naming.Context;
javax.naming.InitialContext;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sap.cloud.account.TenantContext;
import com.sap.core.connectivity.api.configuration.ConnectivityConfiguration;
import com.sap.core.connectivity.api.configuration.DestinationConfiguration;
/**
* Servlet class making http calls to specified http destinations.
* Destinations are used in the following example connectivity scenarios:<br>
* - Connecting to an outbound Internet resource using HTTP destinations<br>
* - Connecting to an on-premise backend using on premise HTTP destinations,<br>
*
where the destinations have no authentication.<br>
*/

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

377

public class ConnectivityServlet extends HttpServlet {


@Resource
private TenantContext tenantContext;
private static final long serialVersionUID = 1L;
private static final int COPY_CONTENT_BUFFER_SIZE = 1024;
private static final Logger LOGGER =
LoggerFactory.getLogger(ConnectivityServlet.class);
private static final String ON_PREMISE_PROXY = "OnPremise";
/** {@inheritDoc} */
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpURLConnection urlConnection = null;
String destinationName = request.getParameter("destname");
// The default request to the Servlet will use outbound-internetdestination
if (destinationName == null) {
destinationName = "outbound-internet-destination";
}
try {
// Look up the connectivity configuration API
Context ctx = new InitialContext();
ConnectivityConfiguration configuration =
(ConnectivityConfiguration) ctx.lookup("java:comp/env/
connectivityConfiguration");
// Get destination configuration for "destinationName"
DestinationConfiguration destConfiguration =
configuration.getConfiguration(destinationName);
if (destConfiguration == null) {
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
String.format("Destination %s is not found. Hint: Make
sure to have the destination configured.", destinationName));
return;
}
// Get the destination URL
String value = destConfiguration.getProperty("URL");
URL url = new URL(value);
String proxyType = destConfiguration.getProperty("ProxyType");
Proxy proxy = getProxy(proxyType);
urlConnection = (HttpURLConnection) url.openConnection(proxy);
destinations

// Insert the required header in the request for on-premise


injectHeader(urlConnection, proxyType);

// Copy content from the incoming response to the outgoing response


InputStream instream = urlConnection.getInputStream();
OutputStream outstream = response.getOutputStream();
copyStream(instream, outstream);
} catch (Exception e) {
// Connectivity operation failed
String errorMessage = "Connectivity operation failed with reason: "
+ e.getMessage()
+ ". See "
+ "logs for details. Hint: Make sure to have an HTTP proxy
configured in your "
+ "local environment in case your environment uses "
+ "an HTTP proxy for the outbound Internet "
+ "communication.";

378

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

LOGGER.error("Connectivity operation failed", e);


response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
errorMessage);

private Proxy getProxy(String proxyType) {


String proxyHost = null;
int proxyPort;
if (ON_PREMISE_PROXY.equals(proxyType)) {
// Get proxy for on-premise destinations
proxyHost = System.getenv("HC_OP_HTTP_PROXY_HOST");
proxyPort = Integer.parseInt(System.getenv("HC_OP_HTTP_PROXY_PORT"));
} else {
// Get proxy for internet destinations
proxyHost = System.getProperty("http.proxyHost");
proxyPort = Integer.parseInt(System.getProperty("http.proxyPort"));
}
return new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost,
proxyPort));
}
{

private void injectHeader(HttpURLConnection urlConnection, String proxyType)

if (ON_PREMISE_PROXY.equals(proxyType)) {
// Insert header for on-premise connectivity with the consumer
account name
urlConnection.setRequestProperty("SAP-Connectivity-ConsumerAccount",
tenantContext.getAccountName());
}
}
private void copyStream(InputStream inStream, OutputStream outStream) throws
IOException {
byte[] buffer = new byte[COPY_CONTENT_BUFFER_SIZE];
int len;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
}
}

Note
The given servlet can be run with different destination scenarios, for which user should specify the
destination name as a requested parameter in the calling URL. In the case of on-premise connection to a
back-end system, the destination names should be backend-no-auth-destination. That is, it will be
accessed at: <application_URL>/?destname=backend-no-auth-destination

Note
When accessing a destination with a specific authentication type, use AuthenticationHeaderProvider API
[page 277] to get authentication headers and then inject them in all requests to this destination.
9. Save the Java editor and make sure the project compiles without errors.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

379

4. Deploy the Application

Note
We only recommend but not obligate that you create the destination before starting the application.
1. To deploy your Web application locally or on the cloud, follow the steps described in the respective pages:
Deploying Locally from Eclipse IDE [page 975]
Deploying on the Cloud from Eclipse IDE [page 977]
2. Once the application is successfully deployed locally or on the cloud, the application issues an exception
saying that the backend-no-auth-destination destination has not been specified yet:
HTTP Status 500 - Destination backend-no-auth-destination is not found. Hint:
Make sure to have the destination configured.
3. As a next step, you need to configure backend-no-auth-destination.
For more information, see ConnectivityConfiguration API [page 275].

5. Configure the Destination in the Cloud


To configure the destination in SAP HANA Cloud Platform, you need to use the virtual host name
(virtualpingbackend) and port (1234) specified in one of the previous steps on the cloud connector's Access
Control tab page.

Note
On-premise destinations support HTTP connections only.
The connection from an application to the cloud connector (through the tunnel) is encrypted on TLS level.
Also, you can choose between using HTTP or HTTPS to hop from the cloud connector to the back end.
1. In the Eclipse IDE, open the Servers view and double-click on <application>.<account> to open the cloud
server editor.
2. Open the Connectivity tab page.
3. In the All Destinations section, choose

to create a new destination with the name backend-no-auth-

destination.
4. Use the following configuration:
Name=backend-no-auth-destination
Type=HTTP
URL=http://virtualpingbackend:1234/BackendAppHttpNoAuth/noauth
Authentication=NoAuthentication
ProxyType=OnPremise
CloudConnectorVersion=2

380

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

5. Save the destination.


6. The Connectivity editor automatically saves the configuration in the cloud.
7. Call the URL that references the cloud application again in the internal Web browser. The application should
now return the ping response.

Next Step
You can monitor the state and logs of your Web application deployed on SAP HANA Cloud Platform.
For more information, see Using Logs in the Eclipse IDE [page 1131].

Related Information
JavaDoc ConnectivityConfiguration
JavaDoc DestinationConfiguration
JavaDoc AuthenticationHeaderProvider
AuthenticationHeaderProvider API [page 277]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

381

1.4.1.1.4.5.5 Setting Up an Application as a Sample Back-End


System
Overview

This section describes how you set up a simple ping Web application that is used as a back-end system.

Prerequisites
You have downloaded SAP HANA Cloud Platform SDK on your local file system.

Procedure

1. Set up a servlet container such as Tomcat

2. Add a user and role for basic authentication by adding the following lines to thetomcat-users.xml file in
directory <TOMCAT_HOME>/conf file:
<role rolename="pingrole"/>
<user name="pinguser" password="pingpassword" roles="pingrole" />
3. From the SDK location, go to /samples/connectivity/onpremise, copy files
BackendAppHttpNoAuth.war and BackendAppHttpBasicAuth.war and paste them into the <TOMCAT_HOME>/
webapps directory.
4. Start Tomcat and access the on-premise applications at the URLs below. Use pinguser / pingpassword as
the credentials.
http://localhost:8080/BackendAppHttpNoAuth/noauth
http://localhost:8080/BackendAppHttpBasicAuth/basic

Note
In case you use SDK with version equal to or lower than, respectively, 1.44.0.1 (Java Web) and 2.24.13
(Java EE 6 Web Profile), you should find the WAR files in directory <SDK_location>/tools/samples/
connectivity/onpremise, under the names PingAppHttpNoAuth.war and PingAppHttpBasicAuth.war.
Also, you should access the applications at the relevant URLs:
http://localhost:8080/PingAppHttpNoAuth/pingnoauth
http://localhost:8080/PingAppHttpBasicAuth/pingbasic

382

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]

1.4.1.1.5

Invoking ABAP Function Modules via RFC Protocol

Installation Prerequisites
To provide connectivity tunnel via RFC destinations, your cloud connector version needs to be at least 1.3.0.
To develop a JCo application, your SDK version needs to be 1.29.18 (SDK Java Web), or 2.11.6 (SDK for
Java EE 6 Web Profile). Also, your SDK local runtime needs to be hosted by a 64-bit JVM.
On Windows platforms, you need to install Microsoft Visual C++ 2010 Redistributable Package (x64). To
download this package, go to http://www.microsoft.com/en-us/download/details.aspx?id=14632 .

Consuming Connectivity via RFC


You can call a service from a fenced customer network using a simple application which consumes a simple onpremise remote-enabled function module.
The invocation of function modules via RFC is offered via the JCo API like the one available in SAP NetWeaver
Application Server Java since version 7.10, and in JCo standalone 3.0. If you are an experienced JCo developer,
you can easily develop a Web application using JCo: you simply consume the APIs like you do in other Java
environments. Restrictions that apply in the cloud environment are mentioned in the Restrictions section below.
To see a sample Web application, see Tutorial: Invoking ABAP Function Modules in On-Premise ABAP Systems
[page 399].

Configuring Connectivity via RFC


Configuring applications to use RFC destinations.
For more information, see Configuring Destinations from the Console Client [page 283] and RFC Destinations
[page 384].
Configuring connectivity between a back-end system and an on-demand application. You need to install the
cloud connector in your internal network and then configure it to expose a remote-enabled function module in
an on-premise ABAP system.
For more information, see Configuring the Cloud Connector for RFC [page 390].

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

383

Restrictions
JCoServer functionality cannot be used within SAP HANA Cloud Platform.
Environment embedding, such as offered by JCo standalone 3.0, is not possible. This is, however, similar to
SAP NetWeaver AS Java.
Currently, a stateful sequence of function module invocations needs to occur in a single HTTP request/
response cycle.
Initially, only a logon with user/password credentials is supported.
The supported set of configuration properties is restricted. For more information, see RFC Destinations [page
384].

Related Information
SAP Java Connector API [page 280]

1.4.1.1.5.1 RFC Destinations


RFC destinations provide the configuration needed for communicating with an on-premise ABAP system via RFC.
The RFC destination data is used by the JCo version that is offered within SAP HANA Cloud Platform to establish
and manage the connection.

RFC Destination Properties


The RFC destination specific configuration in SAP HANA Cloud Platform consists of properties arranged in
groups, as described below. The supported set of properties is a subset of the standard JCo properties in arbitrary
environments. The configuration data is divided into the following groups:
User logon properties [page 385]
Physical connection [page 388]
Special parameters [page 390]
Pooling configuration [page 386]
Repository configuration [page 388]
The minimal configuration contains user logon properties and information identifying the target host. This means
you must provide at least a set of properties containing this information.

Example
Name=SalesSystem
Type=RFC
jco.client.client=000
jco.client.lang=EN
jco.client.user=consultant

384

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

jco.client.passwd=<password>
jco.client.ashost=sales-system.cloud
jco.client.sysnr=42
jco.destination.pool_capacity=5
jco.destination.peak_limit=10

1.4.1.1.5.1.1 User Logon Properties

This group of JCo properties covers different types of user credentials, as well as the ABAP system client and the
logon language. The currently supported logon mechanism uses user/password as the credentials.

Table 219:
Property

Description

jco.client.client

Represents the client to be used in the ABAP system. Valid


format is a three-digit number.

jco.client.lang

Optional property. Represents the logon language. If the prop


erty is not provided, the user's or system's default language is
used. Valid values are two-character ISO language codes or
one-character SAP language codes.

jco.client.user

Represents the user to be used for logging on to the ABAP


system. When working with the Destinations editor in the
cockpit, enter the value of this property in the User field.

jco.client.passwd

Represents the password of the user that shall be used. Note


that passwords in systems of SAP NetWeaver releases lower
than 7.0 are case-insensitive and can be only eight characters
long. For releases 7.0 and higher, passwords are case-sensi
tive with a maximum length of 40.

Note
When working with the Destinations editor in the cockpit,
enter this password in the Password field. Do not enter it as
additional property.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

385

Property

Description

jco.destination.auth_type

Optional property.

If the property is not provided, its default value,


CONFIGURED_USER, is used, which means that user/

To make use of the principal propagation so that the


identity logged on in the cloud application is also logged
on in an on-premise system, this property's value needs
to be set to PrincipalPropagation. In this case,

password or other credentials are directly specified.

jco.client.user and jco.client.passwd may


not be provided in the configuration.

Note
In the case of PrincipalPropagation value, you
should better configure the

jco.destination.repository.user and
jco.destination.repository.passwd proper
ties, since there are special permissions needed (for meta
data lookup in the back end) that not all business applica
tion users might have.

1.4.1.1.5.1.2 Pooling Configuration

Overview
This group of JCo properties covers different settings for the behavior of the destination's connection pool. All
properties are optional.
Table 220:
Property

Description

jco.destination.pool_capacity

Represents the maximum number of idle connec


tions kept open by the destination. A value of 0 has
the effect of no connection pooling, that is, connec
tions will be closed after each request. The default
value is 1.

jco.destination.peak_limit

386

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

Represents the maximum number of active connec


tions that can simultaneously be created for a desti
nation.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Property

Description

jco.destination.max_get_client_time

Represents the maximum time in milliseconds to


wait for a free connection in case the maximum num
ber of active connections is already allocated by ap
plications.

jco.destination.expiration_time

Represents the time in milliseconds after which idle


connections that are available in the pool can be
closed.

jco.destination.expiration_check_period

Represents the interval in milliseconds within which


the timeout checker thread checks the idle connec
tions in the pool for expiration.

jco.destination.pool_check_connection

When setting this value to 1, a pooled connection will


be checked for corruption before being used for the
next function module execution. Thus, it is possible
to recognize corrupted connections and avoid excep
tions passed to applications when connectivity is
working in principle (default value is 0).

Note
Turning on this check has performance impact for
stateless communication. This is due to an addi
tional low-level ping to the server, which takes a
certain amount of time for non-corrupted connec
tions depending on latency.

Pooling Details
Each destination is associated with a connection factory and, if the pooling feature is used, with a connection
pool.
Initially, the destination's connection pool is empty, and the JCo runtime does not preallocate any connection.
The first connection will be created when the first function module invocation is performed. The peak_limit
property describes how many connections can be created simultaneously, if applications allocate
connections in different sessions at the same time. A connection is allocated either when a stateless function
call is executed, or when a connection for a stateful call sequence is reserved within a session.
After the <peak_limit> number of connections has been allocated (in <peak_limit> number of sessions),
the next session will wait for at most <max_get_client_time> milliseconds until a different session
releases a connection (either finishes a stateless call or ends a stateful call sequence). In case the waiting
session does not get any connection during the <max_get_client_time> period, the function request will
be aborted with JCoException with the key JCO_ERROR_RESOURCE.
Connections that are no longer used by applications are returned to the destination pool. There are at most
<pool_capacity> number of connections kept open by the pool. Further connections (<peak_limit> <pool_capacity>) will be closed immediately after usage. The pooled connections (open connections in the
pool) are marked as expired if they are not used again during <expiration_time> milliseconds. All expired
connections will be closed by a timeout checker thread which executes the check every
<expiration_check_period> milliseconds.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

387

1.4.1.1.5.1.3 Repository Configuration

This JCo properties group allows you to influence how the repository that dynamically retrieves function module
metadata behaves. All properties below are optional. Alternatively, applications could create their metadata in
their code, using the metadata factory methods within the JCo class, to avoid additional round-trips to the onpremise system.
Table 221:
Property

Description

jco.destination.repository_destination

Specifies which destination should be used for repository


queries. If the destination does not exist, an error occurs when
trying to retrieve the repository. Defaults to itself.

jco.destination.repository.user

Optional property. If this property is set, and the repository


destination is not set, it will be used as the user for repository
queries. This case allows using a different user for repository
lookups, and restricting this user's permissions accordingly.
See also SAP Note 460089

jco.destination.repository.passwd

Represents the password for a repository user. If you use


such a user, this property is mandatory.

Note
When working with the Destinations editor in the cockpit,
enter this password in the field of the main property
Repository password. Do not enter it as additional prop
erty.

1.4.1.1.5.1.4 Target System Configuration

Overview
Two types of configurations exist that can be used alternatively:
Direct connection to an ABAP application server;
Load balancing connection to a group of ABAP application servers via a message server.
Depending on the configuration used, different properties are considered mandatory or optional.

388

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Direct Connection Configuration

Table 222:
Property

Description

jco.client.ashost

Represents the application server host to be used. In the case


of configurations in SAP HANA Cloud, this property needs to
match a virtual host entry in the cloud connector Access
Control configuration. The existence of this property signals
that a direct connection shall be established.

jco.client.sysnr

Represents the so-called "system number" and has two digits.


It identifies the logical port on which the application server is
listening for incoming requests. In the case of configurations
in SAP HANA Cloud, this property needs to match a virtual
port entry in the cloud connector Access Control configura
tion.

Note
The virtual port in the above access control entry needs to
be named sapgw<##>, where <##> is the value of sysnr.

Load Balancing Configuration

Table 223:
Property

Description

jco.client.mshost

Represents the message server host to be used. In the case of


configurations in SAP HANA Cloud, this property needs to
match a virtual host entry in the cloud connector Access
Control configuration. The existence of this property signals
that load balancing shall be used for establishing a connec
tion.

jco.client.group

Optional property. Identifies the group of application servers


that shall be used, the so-called "logon group". If the property
is not specified, the group PUBLIC will be used.

jco.client.r3name

Represents the three-character system ID of the ABAP sys


tem to be addressed. In the case of configurations in SAP
HANA Cloud, this property needs to match a virtual port entry
in the cloud connector Access Control configuration.

Note
The virtual port in the above access control entry needs to
be named sapms<###>, where <###> is the value of
r3name.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

389

Property

Description

jco.client.msserv

Represents the port on which the message server is listening


for incoming requests. This property can be used as an alter
native to jco.client.r3name. One of these two needs to
be present. In the case of configurations in SAP HANA Cloud,
this property needs to match a virtual port entry in the cloud
connector Access Control configuration. You can therefore
avoid lookups in the /etc/services file
(<Install_Drive>\Windows\System32\drivers
\etc\services) on the cloud connector host.

1.4.1.1.5.1.5 Parameters Influencing Communication Behavior


This group of JCo properties allows you to influence the connection to an ABAP system. All properties are
optional.
Table 224:
Property

Description

jco.client.trace

Defines whether protocol traces shall be created. Valid values


are 1 (trace is on) and 0 (trace is off). The default value is 0.

jco.client.codepage

Declares the 4-digit SAP codepage that shall be used when ini
tiating the connection to the backend. The default value is
1100 (comparable to iso-8859-1). It is important to provide
this property if the password that is used contains characters
that cannot be represented in 1100.

jco.client.delta

Enables/disables table parameter delta management. It is en


abled if set to 1, and respectively disabled if set to 0. The de
fault value is 1.

jco.client.cloud_connector_version

The value defines which version of the cloud connector is used


for establishing a connection to the on-premise system.
Choose 1 if using the cloud connector 1.x, and 2 if using the
cloud connector 2.x. The default value is 1.

1.4.1.1.5.2 Configuring the Cloud Connector for RFC

Overview
This section helps you to configure your cloud connector when you are working via the RFC protocol.

390

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Initial Configuration (RFC) [page 391]
Configuring Access Control (RFC) [page 392]
Tutorial: Invoking ABAP Function Modules in On-Premise ABAP Systems [page 399]

1.4.1.1.5.2.1 Initial Configuration (RFC)

SNC Configuration for Mutual Authentication


To set up a mutual authentication between cloud connector and an ABAP back-end system (connected via RFC),
you can configure SNC for the cloud connector. It will then use the associated PSE for all RFC SNC requests. This
means that the SNC identity, represented by this PSE needs to:
Be trusted by all back-end systems to which the cloud connector is supposed to connect;
Play the role of a trusted external system by adding the SNC name of the cloud connector to the SNCSYSACL
table. You can find more details in the SNC configuration documentation for the release of your ABAP system.

Prerequisites
You have configured your ABAP system(s) for SNC. For detailed information on configuring SNC for an ABAP
system, see also Configuring SNC on AS ABAP. In order to establish trust for Principal Propagation, follow the
steps described in Configuring Principal Propagation to an ABAP System for RFC [page 492].

Configuration Steps
1. Logon to the cloud connector
2. Choose

Settings

SNC

from the menu bar

3. Enter the corresponding values in the fields Library Name, My Name and Quality of Protection (QoP)
4. Press Save and Close.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

391

Example:

Library Name: Provides the location of the SNC library you are using for the cloud connector.

Note
Bear in mind that you must use one and the same security product on both sides of the
communication.
My Name: The SNC name that identifies the cloud connector. It represents a valid scheme for the SNC
implementation that is used.
Quality of Protection (QoP): Determines the level of protection that you require for the connectivity to the
ABAP systems.

Related Information
Configuring Principal Propagation to an ABAP System for RFC [page 492]

1.4.1.1.5.2.2 Configuring Access Control (RFC)

392

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Exposing Intranet Systems


To allow your on-demand applications to access a certain back-end system on the intranet, you need to insert an
extra line within the cloud connector Access Control management.
1. Go to the Access Control tab page.
2. Choose Add.
3. Back-end Type: You need to select the description that best matches the addressed back-end system. In case
of RFC, only ABAP System and SAP Gateway are fitting values, which means usage of RFC is free of charge.

4. Choose Next.
5. Protocol: You need to choose whether the cloud connector should use RFC or RFC with SNC for connecting to
the back-end system. This is completely independent from the settings on cloud side. This way, you are
ensured that the entire connection from the on-demand application to the actual back-end system (provided
through the SSL tunnel) is secured, partly with SSL and partly with SNC. For more information, see Initial
Configuration (RFC) [page 391].

Note
The back end needs to be properly configured to support SNC connections.
SNC configuration has to be provided in the cloud connector.
6. Choose Next.
7. Choose whether you want to configure a load balancing logon or whether to connect to a concrete application
server.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

393

8. Specify the parameters of the back-end system. It needs to be an existing network address that can be
resolved on the intranet and has network visibility for the cloud connector. If this is only possible using a valid
SAProuter, specify the router in the respective field. The cloud connector will try to establish a connection to
this system, so the address has to be real.
When using a load-balancing configuration, the Message Server specifies the message server of the ABAP
system. The system ID is a three-char identifier that is also found in the SAP Logon configuration.
Alternatively, it's possible to directly specify the message server port in the System ID field.

When using direct logon, the Application Server specifies one application server of the ABAP system. The
instance number is a two-digit number that is also found in in the SAP Logon configuration. Alternatively,
it's possible to directly specify the gateway port in the Instance Number field.

394

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

9. Optional: You can virtualize the system information in case you like to hide your internal host names from the
cloud. The virtual information can be a fake name which does not need to exist. The fields will be prepopulated with the values of the configuration provided in Message Server and System ID, or Application
Server and Instance Number.

Virtual Message Server - specifies the host name exactly as specified as the jco.client.mshost
property in the RFC destination configuration in the cloud. The Virtual System ID allows you to distinguish
between different entry points of your back-end system that have different sets of access control
settings. The value needs to be the same like for the jco.client.r3name property in the RFC
destination configuration in the cloud.
Virtual Application Server - it specifies the host name exactly as specified as the jco.client.ashost
property in the RFC destination configuration in the cloud. The Virtual Instance Number allows you to
distinguish between different entry points of your back-end system that have different sets of access
control settings. The value needs to be the same like for the jco.client.sysnr property in the RFC
destination configuration in the cloud.
10. This step will only come up, if you have chosen RFC SNC, not for plain RFC. The <Principal Type> field
defines what kind of principal is used when configuring a destination on the cloud side using this system
mapping with authentication type Principal Propagation. No matter what you choose, you need to make sure
that the general configuration for the <Principal Type> has been done to make it work correctly. For
destinations using different authentication types, this setting is ignored. In case you choose None as
<Principal Type>, it is not possible to apply Principal Propagation to this system.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

395

Note
In the case of RFC, it is not possible to choose between different principal types. The only supported one is
X.509 certificate, which can be applied only when using an SNC-enabled back-end connection.

11. SNC Partner Name: This step will only come up if you have chosen RFC SNC. The SNC partner name needs to
contain the correct SNC identification of the target system.

12. You can enter an optional description at this stage. The respective description will be shown as a rich tooltip
when the mouse hovers over the entries of the virtual host column (table Mapping Virtual to Internal System).

396

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

13. The summary shows information about the system to be stored. When saving the system mapping, you can
trigger a ping from the cloud connector to the internal host, using the Check availability of internal host check
box. This allows you to make sure the cloud connector can indeed access the internal system, and allows you
to catch basic things, such as spelling mistakes or firewall problems between the cloud connector and the
internal host. If the ping to the internal host is successful, the cloud connector saves the mapping without any
remark. If it fails, a warning will pop up, that the host is not reachable. Details for the reason are available in
the log files. You can execute such a check at any time later for all selected systems in the Access Control
overview.

14. Optional: You can later edit a system mapping (choose Edit) to make the cloud connector route the requests
for sales-system.cloud:sapgw42 to a different back-end system. This can be useful if the system is
currently down and there is a back-up system that can serve these requests in the meantime. However, you
cannot edit the virtual name of this system mapping. If you want to use a different fictional host name in your
on-demand application, you need to delete the mapping and create a new one. Here, you can also change the
Principal Type to None in case you don't want to allow principal propagation to a certain system.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

397

Limiting the Accessible Resources for RFC


In addition to allowing access to a particular host and port, you also need to specify which function modules
(Resources) are allowed to be invoked on that host. The cloud connector uses very strict white lists for its access
control, so allowed are only function modules for which you explicitly granted access. All other RFC requests are
denied by the cloud connector.
1. To define the permitted function modules (Resources) for a particular back-end system, choose the row
corresponding to that back-end system. A dialog appears, prompting you to enter the specific function
module name whose invoking you want to allow.

398

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

2. The cloud connector checks that the function module name of an incoming request is exactly as specified in
the configuration. If it is not, the request is denied.
3. If you select the Prefix option, the cloud connector allows all incoming requests, for which the function module
name begins with the specified string.
4. The Enabled checkbox allows you to specify whether that resource should be initially enabled or disabled.

Related Information
Tutorial: Invoking ABAP Function Modules in On-Premise ABAP Systems [page 399]

1.4.1.1.5.3 Tutorial: Invoking ABAP Function Modules in OnPremise ABAP Systems

Context
This step-by-step tutorial shows how a sample Web application invokes a function module in an on-premise ABAP
system via RFC by using the connectivity service.
The tutorial contains the following sections:
Presenting the user roles
Defining the installation prerequisites

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

399

Developing a sample Web application that uses the connectivity service to consume the simple function
module STFC_CONNECTION.

Connectivity User Roles


Different user roles are involved in the on-demand to on-premise connectivity end-to-end scenario. The particular
steps for the relevant roles are described below:

IT Administrator
This role sets up and configures the cloud connector. Scenario steps:
1. Downloads the cloud connector from https://tools.hana.ondemand.com/#cloud
2. Installs the cloud connector.
3. Establishes an SSL tunnel from the connector to an SAP HANA Cloud Platform account.
4. Configures the exposed back-end systems and resources.

Application Developer
This role develops Web applications using destinations. Scenario steps:
1. Installs the Eclipse IDE, SAP HANA Cloud Platform Tools for Java, and SDK.
2. Develops a Java EE application using the destination API.
3. Configures connectivity destinations as resources in the web.xml file.
4. Configures connectivity destinations via the SAP HANA Cloud Platform server adapter in Eclipse IDE.
5. Deploys the Java EE application locally and on the cloud.

Account Operator
This role deploys Web applications, configures their destinations, and conducts tests. Scenario steps:
1. Obtains a ready Java EE application WAR file.
2. Deploys the Java EE application in an SAP HANA Cloud Platform account.
3. Uploads the connectivity destination configuration via the console client.
4. Tests the Java EE application on a local server and deploys it again to a SAP HANA Cloud Platform account.

400

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Installation Prerequisites
You have downloaded and set up your Eclipse IDE and SAP HANA Cloud Platform Tools for Java.
You have downloaded the SDK. Its version needs to be at least 1.29.18 (SDK for Java Web), 2.11.6 (SDK for
Java EE 6 Web Profile), or 2.9.1 (SDK for Java Web Tomcat 7), respectively.
Your local runtime needs to be hosted by a 64-bit JVM. On Windows platforms, you need to install Microsoft
Visual C++ 2010 Redistributable Package (x64).
You have downloaded and configured your cloud connector. Its version needs to be at least 1.3.0.
To download the SAP tools, go to https://tools.hana.ondemand.com/#cloud.
To download the Microsoft Visual C++ package, go to http://www.microsoft.com/en-us/download/details.aspx?
id=14632 .
To read the installation documentation, go to Installing Java Tools for Eclipse and SDK [page 33] and Installing the
Cloud Connector [page 436].

Creating a Dynamic Web Project


Procedure
1. In the Eclipse IDE, open the Java EE perspective.
2. From the Eclipse main menu, choose

New

Dynamic Web Project .

3. In the Project name field, enter jco_demo .


4. In the Target Runtime pane, select the runtime you want to use to deploy the HelloWorld application. In this
tutorial, we choose Java Web.
5. In the Configuration pane, leave the default configuration.
6. Choose Finish to complete the creation of your project.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

401

Creating a Sample Servlet

Procedure
1. From the jco_demo context menu, choose

New

Servlet .

2. Enter com.sap.demo.jco as the Java package and ConnectivityRFCExample as the Class name and
choose Next.

402

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

3. Choose Finish so that the ConnectivityRFCExample.java servlet is created and opened in the Java editor.
4. Replace the entire servlet class to make use of the JCo API. The JCo API is visible by default for cloud
applications and must not be added explicitly to the application class path.
package com.sap.demo.jco;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sap.conn.jco.AbapException;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoDestinationManager;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoParameterList;
import com.sap.conn.jco.JCoRepository;
/**
* Sample application that uses the connectivity service. In particular,
* it makes use of the capability to invoke a function module in an ABAP system
* via RFC
*
* Note: The JCo APIs are available under <code>com.sap.conn.jco</code>.
*/
public class ConnectivityRFCExample extends HttpServlet
{
private static final long serialVersionUID = 1L;
public ConnectivityRFCExample()
{
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException
{
PrintWriter responseWriter = response.getWriter();
try
{
// access the RFC Destination "JCoDemoSystem"
JCoDestination
destination=JCoDestinationManager.getDestination("JCoDemoSystem");
// make an invocation of STFC_CONNECTION in the backend;
JCoRepository repo=destination.getRepository();
JCoFunction stfcConnection=repo.getFunction("STFC_CONNECTION");
JCoParameterList imports=stfcConnection.getImportParameterList();
imports.setValue("REQUTEXT", "SAP HANA Cloud connectivity runs with
JCo");
stfcConnection.execute(destination);
JCoParameterList exports=stfcConnection.getExportParameterList();
String echotext=exports.getString("ECHOTEXT");
String resptext=exports.getString("RESPTEXT");
response.addHeader("Content-type", "text/html");
responseWriter.println("<html><body>");
responseWriter.println("<h1>Executed STFC_CONNECTION in system
JCoDemoSystem</h1>");
responseWriter.println("<p>Export parameter ECHOTEXT of
STFC_CONNECTION:<br>");
responseWriter.println(echotext);
responseWriter.println("<p>Export parameter RESPTEXT of
STFC_CONNECTION:<br>");
responseWriter.println(resptext);
responseWriter.println("</body></html>");
}
catch (AbapException ae)
{
//just for completeness: As this function module does not have an
exception

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

403

always

//in its signature, this exception cannot occur. However,you should

//take care of AbapExceptions


}
catch (JCoException e)
{
response.addHeader("Content-type", "text/html");
responseWriter.println("<html><body>");
responseWriter.println("<h1>Exception occurred while executing
STFC_CONNECTION in system JCoDemoSystem</h1>");
responseWriter.println("<pre>");
e.printStackTrace(responseWriter);
responseWriter.println("</pre>");
responseWriter.println("</body></html>");
}
}
}

5. Save the Java editor and make sure that the project compiles without errors.

Deploying the Application


Procedure
1. To deploy your Web application locally or on the cloud, see the following two procedures, respectively:
Deploying Locally from Eclipse IDE [page 975]
Deploying on the Cloud from Eclipse IDE [page 977]
2. Once the application is successfully deployed on the cloud and you execute it, the application throws an
exception saying that the JCoDemoSystem destination has not been specified yet:
Exception occurred while executing STFC_CONNECTION in system JCoDemoSystem
com.sap.conn.jco.JCoException: (106) JCO_ERROR_RESOURCE: Destination
JCoDemoSystem does not exist
at
com.sap.conn.jco.rt.DefaultDestinationManager.update(DefaultDestinationManager.ja
va:223)
at
com.sap.conn.jco.rt.DefaultDestinationManager.searchDestination(DefaultDestinatio
nManager.java:377)
at
com.sap.conn.jco.rt.DefaultDestinationManager.getDestinationInstance(DefaultDesti
nationManager.java:96)
at
com.sap.conn.jco.JCoDestinationManager.getDestination(JCoDestinationManager.java:
52)
at com.sap.demo.jco.ConnectivityRFCExample.doGet(ConnectivityRFCExample.java:
47)
..... (cut rest of the call stack)
3. As a next step, you need to configure the JCoDemoSystem destination.

404

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Configuring the RFC Destination on the Cloud


To configure the destination on SAP HANA Cloud Platform, you need to use a virtual application server host name
(abapserver.hana.cloud) and a virtual system number (42) that you will expose later in the cloud connector.
Alternatively, you could use a load balancing configuration with a message server host and a system ID.

Procedure
1. Create a properties file with the following settings:
Name=JCoDemoSystem
Type=RFC
jco.client.ashost=abapserver.hana.cloud
jco.client.cloud_connector_version=2
jco.client.sysnr=42
jco.client.user=DEMOUSER
jco.client.passwd=<password>
jco.client.client=000
jco.client.lang=EN
jco.destination.pool_capacity=5
2. Upload this file to your Web application in SAP HANA Cloud Platform. For more information, see Configuring
Destinations from the Console Client [page 283].
3. Call the URL that references the cloud application again in the Web browser. The application should now
return a different exception:
Exception occurred while executing STFC_CONNECTION in system JCoDemoSystem
com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: Opening connection
to backend failed: Opening connection denied
at
com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java
:632)
at com.sap.conn.jco.rt.MiddlewareJavaRfc
$JavaRfcClient.connect(MiddlewareJavaRfc.java:1307)
at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:726)
at com.sap.conn.jco.rt.PoolingFactory.init(PoolingFactory.java:107)
at
com.sap.conn.jco.rt.ConnectionManager.createFactory(ConnectionManager.java:316)
at
com.sap.conn.jco.rt.DefaultConnectionManager.createFactory(DefaultConnectionManag
er.java:46)
at com.sap.conn.jco.rt.ConnectionManager.getFactory(ConnectionManager.java:
290)
at com.sap.conn.jco.rt.ConnectionManager.getClient(ConnectionManager.java:83)
at com.sap.conn.jco.rt.Context.getConnection(Context.java:216)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1306)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1278)
at com.sap.conn.jco.rt.AbapFunction.execute(AbapFunction.java:295)
at com.sap.demo.jco.ConnectivityRFCExample.doGet(ConnectivityRFCExample.java:
55)
..... (cut rest of the call stack)
4. This means the cloud connector denied opening a connection to this system. As a next step, you need to
configure the system in your installed cloud connector.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

405

Configuring the Host Mapping in the Cloud Connector


This is required since the cloud connector only allows access to white-listed back-end systems. To do this, follow
the steps below:

Procedure
1. Optional: In the cloud connector administration UI, you can check under
has been denied:

Monitor

Audit

whether access

OP_ACCESS_DENIED, Denying access to system abapserver.hana.cloud:sapgw42


2. In the cloud connector administration UI, go to the Access Control tab page.
3. Add a new system under the list of defined resources. Under Mapping Virtual To Internal System, choose the
Add button and define the relevant entries.
1. For Back-end Type, select ABAP System.
2. For Protocol, select RFC.
3. Choose option Without load balancing.
4. Enter application server and instance number. The Application Server entry must be the physical host
name of the machine on which the ABAP application server is running. Example:

5. Enter server and instance number for virtual mapping. Example:

406

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

6. Summary (example):

4. Call the URL that references the cloud application again in the Web browser. The application should now
throw a different exception:
com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: Access denied for
STFC_CONNECTION
at
com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java
:632)
at com.sap.conn.jco.rt.MiddlewareJavaRfc
$JavaRfcClient.execute(MiddlewareJavaRfc.java:1764)
at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:1110)
at com.sap.conn.jco.rt.ClientConnection.execute(ClientConnection.java:943)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1307)
at com.sap.conn.jco.rt.RfcDestination.execute(RfcDestination.java:1278)
at com.sap.conn.jco.rt.AbapFunction.execute(AbapFunction.java:295)
at com.sap.demo.jco.ConnectivityRFCExample.doGet(ConnectivityRFCExample.java:
55)
..... (cut rest of the call stack)
5. This means the cloud connector denied invoking STFC_CONNECTION in this system. As a final step, you need
to provide access to this function module in your installed cloud connector.

Configuring the Function Module in the Cloud Connector


This is required since the cloud connector only allows access to white-listed resources (which are defined on the
basis of function module names with RFC). To do this, follow the steps below:

Procedure
1. Optional: In the cloud connector administration UI, you can check under
has been denied:

Monitor

Audit

whether access

OP_ACCESS_DENIED, Denying access for user DEMOUSER to resource STFC_CONNECTION


on system abapserver.hana.cloud:sapgw42
2. In the cloud connector administration UI, go to the Access Control tab page.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

407

3. For the specified internal system referring to abapserver.hana.cloud, add a new resource. Select the system in
the table.
4. Add a new function name under the list of exposed resources. Under Resources Accessible On
localappserverhost.compamy.corp:sapgw23, choose the Add button and specify STFC_CONNECTION as the
accessible resource as shown in the screenshot below. Make sure that you have selected the Exact Name
option to only expose this single function module.

5. Call the URL that references the cloud application again in the Web browser. The application should now
return with a message showing the export parameters of the function module after a successful invocation.

Related Information
You can monitor the state and logs of your Web application deployed on SAP HANA Cloud Platform.
For more information, see Using Logs in the Eclipse IDE [page 1131].

1.4.1.1.6

Sending and Fetching E-Mail

The e-mail connectivity functionality allows you to send electronic mail messages from your Web applications
using e-mail providers that are accessible on the Internet, such as Google Mail (Gmail). It also allows you to
retrieve e-mails from the mailbox of your e-mail account.
To send and fetch e-mail, you need to do the following:
Obtain a mail session resource using resource injection or, alternatively, using a JNDI lookup.
Configure the mail session resource by specifying the protocol settings of your mail server as a mail
destination configuration. SMTP is supported for sending e-mail, and POP3 and IMAP for retrieving messages
from a mailbox account.
In your Web application, use the JavaMail API (javax.mail) to create and send a MimeMessage object or
retrieve e-mails from a message store.

408

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Mail Destinations [page 410]
JavaMail API [page 409]
Enabling the Debugging Feature [page 413]
Tutorial: Sending E-Mails [page 414]
Connectivity Service [page 267]

1.4.1.1.6.1 JavaMail API


In your Web application, you use the JavaMail API (javax.mail) to create and send a MimeMessage object or
retrieve e-mails from a message store.

Mail Session
You can obtain a mail session resource using resource injection or a JNDI lookup. The properties of the mail
session are specified by a mail destination configuration. So that the resource is linked to this configuration, the
names of the destination configuration and mail session resource must be the same.
Resource injection
You can directly inject the mail session resource using annotations as shown in the example below. You do not
need to declare the JNDI resource reference in the web.xml deployment descriptor.
@Resource(name = "mail/Session")
private javax.mail.Session mailSession;
JNDI lookup
To obtain a resource of type javax.mail.Session, you declare a JNDI resource reference in the web.xml
deployment descriptor in the WebContent/WEB-INF directory as shown below. Note that the recommended
resource reference name is Session and the recommended subcontext is mail (mail/Session):
<resource-ref>
<res-ref-name>mail/Session</res-ref-name>
<res-type>javax.mail.Session</res-type>
</resource-ref>
An initial JNDI context can be obtained by creating a javax.naming.InitialContext object. You can then
consume the resource by looking up the naming environment through the InitialContext, as follows:
InitialContext ctx = new InitialContext();
Session mailSession = (Session)ctx.lookup("java:comp/env/mail/Session");
Note that according to the Java EE Specification, the prefix java:comp/env should be added to the JNDI
resource name (as specified in the web.xml) to form the lookup name.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

409

Sending E-Mail
With the javax.mail.Session object you have retrieved, you can use the JavaMail API to create a
MimeMessage object with its constituent parts (instances of MimeMultipart and MimeBodyPart). The message
can then be sent using the send method from the Transport class:
Transport transport = mailSession.getTransport();
transport.connect();
MimeMessage mimeMessage = new MimeMessage(mailSession);
...
transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
transport.close();

Fetching E-Mail
You can retrieve the e-mails from the inbox folder of your e-mail account using the getFolder method from the
Store class as follows:
Store store = mailSession.getStore();
store.connect();
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
...
folder.close(true);
store.close();
Fetched e-mail is not scanned for viruses. This means that e-mail retrieved from an e-mail provider using IMAP or
POP3 could contain a virus that could potentially be distributed (for example, if e-mail is stored in the database or
forwarded). Basic mitigation steps you could take include the following:
Choose an e-mail provider that scans received e-mail for viruses
Store e-mail in the document service repository before processing it. Make sure that the virus scanner
provided by the document service is enabled.
Generally dont resend e-mail that you have fetched

Related Information
Connectivity and Destination APIs [page 272]

1.4.1.1.6.2 Mail Destinations


A mail destination is used to specify the mail server settings for sending or fetching e-mail, such as the e-mail
provider, e-mail account, and protocol configuration.
The name of the mail destination must match the name used for the mail session resource. You can configure a
mail destination directly in a destination editor or in a mail destination properties file. The mail destination then

410

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

needs to be made available in the cloud. If a mail destination is updated, an application restart is required so that
the new configuration becomes effective.

Mail Destination Properties


The following properties are used to configure the mail destination:
Table 225:
Property

Description

Mandatory

Name

The name of the destination. The mail session that is configured by

Yes

this mail destination is available by injecting the mail session re


source mail/<Name>. The name of the mail session resource
must match the destination name.
The recommended name for a mail destination is Session.

Type

The type of destination. It must be MAIL for mail destinations.

Yes

mail.*

javax.mail properties for configuring the mail session.

Depends on the mail protocol


used.

To send e-emails, you must specify at least

mail.transport.protocol and mail.smtp.host.


To retrieve e-mails, you must specify at least

mail.store.protocol, mail.<protocol>.host, and for


POP3 mail.pop3.port.

mail.password

Password that is used for authentication. The user name for au

Yes, if authentication is used

thentication is specified by mail.user (a standard

(mail.smtp.auth=true and

javax.mail property).

generally for fetching e-mail).

Note the following points:


mail.smtp.port: The SMTP standard ports 465 (SMTPS) and 587 (SMTP+STARTTLS) are open for
outgoing connections on SAP HANA Cloud Platform.
mail.pop3.port: The POP3 standard ports 995 (POP3S) and 110 (POP3+STARTTLS) are open for outgoing
connections (used to fetch e-mail).
mail.imap.port: The IMAP standard ports 993 (IMAPS) and 143 (IMAP +STARTTLS) are open for outgoing
connections (used to fetch e-mail).
mail.<protocol>.host: The mail server of an e-mail provider accessible on the Internet, such as Google
Mail (for example, smtp.gmail.com, imap.gmail.com, and so on).

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

411

SMTP and IMAP Example


The destination below has been configured to use Gmail as the e-mail provider, SMTP with STARTTLS (port 587)
for sending e-mail, and IMAP (SSL) for receiving e-mail:
Name=Session
Type=MAIL
mail.user=<gmail account name>
mail.password=<gmail account password>
mail.transport.protocol=smtp
mail.smtp.host=smtp.gmail.com
mail.smtp.auth=true
mail.smtp.starttls.enable=true
mail.smtp.port=587
mail.store.protocol=imaps
mail.imaps.host=imap.gmail.com

SMTPS Example
The destination below uses Gmail and SMTPS (port 465) for sending e-mail:
Name=Session
Type=MAIL
mail.user=<gmail account name>
mail.password=<gmail account password>
mail.transport.protocol=smtps
mail.smtps.host=smtp.gmail.com
mail.smtps.auth=true
mail.smtps.port=465

Related Information
JavaMail API Documentation
Configuring Destinations from the Eclipse IDE [page 290]
Configuring Destinations from the Cockpit [page 301]
Configuring Destinations from the Console Client [page 283]

412

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.1.6.3 Enabling the Debugging Feature


In order to troubleshoot e-mail delivery and retrieval issues, it is useful to have debug information about the mail
session established between your SAP HANA Cloud Platform application and your e-mail provider.

Context
To include debug information in the standard trace log files written at runtime, you can use the JavaMail
debugging feature and the System.out logger. The System.out logger is preconfigured with the log level INFO.
You require at least INFO or a level with more detailed information.

Procedure
1. To enable the JavaMail debugging feature, add the mail.debug property to the mail destination
configuration as shown below:
mail.debug=true
2. To check the log level for your application, log onto the cockpit.
3. In the content area, choose

Applications

Java Applications .

4. In the application list, select your application to go to the overview.


5. In the content area, choose

Monitoring

Logging .

6. In the Default Trace section in the Log Files panel, choose Configure Loggers.
In the Logger Configuration dialog box, all loggers used since the application was started are listed with the log
levels that are currently applicable. Loggers are not listed if the relevant application code has not been
executed.
7. Enter system.out in the Filter field.
8. If necessary, change the log level for the System.out logger.

Note
You can check the log level of the System.out logger in a similar manner from the Eclipse IDE.

Related Information
Cockpit [page 84]
Using Logs in the Eclipse IDE [page 1131]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

413

1.4.1.1.6.4 Tutorial: Sending E-Mails


This step-by-step tutorial shows how you can send an e-mail from a simple Web application using an e-mail
provider that is accessible on the Internet. As an example, it uses Gmail.
Table 226:
Steps

Sample Application

Prerequisites [page 414]

The application is also available as a sample in the SAP

1. Create a Dynamic Web Project and Servlet [page 414]

HANA Cloud Platform SDK:

2. Extend the Servlet [page 414]

Sample name: mail

3. Test the Application Locally [page 417]

Location: <sdk>/samples folder

4. Test the Application in the Cloud [page 417]

More information: Samples [page 51]

Prerequisites
You have installed the SAP HANA Cloud Platform Tools and created a SAP HANA Cloud server runtime
environment as described in Installing Java Tools for Eclipse and SDK [page 33].

1. Create a Dynamic Web Project and Servlet


To develop applications for the SAP HANA Cloud Platform, you require a dynamic Web project and servlet.
1. From the Eclipse main menu, choose

File

New

Dynamic Web Project .

2. In the Project name field, enter mail.


3. In the Target Runtime pane, select the runtime you want to use to deploy the application. In this tutorial, you
use Java Web.
4. In the Configuration area, leave the default configuration and choose Finish.
5. To add a servlet to the project you have just created, select the mail node in the Project Explorer view.
6. From the Eclipse main menu, choose

File

New

Servlet .

7. Enter the Java package com.sap.cloud.sample.mail and the class name MailServlet.
8. Choose Finish to generate the servlet.

2. Extend the Servlet


You add code to create a simple Web UI for composing and sending an e-mail message. The code includes the
following methods:
doGet(): Creates an HTML form for entering e-mail details.
doPost(): Uses the mail session resource to create and send a MimeMessage object. It confirms that an email has been sent.

414

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1. In the Project Explorer view, expand the mail/Java Resources/src/com.sap.cloud.sample.mail


node.
2. Select MailServlet.java, and from the context menu choose

Open With

Java Editor .

3. In the opened editor, replace the entire servlet class with the following content:
package com.sap.cloud.sample.mail;
import java.io.IOException;
import java.io.PrintWriter;
import javax.annotation.Resource;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Servlet implementing a mail example which shows how to use the connectivity
service APIs to send e-mail.
* The example provides a simple UI to compose an e-mail message and send it.
The post method uses
* the connectivity service and the javax.mail API to send the e-mail.
*/
public class MailServlet extends HttpServlet {
@Resource(name = "mail/Session")
private Session mailSession;
private static final long serialVersionUID = 1L;
private static final Logger LOGGER =
LoggerFactory.getLogger(MailServlet.class);
/** {@inheritDoc} */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// Show input form to user
response.setHeader("Content-Type", "text/html");
PrintWriter writer = response.getWriter();
writer.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01
Transitional//EN\" "
+ "\"http://www.w3.org/TR/html4/loose.dtd\">");
writer.write("<html><head><title>Mail Test</title></head><body>");
writer.write("<form action='' method='post'>");
writer.write("<table style='width: 100%'>");
writer.write("<tr>");
writer.write("<td width='100px'><label>From:</label></td>");
writer.write("<td><input type='text' size='50' value=''
name='fromaddress'></td>");
writer.write("</tr>");
writer.write("<tr>");
writer.write("<td><label>To:</label></td>");
writer.write("<td><input type='text' size='50' value=''
name='toaddress'></td>");
writer.write("</tr>");
writer.write("<tr>");
writer.write("<td><label>Subject:</label></td>");
writer.write("<td><textarea rows='1' cols='100'
name='subjecttext'>Subject</textarea></td>");
writer.write("</tr>");
writer.write("<tr>");
writer.write("<td><label>Mail:</label></td>");

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

415

writer.write("<td><textarea rows='7' cols='100' name='mailtext'>Mail


Text</textarea></td>");
writer.write("</tr>");
writer.write("<tr>");
writer.write("<tr>");
writer.write("<td><input type='submit' value='Send Mail'></td>");
writer.write("</tr>");
writer.write("</table>");
writer.write("</form>");
writer.write("</body></html>");
}
/** {@inheritDoc} */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException,
IOException {
Transport transport = null;
try {
// Parse form parameters
String from = request.getParameter("fromaddress");
String to = request.getParameter("toaddress");
String subjectText = request.getParameter("subjecttext");
String mailText = request.getParameter("mailtext");
if (from.isEmpty() || to.isEmpty()) {
throw new RuntimeException("Form parameters From and To may not
be empty!");
}
// Construct message from parameters
MimeMessage mimeMessage = new MimeMessage(mailSession);
InternetAddress[] fromAddress = InternetAddress.parse(from);
InternetAddress[] toAddresses = InternetAddress.parse(to);
mimeMessage.setFrom(fromAddress[0]);
mimeMessage.setRecipients(RecipientType.TO, toAddresses);
mimeMessage.setSubject(subjectText, "UTF-8");
MimeMultipart multiPart = new MimeMultipart("alternative");
MimeBodyPart part = new MimeBodyPart();
part.setText(mailText, "utf-8", "plain");
multiPart.addBodyPart(part);
mimeMessage.setContent(multiPart);
// Send mail
transport = mailSession.getTransport();
transport.connect();
transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
// Confirm mail sending
response.getWriter().println(
"E-mail was sent (in local scenario stored in '<localserver>/work/mailservice'"
+ " - in cloud scenario using configured mail
session).");
} catch (Exception e) {
LOGGER.error("Mail operation failed", e);
throw new ServletException(e);
} finally {
// Close transport layer
if (transport != null) {
try {
transport.close();
} catch (MessagingException e) {
throw new ServletException(e);
}
}
}
}
}
4. Save the class.

416

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

3. Test the Application Locally


Test your code using the local file system before configuring your mail destination and testing the application in
the cloud.
1. To test your application on the local server, select the servlet and choose

Run

Run As

2. Make sure that the Manually define a new server radio button is selected and select

SAP

Run on Server .
Java Web

Server .
3. Choose Finish. A sender screen appears, allowing you to compose and send an e-mail. The sent e-mail is
stored in the work/mailservice directory contained in the root of your SAP HANA Cloud Platform local
runtime server.

Note
To send the e-mail through a real e-mail server, you can configure a destination as described in the next
section, but using the local server runtime. Remember that once you have configured a destination for local
testing, messages are no longer sent to the local file system.

4. Test the Application in the Cloud


Create a mail destination that contains the SMTP settings of your e-mail provider. The name of the mail
destination must match the name used in the resource reference in the web.xml descriptor.
1. In the Eclipse main menu, choose

File

New

Other

Server

Server .

2. Select the server type SAP HANA Cloud Platform and choose Next.
3. In the SAP HANA Cloud Platform Application dialog box, enter the name of your application, account, user,
and password and choose Finish. The new server is listed in the Servers view.
4. Double-click the server and switch to the Connectivity tab.
5. In the All Destinations section, choose the

New Destination button.

6. In the New Destination dialog box, enter the name Session and type Mail and choose OK.

7. Configure the destination by adding the properties for port 587 (SMTP+STARTTLS) or 465 (SMTPS). To do
this, choose the Add Property button in the Properties section:

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

417

To use port 587 (SMTP+STARTTLS), add the following properties:


Table 227:
Property

Value

mail.transport.protocol

smtp

mail.smtp.host

smtp.gmail.com

mail.smtp.auth

true

mail.smtp.starttls.enable

true

mail.smtp.port

587

mail.user

<gmail account name>

mail.password

<gmail account password>

The configured destination for port 587 is shown below:

For port 465 (SMTPS), use the following properties:


Table 228:
Property

Value

mail.transport.protocol

smtps

mail.smtps.host

smtp.gmail.com

mail.smtps.auth

true

mail.smtps.port

465

mail.user

<gmail account name>

mail.password

<gmail account password>

8. Save the destination to upload it to the cloud. The settings take effect when the application is next started.
9. In the Project Explorer view, select MailServlet.java and choose

Run

Run As

Run on Server .

10. Make sure that the Choose an existing server radio button is selected and select the server you have just
defined.
11. Choose Finish to deploy to the cloud. You should now see the sender screen, where you can compose and
send an e-mail

418

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.1.7

Multitenancy in the Connectivity Service

Internet Connectivity
Applications that require connection to a remote service can use the connectivity service to configure HTTP or
RFC endpoints. In a provider-managed application, such an endpoint can either be once defined by the application
provider, or by each application consumer. If the application needs to use the same endpoint, independently from
the current application consumer, the destination that contains the endpoint configuration is uploaded by the
application provider. If the endpoint should be different for each application consumer, the destination shall be
uploaded by each particular application consumer.
Destinations can be simultaneously configured on three levels: application, consumer account and subscription.
This means it is possible to have one and the same destination on more than one configuration level. For more
information, see Destinations [page 281]
Destinations visibility according to the level:
Destination uploaded on account level - it is visible for the whole account
Destination uploaded on subscription level - it is only visible for the dedicated subscription
Destination uploaded on application level - it is visible by all tenants and accounts, regardless their permission
settings
When the application accesses the destination at runtime, the connectivity service tries to first lookup the
requested destination in the consumer account on subscription level. If no destination is available there, it checks
if the destination is available on the account level of the consumer account. If there is still no destination found,
the connectivity service searches on application level of the provider account.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

419

Consumer-specific destination:

If an application consumer is not allowed to specify an endpoint for a provider application, the
DestinationProvider=Application property can be set in the HTTP or RFC destination. In this case, the
destination is always read from the provider application.
Provider-specific destination:

420

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

On-Demand to On-Premise Connectivity


This connectivity type is fully applicable when working with Connectivity service 2.x.

Related Information
Multitenant Applications [page 990]
Creating a Multitenant Connectivity Application [page 1003]

1.4.1.2

Consuming the Connectivity Service (HANA XS)

This section is dedicated to SAP HANA Cloud Platform connectivity service in the HANA technology.

Introduction
You can create connectivity destinations for HANA XS applications, configure their security, adding roles and then
test them on a relevant landscape (productive or trial). Depending to your scenario, see:
Connectivity for SAP HANA XS (Productive) [page 424]
Connectivity for SAP HANA XS (Trial) [page 421]

Related Information
SAP HANA Cloud Connector [page 434]

1.4.1.2.1

Connectivity for SAP HANA XS (Trial)

Context
This section represents the usage of the connectivity service when you develop and deploy SAP HANA XS
applications in a trial environment. Currently, you can make XS destinations for consuming HTTP Internet
services only.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

421

The tutorial explains how to create a simple SAP HANA XS application which is written in server-side JavaScript
and makes use of the connectivity service for making Internet connections. In the HTTP example, the package is
named connectivity and the XS application is mapinfo. The output displays information from Google Maps
showing the distance between Frankfurt and Cologne, together with the consumed time if travelling with a car, as
all this information is provided in American English.

Features
In this case, you can develop an XS application in a trial environment at SAP HANA Cloud Platform so that the
application connects to external Internet services or resources.
XS parameter

hanatrial.ondemand.com

useProxy

true

proxyHost

proxy-trial

proxyPort

8080

useSSL

true / false

Note
The useSSL property can be set to true or false depending on the XS application's needs.

1. Initial Steps
To create and assign an XS destination, you need to have a developed HANA XS application.
If you have already created one and have opened a database tunnel, go straight to procedure 2. Create an XS
Destination File on this page.
If you need to create an XS application from scratch, go to page Creating an SAP HANA XS Application [page
59] and execute procedures 1 to 6. Then execute the procedures from this page (2 to 5).

Note
The subpackage in which you will later create your XS destination and XSJS files has to be named connectivity.

2. Create an XS Destination File


1. In the Project Explorer view, select the connectivity folder and choose

File

New

File .

2. Enter the file name google.xshttpdest and choose Finish.


3. Copy and paste the following destination configuration settings:
host = "maps.googleapis.com";

422

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

port = 80;
pathPrefix = "/maps/api/distancematrix/json";
useProxy = true;
proxyHost = "proxy-trial";
proxyPort = 8080;
authType = none;
useSSL = false;
timeout = 30000;
4. Save your changes.
5. Activate the file.

3. Create an XSJS File


1. In the Project Explorer view, select the connectivity folder and choose

File

New

File .

2. Enter the file name google_test.xsjs and choose Finish.


3. Copy and paste the following JavaScript code into the file:
var destination_package = "connectivity.mapinfo";
var destination_name = "google";
try {
var dest = $.net.http.readDestination(destination_package,
destination_name);
var client = new $.net.http.Client();
var req = new $.web.WebRequest($.net.http.GET, "?
origins=Frankfurt&destinations=Cologne&mode=driving&language=enUS&sensor=false");
client.request(req, dest);
var response = client.getResponse();
$.response.contentType = "application/json";
$.response.setBody(response.body.asString());
$.response.status = $.net.http.OK;
} catch (e) {
$.response.contentType = "text/plain";
$.response.setBody(e.message);
}
4. Save your changes.
5. Activate the file.

4. Grant a Role to the User


1. In the Systems view, select your system and from the context menu choose SQL Console.
2. In the SQL console, enter the following, replacing <SAP HANA Cloud user> with your user:
call
"HCP"."HCP_GRANT_ROLE_TO_USER"('p1234567890trial.myhanaxs.hello::model_access',
'<SAP HANA Cloud user>')
3. Execute the procedure. You should see a confirmation that the statement was successfully executed.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

423

5. Test Your Application


Open the cockpit and proceed as described in Launching SAP HANA XS Applications [page 1009].
You will be authenticated by SAML and should then see a text similar to the following:
Hello, p1234567890,
This is the response from my SQL. The current user is: p1234567890

Related Information
XS Destination Properties [page 432]

1.4.1.2.2

Connectivity for SAP HANA XS (Productive)

Overview
This section represents the usage of the connectivity service in a productive SAP HANA instance. Below are listed
the available scenarios depending on the connectivity and authentication types you use for your development
work.

Connectivity Types
Internet Connectivity
In this case, you can develop an XS application in a productive SAP HANA instance at SAP HANA Cloud Platform
so that the application connects to external Internet services or resources.
XS parameter

hana.ondemand.com

us1.hana.ondemand.com

ap1.hana.ondemand.com

useProxy

true

true

false

proxyHost

proxy

proxy

N/A

proxyPort

8080

8080

N/A

useSSL

true / false

true / false

true / false

424

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Note
In the outbound scenarion, the useSSL property can be set to true or false depending on the XS
application's needs.
For more information, see Using XS Destinations for Internet Connectivity [page 426]

On-Demand to On-Premise Connectivity


In this case, you can develop an XS application in a productive SAP HANA instance at SAP HANA Cloud Platform
so that the application connects, via a cloud connector tunnel, to on-premise services and resources.
The corresponding XS parameters for all productive landscapes are the same. That is:
XS parameter

hana.ondemand.com

us1.hana.ondemand.com

ap1.hana.ondemand.com

useProxy

true

true

true

proxyHost

localhost

localhost

localhost

proxyPort

20003

20003

20003

useSSL

false

false

false

Note
When XS applications consume the connectivity service to connect to on-premise systems, the useSSL
property must always be set to false.
The communication between the XS application and the proxy listening on localhost is always via HTTP.
Whether the connection to the on-premise back-end should be HTTP or HTTPS is a matter of access control
configuration in the cloud connector. For more information, see Configuring Access Control (HTTP) [page 341].
For more information, see Using XS Destinations for On-Demand to On-Premise Connectivity [page 429]

Authentication Types
No Authenticaion
Internet via HTTP - you can directly connect to an Internet service.
Internet via HTTPS - you need to use SSL certificate to access an Internet service. To meet this requirement,
proceed as follows:
1. As a prerequisite, you need to have previously exported a certificate for the relevant HTTPS site.
2. Then, open a Web browser and start the SAP HANA XS Administration Tool (https://
<schema><account>.<host>sap/hana/xs/admin/).
3. On the XS Applications page, expand the nodes in the application tree to locate your application.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

425

4. Select the .xshttpdest file to display details of the HTTP destination and then choose Edit.
5. In the AUTHENTICATION section, leave the None radio button selected..
6. Select the Use SSL checkbox and from the Trust Store field choose your certificate.
7. Save your entries.

Basic Authentication
You need credentials to access an Internet or on-premise service. To meet this requirement, proceed as follows:
1. Open a Web browser and start the SAP HANA XS Administration Tool (https://
<schema><account>.<host>/sap/hana/xs/admin/).
2. On the XS Applications page, expand the nodes in the application tree to locate your application.
3. Select the .xshttpdest file to display details of the HTTP destination and then choose Edit.
4. In the AUTHENTICATION section, choose the Basic radio button.
5. Enter the credentials for the on-premise service.
6. Save your entries.

1.4.1.2.2.1 Using XS Destinations for Internet Connectivity

Context
This tutorial explains how to create a simple SAP HANA XS application, which is written in server-side JavaScript
and makes use of the connectivity service for making Internet connections.
In the HTTP example, the package is named connectivity and the XS application is mapinfo. The output displays
information from Google Maps showing the distance between Frankfurt and Cologne, together with the consumed
time if travelling with a car, as all this information is provided in American English..

Note
You can check another outbound connectivity example (financial services that display the latest stock values)
in SAP HANA Developer Guide section "8.4.1 Tutorial: Using the XSJS Outbound API ".

Prerequisites
You have a productive SAP HANA instance. For more information, see Using a Productive SAP HANA
Database System [page 1010].
You have installed the SAP HANA tools. For more information, see Installing SAP HANA Tools for Eclipse
[page 58].

426

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1. Initial Steps
To create and assign an XS destination, you need to have a developed HANA XS application.
If you have already created one and have opened a database tunnel, go straight to procedure 2. Create an XS
Destination File on this page.
If you need to create an XS application from scratch, go to page Creating an SAP HANA XS Application [page
59] and execute procedures 1 to 6. Then execute the procedures from this page (2 to 5).

Note
The subpackage in which you will later create your XS destination and XSJS files has to be named connectivity.

2. Create an XS Destination File


1. In the Project Explorer view, select the connectivity folder and choose

File

New

File .

File

New

File .

2. Enter the file name google.xshttpdest and choose Finish.


3. Copy and paste the following destination configuration settings:
host = "maps.googleapis.com";
port = 80;
pathPrefix = "/maps/api/distancematrix/json";
useProxy = true;
proxyHost = "proxy";
proxyPort = 8080;
authType = none;
useSSL = false;
timeout = 30000;
4. Save your changes.
5. Activate the file.

3. Create an XSJS File


1. In the Project Explorer view, select the connectivity folder and choose
2. Enter the file name google_test.xsjs and choose Finish.
3. Copy and paste the following JavaScript code into the file:
var destination_package = "connectivity.mapinfo";
var destination_name = "google";
try {
var dest = $.net.http.readDestination(destination_package,
destination_name);
var client = new $.net.http.Client();
var req = new $.web.WebRequest($.net.http.GET, "?
origins=Frankfurt&destinations=Cologne&mode=driving&language=enUS&sensor=false");
client.request(req, dest);
var response = client.getResponse();

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

427

$.response.contentType = "application/json";
$.response.setBody(response.body.asString());
$.response.status = $.net.http.OK;
} catch (e) {
$.response.contentType = "text/plain";
$.response.setBody(e.message);
}
4. Save your changes.
5. Activate the file.

Note
To consume an Internet service via HTTPS, you need to export your HTTPS service certificate into X.509
format, to import it into a trust store and to assign it to your activated destination. You need to do this in the
SAP HANA XS Administration Tool (https://<schema><account>.<host>/sap/hana/xs/admin/). For more
information, see SAP HANA Developer Guide section "3.6.2 SAP HANA XS Application Authentication".

4. Grant a Role to the User


1. In the Systems view, expand

Security

Users

and then double-click your user ID.

2. On the Granted Roles tab, choose the + (Add) button.


3. Select the model_access role in the list and choose OK. The role is now listed on the Granted Roles tab.
4. Choose Deploy in the upper right corner of screen. A message confirms that your user has been modified.

5. Test Your Application


Open the cockpit and proceed as described in Launching SAP HANA XS Applications [page 1009].
You will be authenticated by SAML and should then see a text similar to the following:
Hello, p1234567890,
This is the response from my SQL. The current user is: p1234567890

Additional Example
You can also see an example for enabling server-side JavaScript applications to use the outbound connectivity
API. For more information, see SAP HANA Developer Guide section "8.4.1 Tutorial: Using the XSJS Outbound
API".

Related Information
XS Destination Properties [page 432]

428

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Consuming Internet Services (Java Web or Java EE 6 Web Profile) [page 348]

1.4.1.2.2.2 Using XS Destinations for On-Demand to OnPremise Connectivity

Context
This tutorial explains how to create a simple SAP HANA XS application that consumes a sample back-end system
exposed via the cloud connector.
In this example, the XS application consumes an on-premise system with basic authentication on landscape
hana.ondemand.com.

Prerequisites
You have a productive SAP HANA instance. For more information, see Using a Productive SAP HANA
Database System [page 1010].
You have installed the SAP HANA tools. For more information, see Installing SAP HANA Tools for Eclipse
[page 58]. You need them to open a Database Tunnel.
You have cloud connector 2.x installed on an on-premise system. For more information, see Installing the
Cloud Connector [page 436].
A sample back-end system with basic authentication is available on an on-premise host. For more
information, see Setting Up an Application as a Sample Back-End System [page 382].
You have created a tunnel between your account and a cloud connector. For more information, see Initial
Configuration [page 459] section "Establishing Connections to SAP HANA Cloud Platform".
The back-end system is exposed for the SAP HANA XS application via cloud connector configuration using as
settings: virtual_host = virtualpingbackend and virtual_port = 1234. For more information, see
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362].

Note
The last two prerequisites can be achieved by exposing any other available HTTP service in your on-premise
network. In this case, you shall adjust accordingly the pathPrefix value, mentioned below in procedure "2.
Create an XS Destination File".

1. Initial Steps
To create and assign an XS destination, you need to have a developed HANA XS application.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

429

If you have already created one and have opened a database tunnel, go straight to procedure 2. Create an XS
Destination File on this page.
If you need to create an XS application from scratch, go to page Creating an SAP HANA XS Application [page
59] and execute procedures 1 to 6. Then execute the procedures from this page (2 to 6).

Note
The subpackage in which you will later create your XS destination and XSJS files has to be named connectivity.

2. Create an XS Destination File


1. In the Project Explorer view, select the connectivity folder and choose

File

New

File .

2. Enter the file name odop.xshttpdest and choose Finish.


3. Copy and paste the following destination configuration settings:
host = "virtualpingbackend";
port = 1234;
useSSL = false;
pathPrefix = "/BackendAppHttpBasicAuth/basic";
useProxy = true;
proxyHost = "localhost";
proxyPort = 20003;
timeout = 3000;

Note
In case you use SDK with a version equal to or lower than 1.44.0.1 (Java Web) and 2.24.13 (Java EE 6
Web Profile) respectively, you should find the on-premise WAR files in directory <SDK_location>/
tools/samples/connectivity/onpremise. Also, the pathPrefix should be /
PingAppHttpBasicAuth/pingbasic.
4. Save your changes.
5. Activate the file.

3. Create an XSJS File


1. In the Project Explorer view, select the connectivity folder and choose

File

New

File .

2. Enter the file name ODOPTest.xsjs and choose Finish.


3. Copy and paste the following JavaScript code into the file:
$.response.contentType = "text/html";
var dest = $.net.http.readDestination("connectivity","odop");
var client = new $.net.http.Client();
var req = new $.web.WebRequest($.net.http.GET, "");
client.request(req, dest);
var response = client.getResponse().body.asString();
$.response.setBody(response);

430

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

4. Save your changes.


5. Activate the file.

Note
You also need to enter your on-premise credentials. You should not enter them in the destination file since they
must not be exposed as plain text.

4. Provide Secured Credentials


1. Open a Web browser and start the SAP HANA XS Administration Tool (https://
<schema><account>.<host>/sap/hana/xs/admin/).
2. On the XS Applications page, expand the nodes in the application tree to locate your application.
3. Select the odop.xshttpdest file to display the HTTP destination details and then choose Edit.
4. In section AUTHENTICATION, choose the Basic radio button.
5. Enter your on-premise credentials (user and password).
6. Save your entries.

Note
If you later need to make another configuration change to your XS destination, you need to enter your
password again since it is no longer remembered by the editor.

5. Grant a Role to the User


1. In the Systems view, expand

Security

Users

and then double-click your user ID.

2. On the Granted Roles tab, choose the + (Add) button.


3. Select the model_access role in the list and choose OK. The role is now listed on the Granted Roles tab.
4. Choose Deploy in the upper right corner of screen. A message confirms that your user has been modified.

6. Test Your Application


Open the cockpit and proceed as described in Launching SAP HANA XS Applications [page 1009].
You will be authenticated by SAML and should then see a text similar to the following:
Hello, p1234567890,
This is the response from my SQL. The current user is: p1234567890

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

431

Principal Propagation to on-premise systems


Principal Propagation scenario is available for HANA XS applications. It is used for propagating the currently
logged in user to an on-premise backend system using the cloud connector and connectivity service. To configure
the scenario make sure to:
1.Create an XS destination with the parameter authType=SamlAssertionPropagation.
2.Open the cloud connector and mark your HANA instance as trusted in the Principal Propagation tab. The HANA
instance name is displayed in the cockpit under
see Setting Up Trust [page 480].

Persistence

Databases & Schemas . For more information,

Related Information
XS Destination Properties [page 432]
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile) [page 362]

1.4.1.2.2.3 XS Destination Properties


XS Property

Description

Value

host

It enables you to specify the host name


of the HTTP destination providing the
service or data you want your SAP
HANA XS application to access.

URL (string)

port

It enables you to specify the port


number to use for connections to the
HTTP destination hosting the service or
data you want your SAP HANA XS
application to access.

For Internet connection: 80, 443

For on-demand to on-premise


connection: 1080

For service-to-service connection:

8443

pathPrefix

It enables you to specify a text element


to add to the start of the URL used for
connections to the service specified in
the HTTP destination configuration.

useProxy

It enables you to specify whether a


proxy server must be used to resolve
the host name specified in the HTTP
destination configuration file.

Depends on the authentication type and

the landscape on which you deploy your


SAP HANA XS application.

432

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

"..."; (string)

For hana.ondemand.com:

Internet: true

On-premise: true

Service-to-service: true

For us1.hana.ondemand.com:

Internet: true

On-premise: true

Service-to-service: false

SAP HANA Cloud Platform


SAP HANA Cloud Platform

XS Property

Description

Value

For ap1.hana.ondemand.com:

proxyHost

Depending on the authentication type


and the landscape on which you deploy
your SAP HANA XS application.

proxyPort

Depending on the authentication type


and the landscape on which you deploy
your SAP HANA XS application.

On-premise: true

Service-to-service: false

For hana.ondemand.com:

Internet: proxy

On-premise: localhost

Service-to-service: proxy

For us1.hana.ondemand.com:

Internet: proxy

On-premise: localhost

Service-to-service: N/A

For ap1.hana.ondemand.com:

Internet: N/A

On-premise: localhost

Service-to-service: N/A

For hana.ondemand.com:

Internet: 8080

On-premise: 20003

Service-to-service: 8080

For us1.hana.ondemand.com:

Internet: false

Internet: 8080

On-premise: 20003

Service-to-service: N/A

For ap1.hana.ondemand.com:

Internet: N/A

On-premise: 20003

Service-to-service: N/A

authType

It enables you to specify the


authentication method that must be
used for connection requests for the
service located at the HTTP destination
specified in the configuration.

none, basic, AssertionTicket,


SAML Assertion Propagation

useSSL

It is of type Boolean and enables you to


specify whether the outbound
connection between SAP HANA XS and
the HTTP destination is secured with
the Secure Sockets Layer (SSL)
protocol (HTTPS).

true, false

timeout

It enables you to specify for how long (in -1 (default)


milliseconds) an application tries to
connect to the remote host specified in In the connectivity tutorials: 3000
the HTTP destination configuration.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

433

Related Information
SAP HANA Developer Guide section "3.7.3 HTTP Destination Configuration Syntax"

1.4.1.3

SAP HANA Cloud Connector

Caution
The cloud connector must not be used with products other than SAP HANA Cloud Platform.

Context
The cloud connector serves as the link between on-demand applications in SAP HANA Cloud Platform and
existing on-premise systems. It combines an easy setup with a clear configuration of the systems that are
exposed to SAP HANA Cloud Platform. In addition, you can control the resources available for the cloud
applications in those systems. Thus, you can benefit from your existing assets without exposing the whole internal
landscape.
The cloud connector runs as on-premise agent in a secured network and acts as a reverse invoke proxy between
the on-premise network and SAP HANA Cloud Platform. Due to its reverse invoke support, you don't need to
configure the on-premise firewall to allow external access from the cloud to internal systems. The cloud connector
provides fine-grained control over:
On-premise systems and resources that shall be accessible by cloud applications;
Cloud applications that shall make use of the cloud connector.
You can use the cloud connector in business critical enterprise scenarios. The tool takes care to automatically reestablish broken connections, provides audit logging of the inbound traffic and configuration changes, and can be
run in a high-availability setup.
In the Scenarios section below, follow the steps according to the protocol you need to use (HTTP or RFC).

Advantages
Compared to the approach of opening ports in the firewall and using reverse proxies in the DMZ to establish
access to on-premise systems, the cloud connector has the following advantages:
The firewall of the on-premise network does not have to open an inbound port to establish connectivity from
SAP HANA Cloud Platform to an on-premise system. In the case of allowed outbound connections, no
modifications are required.
The cloud connector supports additional protocols, apart from HTTP. For example, the RFC protocol supports
native access to ABAP systems by invoking function modules.

434

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

The cloud connector can be used to connect on-premise database, or BI tools to SAP HANA databases in the
cloud. That means, it also supports the opposite connection direction (from the on-premise system to the
cloud).
The cloud connector allows propagating identity of cloud users to on-premise systems in a secure way.
The cloud connector is easy to install and configure, that is, it comes with a low TCO and fits well to cloud
scenarios. SAP provides standard support for it.

Scenarios
Note
Depending on the type of installation setup, the cloud connector can also be installed in an environment
managed by SAP or a 3rd party provider. In this case, special procedures may apply for configuration. If so,
they are mentioned in the corresponding configuration steps.

Connecting Cloud Applications to On-Premise Systems


Table 229:
1.

Install the cloud connector. [page 436]

2. Set up mutual authentication between the cloud connector and a back-end


system:
Initial Configuration [page 459]
Initial Configuration (HTTP) [page 339]
Initial Configuration (RFC) [page 391]
3. Allow your Web application to access a back-end system on the intranet:
Configuring Access Control (HTTP) [page 341]
Configuring Access Control (RFC) [page 392]
4. Connect your Web application to an on-premise system:
Consuming Back-End Systems (Java Web or Java EE 6 Web Profile)
[page 362]
Tutorial: Invoking ABAP Function Modules in On-Premise ABAP Systems
[page 399]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

435

Connecting On-Premise Database Tools to SAP HANA Databases


Table 230:
1.

Install the cloud connector. [page 436]

2. Configure service channels to access HANA databases on SAP HANA


Cloud Platform. [page 470]
3. Connect on-premise database or BI tools to a HANA database on SAP
HANA Cloud Platform. [page 472]

What's new?
You can follow the release notes
connector.

of SAP HANA Cloud Platform to stay informed about updates of the cloud

Related Information
Upgrading the Cloud Connector [page 458]
Cloud Connector Operator's Guide [page 524]

1.4.1.3.1

Installing the Cloud Connector

Choose one of the procedures listed below to install cloud connector 2.x depending on your preferable operating
system.
On Microsoft Windows and Linux, two installation modes are available: Developer version and Productive
version. On Mac OS X, only the Developer version is available.
Developer version - it can be easily installed by just extracting a compressed archive into an empty
directory. It does not require administrator or root privileges for the installation. Restrictions:
It cannot be run in the background as a Windows Service or Linux daemon (with automatic start
capabilities at boot time).
It does not support an automatic upgrade procedure. So, if you want to update a Developer installation,
you will have to delete the current installation, extract the new version, and then re-do the configuration.

436

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Productive version - it requires administrator or root permissions for the installation and can be set up to
run as a Windows Service or Linux daemon in the background. It can also be easily upgraded, retaining all the
configuration and customizing.

Prerequisites
There is a list of prerequisites you need to fulfill to successfully install the cloud connector 2.x. For more
information, see Prerequisites [page 437].

Tasks
Installation on Microsoft Windows OS [page 440]
Installation on Linux OS [page 443]
Installation on Mac OS X [page 445]

Related Information
Recommendations for Secure Setup [page 446]
Recommended: Replacing the Default SSL Certificate [page 452]
Uninstalling the Cloud Connector [page 523]

1.4.1.3.1.1 Prerequisites
The listed prerequisites below need to be fulfilled for successful installation of the cloud connector 2.x.

Connectivity Restrictions
For general information about SAP HANA Cloud Platform restrictions, see Product Prerequisites and Restrictions
[page 8].
For specific information about all connectivity restrictions, see Connectivity Service [page 267] section
"Restrictions".

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

437

Hardware
Hardware prerequisites, physical or virtual machine:
Memory: mininum 1 GB RAM, 4 GB recommended
Hard disk space: minimum 1 GB, recommended 20 GB
CPU: minimum single core 3 GHz, dual core 2 GHz recommended, x86-64 architecture compatible

Software
You have downloaded the cloud connector installation archive from SAP Development Tools for Eclipse.
A JDK 7 needs to be installed. Due to problems with expired root CA certificates contained in older patch
levels of JDK 7, we recommend that you install the most recent patch level. An up-to-date SAP JVM can be
downloaded from the SAP Development Tools for Eclipse page as well.

Caution
Do not use Apache Portable Runtime (APR)
on the system on which you use the cloud connector. If you
cannot avoid this restriction and want to use APR at your own risk, you need to manually adopt the defaultserver.xml configuration file in directory <scc_installation_folder>/config_master/
org.eclipse.gemini.web.tomcat. To do so, follow the documentation of the HTTPS port configuration
for APR.

Supported JDKs
Table 231:
JDK

Version

Cloud Connector Version

SAP JVM 64-bit (recommended)

2.x

2.7.2 and higher

2.x

2.7.2 and higher

Oracle JDK 64-bit

438

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Network
You need to have Internet connection at least to the following hosts (depending on the data center), to which you
can connect your cloud connector:
Table 232:
Data Center (Landscape host)

Hosts

IP Addresses

Europe

connectivitynotification.hana.onde
mand.com

155.56.210.83

connectivitycertsigning.hana.onde
mand.com

155.56.210.43

(hana.ondemand.com)

connectivitytunnel.hana.ondemand.com 155.56.210.84
United States East
(us1.hana.ondemand.com)

United States West


(us2.hana.ondemand.com)

Asia-Pacific (Australia)
(ap1.hana.ondemand.com)

Trial (Europe only)


(hanatrial.ondemand.com)

connectivitynotification.us1.hana.onde
mand.com

65.221.12.40

connectivitycertsigning.us1.hana.onde
mand.com

65.221.12.241

connectivitytunnel.us1.hana.onde
mand.com

65.221.12.41

connectivitynotification.us2.hana.onde
mand.com

64.95.110.215

connectivitycertsigning.us2.hana.onde
mand.com

64.95.110.211

connectivitytunnel.us2.hana.onde
mand.com

64.95.110.214

connectivitynotification.ap1.hana.onde
mand.com

210.80.140.247

connectivitycertsigning.ap1.hana.onde
mand.com

210.80.140.227

connectivitytunnel.ap1.hana.onde
mand.com

210.80.140.246

connectivitynotification.hanatrial.onde
mand.com

155.56.219.26

connectivitycertsigning.hanatrial.onde
mand.com

155.56.219.22

connectivitytunnel.hanatrial.onde
mand.com

155.56.219.27

Product Availability Matrix

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

439

Table 233:
Operating System Version

Architecture

Cloud Connector Version

Windows 7, Windows Server 2008 R2

x86_64

2.x

SUSE Linux Enterprise Server 11, Redhat

x86_64

2.x

Mac OS X 10.7 (Lion), Mac OS X 10.8


(Mountain Lion)

x86_64

2.x

Windows 8.1, Windows Server 2012,


Windows Server 2012 R2

x86_64

2.5.1 and higher

SUSE Linux Enterprise Server 12, Redhat x86_64


Enterprise Linux 7

2.5.1 and higher

Mac OS X 10.9 (Mavericks), Mac OS X


10.10 (Yosemite)

x86_64

2.5.1 and higher

Windows 10

x86_64

2.7.2 and higher

Enterprise Linux 6

Related Information
Installation on Microsoft Windows OS [page 440]
Installation on Linux OS [page 443]
Installation on Mac OS X [page 445]
Recommendations for Secure Setup [page 446]

1.4.1.3.1.2 Installation on Microsoft Windows OS

Prerequisites
You have either of the following 64-bit operating systems: Windows 7, Windows 8.1, Windows Server 2008 R2,
Windows Server 2012, or Windows Server 2012 R2
You have downloaded either the ZIP archive for the developer's use case on Windows, or the MSI installer for
productive usage from the SAP Development Tools for Eclipse page.
You need to install Microsoft Visual Studio C++ 2010 runtime libraries. For more information, see Microsoft
Visual Studio C++ 2010 Redistributable Package (x64)

Note
Even if you have a more recent version of the Microsoft Visual C++ runtime libraries, you still need to install
the Microsoft Visual Studio C++ 2010 libraries.

440

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Java 7 needs to be installed. In case you want to use SAP JVM, you can download it from the SAP
Development Tools for Eclipse page.
Environment variable <JAVA_HOME> needs to be set to the Java installation directory, so that the bin
subfolder can be found. Alternatively, when using the ZIP file, you can add the relevant bin directory to the
<PATH> variable.

Context
You can choose between a simple ZIP installer of the cloud connector and the MSI-based installer. The installer is
the generally recommended means that can be used for both developer and productive scenarios. It takes care,
for example, to register the cloud connector as a Windows service and this way to automatically start it after
machine reboot.

Tip
If you are a developer, you might want to use the ZIP installer as you can run the cloud connector after a simple
unzip (archive extraction). You might want to use it also if you cannot perform a true installation due to lack of
permissions, or if you need to use multiple versions of the cloud connector simultaneously on the same
machine.

Procedure
Developer Scenario
1. Extract the <sapcc-<version>-windows-x64.zip> ZIP file to an arbitrary directory on your local file
system.
2. Set the environment variable JAVA_HOME to the installation directory of the JDK you want to use to run the
cloud connector. (Alternatively, you can add the bin subdirectory of the JDK installation directory to the
PATH environment variable.)
3. Change to the cloud connector installation directory and start it via the go.bat batch file.
4. Continue with the Next Steps section.

Note
Cloud connector 2.x is not started as a service in the Developer's use case, and hence will not automatically
start after a reboot of your system. Also, the Developer version does not support the automatic upgrade
procedure.

Productive Scenario

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

441

1. Start the <sapcc-<version>-windows-x64.msi> installer by double-clicking it.


2. The installer informs you that you are now guided through the installation process. Choose Next>.
3. Navigate to the desired installation directory for your cloud connector and choose Next>. When doing the
installation in the context of an upgrade, make sure that you choose the previous installation directory again.
4. You can choose the port on which the administration UI is reachable. Either leave the default 8443 or choose a
different port if needed. Then choose Next>.
5. Select the JDK to be used for running the cloud connector. The installer will display a list of all JDKs of version
7 that are installed on your machine. If the needed JDK is not listed in the drop-down box (for example, if it's
an SAP JVM that is not registered in the Windows Registry upon installation), you can browse to its
installation directory and select it. We recommend that you use an up-to-date Java 7 installation to run the
cloud connector.
6. On this step, decide whether the cloud connector should be started immediately after finishing the setup. If
you do not want this now, remove the check from the checkbox. Then choose Next>.
7. After all installation options have been fulfilled, if you really want to install, press again the Next> button.
8. In up to a few seconds, the installation has been done. To finish the installer, choose the Close button.
9. Continue with the Next Steps section.

Note
Cloud connector 2.x is started as a Windows Service in the Productive use case. Hence, installation requires
administration permissions. After installation, the service should be administrated under
Administrative Tools

Control Panel

Services . The service name is Cloud Connector 2.0. Make sure that the service is

executed with a user that has limited privileges. Typically, privileges allowed for service users are defined by
your company policy. Afterwards, you should adjust the folder and file permissions to be manageable by only
this user and system administrators.

Next Steps

1. In a browser, enter: https://<hostname>:8443, where <hostname> is the host name of the machine on
which you have installed the cloud connector.
If you access the cloud connector locally from the same machine, you can just enter localhost.
2. Continue with initial configuration of the cloud connector 2.x. It works in the same way as for version 1.x.
For more information, see Initial Configuration [page 459].

Related Information
(Optional) Installing SAP JVM [page 35]
Recommendations for Secure Setup [page 446]
Recommended: Replacing the Default SSL Certificate [page 452]

442

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.3.1.3 Installation on Linux OS

Prerequisites
You have either of the following 64-bit operating systems: SUSE Linux Enterprise Server 11 or 12, or Redhat
Enterprise Linux 6 or 7
You have downloaded either the tar.gz archive for the Developer's use case on Linux or the RPM contained
in the ZIP for Linux for productive usage, from the SAP Development Tools for Eclipse page.
Java 7 needs to be installed. In case you want to use SAP JVM, you can download it from the SAP
Development Tools for Eclipse page as well. When installing it via the RPM package, the cloud connector will
detect it and use it for its runtime.
When using the tar.gz archive, the environment variable <JAVA_HOME> needs to be set to the Java
installation directory, so that the bin subdirectory can be found. Alternatively, you can add the Java
installation's bin subdirectory to the <PATH> variable.

Context
You can choose between a simple TGZ installer of the cloud connector and the RPM-based installer. The installer
is the generally recommended means that can be used for both developer and productive scenarios. It takes care,
for example, of registering the cloud connector as a daemon service and this way to automatically start it after
machine reboot.

Tip
If you are a developer, you might want to use the TGZ installer as you can run the cloud connector after a
simple "tar -xzof" execution. You might want to use it also if you cannot perform a true installation due to
lack of operating system permissions, or if you need to use multiple versions of the cloud connector
simultaneously on the same machine.

Developer Scenario
1. Extract the tar.gz file to an arbitrary directory on your local file system using the following command:
tar -xzof sapcc-<version>-linux-x64.tar.gz
Note that by using parameter "o", the extracted files will be assigned to the user ID and the group ID of the
user that has unpacked the archive. This is the default behavior for users other than root.
2. Change to this directory and start the cloud connector via the go.sh script.
3. Continue with the Next Steps section.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

443

Note
In this case, cloud connector 2.x is not started as a daemon, and hence will not automatically start after a
reboot of your system. Also, the Developer version does not support the automatic upgrade procedure.

Productive Scenario
1. Extract the <sapcc-<version>-linux-x64.zip> archive to an arbitrary directory.
2. Change to this directory and install the extracted RPM using the following command. Note that this step
requires you to be root.
rpm -i com.sap.scc-ui-<version>.rpm
3. Continue with the Next Steps section.
In the productive case, cloud connector 2.x is started as daemon. If you need to manage the daemon process,
execute:
service scc_daemon stop|restart|start|status

Caution
When adjusting the cloud connector installation (for example, restoring a backup), make sure that the RPM
package management is synchronized with such changes. In the case when you simply replace files which do
not fit to the information stored in the package management, lifecycle operations (such as upgrade or
uninstallation) might later fail with errors. Or even worse - the cloud connector could get into unrecoverable
state.
Example: After a file system restore, the system files represent cloud connector 2.3.0 but the RPM package
management "believes" version 2.4.3 is installed. In this case, commands like rpm -U and rpm -e will not work
as expected. Furthermore, avoid the usage of the --force parameter as it may lead to unpredictable state
with two versions being installed concurrently, which is not supported.

Next Steps
1. In a browser, enter: https://<hostname>:8443, where <hostname> is the host name of the machine on
which you have installed the cloud connector.
If you access the cloud connector locally from the same machine, you can just enter localhost.
2. Continue with initial configuration of the cloud connector 2.x. It works in the same way as for version 1.x.
For more information, see Initial Configuration [page 459].

444

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Related Information
Recommendations for Secure Setup [page 446]
Recommended: Replacing the Default SSL Certificate [page 452]

1.4.1.3.1.4 Installation on Mac OS X

Prerequisites

Note
Mac OS X is not supported for productive scenarios. The developer version described below must not be used
as productive version.
You have either of the following 64-bit operating systems: Mac OS X 10.7 (Lion), Mac OS X 10.8 (Mountain
Lion), Mac OS X 10.9 (Mavericks), or Mac OS X 10.10 (Yosemite)
You have downloaded the tar.gz archive for the developer use case on Mac OS X from the SAP
Development Tools for Eclipse page.
Java 7 needs to be installed. In case you want to use SAP JVM, you can download it from the SAP
Development Tools for Eclipse as well.
Environment variable <JAVA_HOME> needs to be set to the Java installation directory so that the bin
subfolder can be found. Alternatively, you can add the Java installation's bin subdirectory to the <PATH>
variable.

Procedure
1. Extract the tar.gz file to an arbitrary directory on your local file system using the following command:
tar -xzof sapcc-<version>-macosx-x64.tar.gz
2. Change to this directory and start cloud connector 2.x via the go.sh script.
3. Continue with the Next Steps section.

Note
Cloud connector 2.x is not started as a daemon, and hence will not automatically start after a reboot of
your system. Also, the Mac OS X version of cloud connector 2.x does not support the automatic upgrade
procedure.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

445

Next Steps
1. In a browser, enter: https://<hostname>:8443, where <hostname> is the host name of the machine on
which you have installed the cloud connector.
If you access the cloud connector locally from the same machine, you can just enter localhost.
2. Continue with initial configuration of the cloud connector 2.x. It works in the same way as for version 1.x.
For more information, see Initial Configuration [page 459].

Related Information
Recommendations for Secure Setup [page 446]
Recommended: Replacing the Default SSL Certificate [page 452]

1.4.1.3.1.5 Recommendations for Secure Setup


Overview
The following guideline should be applied by customers who use SAP HCP connectivity service and the cloud
connector to guarantee the highest level of security. To assist the administrator with this task the current security
status is shown in the top left corner as a button with an icon. Details can be viewed by pressing that button.

The General Security Status addresses security topics that are account-independent.
Press any of the colored buttons to navigate to the UI area that deals with that particular topic.
Navigation is not possible for the last item in the list, namely the Service User.
The service user is specific to the Windows Operating System (see Installation on Microsoft Windows OS
[page 440] for details) and is only visible when running the cloud connector on Windows. It cannot be
addressed through the UI. If the service user was set up properly, check the check box.

446

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

The Account-Specific Security Status lists security-related information for each and every account. Both the
account-specific and the general security status are aggregated to obtain a summary of the security status that
can then be displayed as the icon of the button mentioned above.

Note
The security status is purely of an informational nature and merely serves as a reminder to address security
issues or as confirmation that your installation complies with all recommended security settings.

Password Policy for the Cloud Connector Administration UI


Once installed, the cloud connector provides an initial user name and password and forces the user
(Administrator) to change the password upon initial login. The password should be changed from the initial
password to a specific one immediately after installation.
The connector itself does not check the strength of the password. The cloud connector administrator must select
a strong password that cannot be guessed easily.

Note
To enforce your company's password policy, we recommend that you configure the Administration UI to use an
LDAP server for authorizing access to the UI.

Restricting OS Level Access to Machines with Cloud Connector Installation


The cloud connector is a security critical component that handles the external access to systems of an isolated
network, comparable to a reverse proxy. We therefore recommend to restrict the access to the operating system
on which the cloud connector is installed to the minimal set of users who shall administrate the cloud connector.
This will minimize the risk of unauthorized people getting access to credentials, such as certificates stored in the
secure storage of the cloud connector.
Following the same arguments, we recommend that you use the machine to operate the cloud connector only and
no other systems.

Cloud Connector Administrator Privileges


To log on to the cloud connector administration UI, the "Administrator" user of the connector must not have an
OS user for the machine on which the connector is running. This allows the OS administrator to be distinguished
from the cloud connector administrator. To make an initial connection between the connector and a particular
SAP HANA Cloud account, an SAP HANA Cloud user with the needed permissions for the related account is
required. We recommend that you separate these roles/duties (that means, you have separate users for cloud
connector administrator and SAP HANA Cloud).

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

447

Note
We recommend that only a small number of users be granted access to the machine as root.

Using Hard-Drive Encryption for Machines with Cloud Connector Installations


This ensures that the cloud connector configuration data cannot be read by unauthorized users, even if they
obtain access to the hard drive.

Accessing the Cloud Connector Administration UI


The cloud connector administration UI can be remotely accessed via HTTPS. The connector uses a standard X.
509 self-signed certificate as SSL server certificate. The certificate can be exchanged by a customer-specific
certificate that is trusted by the customer. For more information, see Recommended: Replacing the Default SSL
Certificate [page 452].
We recommend that you limit the access to the administration UI to localhost. Thus, you can restrict the access to
a browser that is running on the same server as the cloud connector.

Note
Since browsers usually do not resolve localhost to the host name while the certificate usually is created under
the host name, you might get a certificate warning. In this case, just skip the warning message.
Proceed as follows:
1. Open the default-server.xml file of the Web container provided as part of the cloud connector:
Microsoft Windows OS: <install_dir>\config_master\org.eclipse.gemini.web.tomcat
\default-server.xml
Linux OS/Mac OS X: /opt/sap/scc/config_master/org.eclipse.gemini.web.tomcat/
default-server.xml
2. Modify the SSL Connector configuration in the <Host> section, which makes the Web container listen to the
localhost only (that is, IP address 127.0.0.1):
<Connector port="8443" address="127.0.0.1" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="config/ks.store" keystorePass="${jks.password}"
truststoreFile="config/ks.store" truststorePass="${jks.password}"
keyPass="${jks.password}" keyAlias="tomcat"
clientAuth="want" sslProtocol="TLS"
sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA
_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_12
8_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"
compression="on" compressionMinSize="1024"
noCompressionUserAgents="gozilla,traviata,*MSIE 6.*"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/
css,text/json,application/x-javascript,application/javascript,application/json"
/>

448

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Caution
With regards to ciphers and sslEnabledProtocols, make sure that these parameters work correctly
with the JCE you are using with your Java Virtual Machine. If they don't, you will not be able to use the High
Availability setup, or the UI administration port may not start at all. If you need to modify the ciphers we
recommend to use the respective section of the settings UI (see Selecting Encryption Ciphers below).

Supported Protocols for On-Demand to On-Premise Connectivity


Currently, HTTP, HTTPS and RFC are supported as the protocols between SAP HANA Cloud Platform and onpremise systems when the cloud connector and the connectivity service are used. The whole route from the
application virtual machine in the cloud to the cloud connector is always SSL-encrypted.
The route from the connector to the back-end system can be SSL-encrypted or SNC-encrypted.
For more information, see Configuring Access Control (HTTP) [page 341] and Configuring Access Control (RFC)
[page 392].

Switching On Audit Log on Operating System Level


We recommend that you turn on the audit log on operating system level to monitor the file operations.

Switching On Audit Log on Cloud Connector Level


The cloud connector audit log must remain switched on during the time it is used with productive systems (set it
to audit level "ALL"; the default one is "SECURITY"). The administrators responsible for a running cloud connector
are obliged to ensure that the audit log files are properly archived and do not get lost, in order to conform to the
local regulations. Additionally, audit logging should be switched on in the connected back-end systems.
Cloud connector administrators should not be authorized to modify files on operating system (OS) level, and OS
administrators should not have access to the cloud connector administration UI.

Selecting Encryption Ciphers


By default, all available encryption ciphers are supported for HTTPS connections to the administration UI.
However, some of them may not conform to your security standards and hence should be excluded. To do so,
open the Settings dialog (top right on the cloud connector administration UI) and then choose Cipher Suites from
the left panel of that dialog.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

449

By default, all available ciphers are marked as selected. Unselect those that do not meet your security
requirements and press Save.

Note
We recommend to revert to the default (all ciphers selected) whenever you plan to switch to another JVM. As
the set of supported ciphers may differ, there is a chance that the selected ciphers may not be supported by
the new JVM. In that case the cloud connector will not start anymore, and you need to fix the issue manually
adapting the file default-server.xml (cp. attribute ciphers, see Accessing the cloud connector Administrator UI
above). After a successful switch, the list of eligible ciphers can be adjusted again.

Related Information
Connectivity via Reverse Proxy [page 451]

450

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

1.4.1.3.1.5.1 Connectivity via Reverse Proxy

Overview
This section outlines an alternative approach for technical connectivity between the cloud and on-premise, using a
reverse proxy. It also discusses the pros and cons of this method compared to when you use the cloud connector.

Features
An alternative approach compared to the SSL VPN solution that is provided by the cloud connector is to expose
on-premise services and applications via a reverse proxy to the Internet. For this method, there is typically a
reverse proxy setup in the "demilitarized zone" (DMZ) subnetwork of a customer, which:
Acts as a mediator between SAP HANA Cloud Platform and the on-premise services;
Provides the services of an Application Delivery Controller (ADC) in order, for example, to encrypt, filter,
route, or introspect the inbound traffic.
The figure below shows the minimal overall network topology of this approach. For more information, see
Technical Connectivity Guide .
On-premise services accessible via a reverse proxy are then callable from SAP HANA Cloud Platform like other
HTTP services available on the Internet. When you use destinations to call those services, make sure that the
configuration of the ProxyType parameter is set to Internet.

Advantages
Depending on your scenario, you can benefit from the reverse proxy. An example is the required network
infrastructure (such as a reverse proxy and ADC services): since it already exists in your network landscape, you
can reuse it to connect to SAP HANA Cloud Platform. In this case, there would be no need to set up and operate
new components on your (customer) side.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

451

Disadvantages
The reverse proxy approach does not prevent the exposed services from being generally accessible via the
Internet, which makes them vulnerable to attacks from anywhere in the world. Denial-of-Service attacks in
particular are possible and difficult to protect against. Therefore, protection against potential attacks requires
the highest security standards to be implemented in the DMZ and reverse proxy. For the productive
deployment of a hybrid cloud/on-premise application, this approach usually requires intense involvement of
the customer's IT department and a longer period of implementation.
If the reverse proxy is set to allow filtering or restriction of accepted source IP addresses, you can only set one
single IP address to be used for all SAP HANA Cloud Platform outbound communications.
Although it filters any callers that are not running on the cloud, the reverse proxy does not exclusively restrict
the access to cloud applications belonging to the related customer. Basically, any application running on the
cloud would pass this filter.
SAP-proprietary RFC protocol is not supported, so that a cloud application cannot directly call an on-premise
ABAP system without having application proxies on top of ABAP.

Note
These demerits do not exist when using the cloud connector. As it establishes the SSL VPN tunnel to SAP
HANA Cloud Platform via a reverse invoke approach, there is no need to configure the DMZ or external firewall
of a customer network for inbound traffic. Attacks from the Internet are not possible. With its simple setup and
fine-grained access control of exposed systems and resources, the cloud connector allows a high level of
security and fast productive implementation of hybrid applications. It also supports multiple application
protocols such as HTTP and RFC.

1.4.1.3.1.6 Recommended: Replacing the Default SSL


Certificate

Overview
By default, the cloud connector comes with a self-signed default certificate that is used to encrypt the
communication between the browser-based user interface and the cloud connector itself. For security reasons,
however, you should replace this certificate with your own certificate so that the browser accepts the certificate
without security warnings.
Up to version 2.5.2, for this purpose, you need to know the password of the cloud connector's Java keystore. This
password is generated during installation and then kept into encrypted secure storage area.

Note
The procedure described above, which requires the manual execution of command line commands is only
needed for versions below 2.6. As of version 2.6.0, you can easily replace the default certificate within the
Settings dialog. For more information, see Exchanging UI Certificates [page 456].

452

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Caution
The cloud connector's keystore may contain a certificate used in the High Availability setup. This certificate has
alias "ha". Be careful - any changes on it or removal would lead to disruption of communication between the
shadow and the master instance, and as a consequence - to a failed procedure. Therefore, we recommend that
you replace the keystore on both the master and shadow server before establishing the connection between
the two instances.

Procedure
You can read the password by executing the following command:
on Microsoft Windows OS:
java -cp <scc_install_dir>\plugins\com.sap.scc.rt*.jar Djava.library.path=<scc_install_dir>\auditor com.sap.scc.jni.SecStoreAccess path <scc_install_dir>\scc_config -p
on Linux OS:
java -cp /opt/sap/scc/plugins/com.sap.scc.rt*.jar Djava.library.path=/opt/sap/scc/auditor com.sap.scc.jni.SecStoreAccess path /opt/sap/scc/scc_config -p
In the next procedure, we will use the standard Java keytool tool to delete/generate/import certificates from/for/
into the cloud connector's keystore. Memorize the keystore password shown by the above command, as you will
need it for these operations.
Also make sure that you change into the directory /opt/sap/scc/config before executing the commands
described in the following.

Note
For a detailed description of the keytool tool, see http://docs.oracle.com/javase/7/docs/technotes/tools/
solaris/keytool.html .

Related Information
Exchanging UI Certificates [page 456]
Using a Self-Signed Certificate [page 454]
Using Certificates Signed by Trusted Certificate Authority [page 454]

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

453

1.4.1.3.1.6.1 Using a Self-Signed Certificate

Context
If you want to use a simple, self-signed certificate, follow the procedure below.

Note
The parameter values in the following section are simply examples.
The Server configuration delivered by SAP uses the same password for key store (option \-storepass) and
key (option \-keypass) under alias tomcat.

Procedure
1. Remove the current default certificate:
keytool -delete -alias tomcat -keystore ks.store -storepass <password>
2. Generate a certificate:
keytool -genkey -v -keyalg RSA -alias tomcat -keypass <password> -keystore
ks.store -storepass <password> -dname "CN=SCC, OU=<YourCompany>, O=<YourCompany>"
3. Self-sign it - you will be prompted for the keypass password defined in step 2:
keytool -selfcert -v -alias tomcat -storepass <password> -keystore ks.store

1.4.1.3.1.6.2 Using Certificates Signed by Trusted Certificate


Authority

Overview
Before starting the procedure, bear in mind that
The parameter values in the following section are simply examples.
We recommend that you use a signed certificate by a trusted CA, because it is more secure than a self-signed
certificate.
For your convenience, you can set the generated password as environment variable, like in the command
below, and then use $PASS as a password:

454

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

export PASS=`<the release-dependent command as given in the parent page>`


Keytool supports delete and changealias commands. If the cloud connector SSL Certificate is changed on
a running instance, we recommend that you prepare a new certificate under a temporary alias. Once
everything is ready, you change the alias.

Procedure
If you have a signed certificate produced by a trusted certificate authority (CA), go directly to step 3.
1. Generate your key pair if you start fresh:
keytool -genkey -v -keyalg RSA -alias tomcat -keypass <password> -keystore
ks.store -storepass <password> -dname "CN=SCC, OU=<YourCompany>, O=<YourCompany>"
Alternatively, you may reuse an existing key store.
2. Create a local Certificate Signing Request (CSR):
keytool -certreq -keyalg RSA -alias tomcat -keypass <password> -keystore
ks.store -storepass <password> -file <csr-file-name>
You now have a file called <csr-file-name> that you can submit to the Certificate Authority. In return, you
get a certificate.
3. Import the certificate chain that you obtained from your trusted CA:
keytool -import -alias root -keystore ks.store -storepass <password> trustcacerts -file <filename_of_the_certificate_chain>
4. Import your new certificate:
keytool -import -alias tomcat -keystore ks.store -storepass <password> -file
<your_certificate_filename>
The password is created at installation time and stored in the secure storage. Thus, only applications with access
can read the password. You can read password using Java:
jar -xf /opt/sap/scc/dropins/scc/plugins/com.sap.scc.tomcat.utils*.jar lib/
libsapsecstore4j.so
java -cp /opt/sap/scc/dropins/scc/plugins/com.sap.scc.tomcat.utils*.jar Djava.library.path=./lib/ com.sap.mw.scc.util.SecStoreAccess -show
You might need to adapt the configuration if you want to use another key storage file or change the current
configuration (HTTPS port, authentication type, SSL protocol, and so on). You can find the SSL configuration in
the Connector section of the file, respectively :
Microsoft Windows OS: <install_dir>\config_master\org.eclipse.gemini.web.tomcat
\default-server.xml
Linux OS: /opt/sap/scc/config_master/org.eclipse.gemini.web.tomcat/default-server.xml

Note
We recommend that you do not modify the configuration unless you have expertise in this area.
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

455

maxThreads="150" scheme="https" secure="true"


keystoreFile="config/ks.store" keystorePass="${jks.password}" keyPass="$
{jks.password}" keyAlias="tomcat"
truststoreFile="config/ks.store" truststorePass="${jks.password}"
clientAuth="want" sslProtocol="TLS"
compression="on" compressionMinSize="1024"
noCompressionUserAgents="gozilla,traviata,*MSIE 6.*"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/
css,text/json,application/x-javascript,application/javascript,application/json"/>

Related Information
For more information about configuring SSL, see http://tomcat.apache.org/tomcat-7.0-doc/sslhowto.html#SSL_and_Tomcat .

1.4.1.3.1.6.3 Exchanging UI Certificates


By default, the cloud connector comes with a self-signed default certificate, which is used to encrypt the
communication between the browser-based user interface and the cloud connector itself. For security reasons,
however, you should replace this certificate with your own one so that the browser accepts the certificate without
security warnings.

Procedure
Master Instance
1. Open the Settings dialog.
2. Choose UI Certificate to start a Certificate Signing Request procedure.
3. In the CSR field, specify a subject fitting to your host name.
4. Press the Generate button.

456

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

5. You are prompted to save the signing request in a file. The content of the file is the signing request in PEM
format.
The signing request needs to be provided to a Certificate Authority (CA) - either one within your company or
another one you trust. The CA will sign the request and the returned response should be stored in a file.
6. To import the signing response, choose Browse to locate it and then press the Import button.
7. You'll see the major certificate details in a dialog.
8. Restart the cloud connector to activate the new certificate.

Shadow Instance
The same operation is possible on the shadow instance in a high availability setup. In that case, you need to:
1. Navigate to the Administration section.
2. Expand the UI Certificate panel.
3. Proceed the same way as on the master.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

457

1.4.1.3.2

Upgrading the Cloud Connector

Choose one of the procedures listed below to upgrade your cloud connector depending on your operating system.
If you follow these steps, the previous settings and configurations will be automatically preserved.

Note
Upgrade is supported only for productive versions.

Avoid connectivity downtime


If you have a single-machine cloud connector installation, a short downtime is unavoidable during the upgrade
process. However, if you have set up a master and a shadow instance, you can perform the upgrade without
downtime by executing the following procedure:
1. Shut down the shadow instance.
2. Perform the upgrade on the shadow instance. (Follow the relevant procedure below.)
3. Start the shadow instance again and connect to the master instance.
4. Perform a Switch Roles operation by pressing the corresponding button in the master administration UI. The
master instance has now changed into a shadow instance.
5. Shut down the new shadow instance and perform the upgrade procedure on it as well.
6. Start the new shadow instance again, connect it to the new master, and then perform again the Switch Roles
operation.
Result: Both instances have now been upgraded without connectivity downtime and without configuration loss.
For more information, see Installing a Failover Instance for High Availability [page 507].

458

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Microsoft Windows OS
1. Uninstall the cloud connector as described on page Uninstalling the Cloud Connector [page 523].
2. Install again the cloud connector within the same directory. For more information, see Installation on
Microsoft Windows OS [page 440].
3. Before accessing the administration UI again, make sure to clear your browser cache in order to avoid
unpredictable behavior due to the upgraded UI.

Linux OS
1. To upgrade the cloud connector, execute:
rpm -U com.sap.scc-ui-<version>.rpm
2. Before accessing the administration UI again, make sure to clear your browser cache in order to avoid
unpredictable behavior due to the upgraded UI.

1.4.1.3.3

Initial Configuration

Context
Once the cloud connector has been installed and the cloud connector daemon has been started, you can log on
and perform the necessary customization to make your cloud connector operational. To do this, follow the
procedure below.
Go through the following steps:
Log in [page 460]
Change your password [page 461]
Set up parameters and HTTPS proxy [page 461]
Establish connections to SAP HANA Cloud Platform [page 465]

Prerequisites
We strongly recommend that you read and follow the steps described in Recommendations for Secure Setup
[page 446]. For operating the cloud connector securely, see also Guidelines for Secure Operation of cloud
connector [page 538].

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

459

Log in to the Cloud Connector


To administer the cloud connector, you need a Web browser. To check the list of supported browsers, go to
Product Prerequisites and Restrictions [page 8] section "Browser Support".
1. In a Web browser, enter: https://<hostname>:<port>
<hostname> refers to the machine on which the cloud connector has been installed. If installed on your
machine, you can enter localhost.
<port> is the cloud connector port specified during installation (default port is 8443).
2. The following login screen is displayed:

3. For User Name / Password enter Administrator / manage (case sensitive).


4. Choose between master and shadow installation. Use Master if you are installing a single cloud connector
instance or a main instance from a pair of cloud connector instances. For more information, see Installing a
Failover Instance for High Availability [page 507].

460

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Change your Password


1. When you first log in, you must change the password before you continue forwards, regardless of the
installation type you have chosen.

2. You can configure again the password for the Administrator user from the Settings menu:

Set up Connection Parameters and HTTPS Proxy


Window Set Up Initial Configuration is displayed.
If your internal landscape is protected by a firewall that blocks any outgoing TCP traffic, you need to specify an
HTTPS proxy that the cloud connector can use to connect to SAP HANA Cloud Platform. Normally, you would

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

461

need to use the same proxy settings as those being used by your standard Web browser. The cloud connector
needs this proxy for two operations:
Downloading the correct connection configuration corresponding to your account ID in SAP HANA Cloud
Platform.
Establishing the SSL tunnel connection from the cloud connector to your SAP HANA Cloud Platform account.

Note
In case you want to skip the initial configuration, you can click the
icon in the upper right corner. You might
need this in case of connectivity issues described in your logs. You can add accounts later as described in page
Managing Accounts [page 474].
When you first log on, the cloud connector collects the following required information:
1. For Landscape Host, specify the SAP HANA Cloud Platform landscape that should be used. You can choose
the one you need from the dropdown list. For more information, see Landscape Hosts [page 32].
2. For Account Name, Account User and Password, enter the values you obtained when you registered your
account on SAP HANA Cloud Platform or add a new Account User [page 23] with role Cloud Connector
Admin from the Members tab in the SAP HANA Cloud cockpit and use the new user and password..

Note
If the cloud connector is installed in an environment that is operated by SAP, SAP will provide a user that
you should add as new member in your SAP HANA Cloud Platform account. In this case, please assign the
Cloud Connector Admin role (see Account Member Roles [page 27]) to the user provided by SAP. Once
the cloud connector connection is established, this user is not needed any more since it serves for initial
connection setup only. You may revoke the corresponding role assignment then and remove the user from
the Members list.
3. Optional: You can define a Display Name, which allows you to easily recognize a specific account in the UI
compared to the technical Account Name.
4. Optional: You can define a Location ID, which identifies the location of this cloud connector for a specific
account. Currently, this is only documentary but in future, it might also be used for routing purposes.
5. Enter proxy host and port. You need to specify a proxy server that supports SSL communication (a standard
HTTP proxy will not suffice).
6. Optionally: You can provide a Description (free-text) for this cloud connector instance. It helps you identify the
particular cloud connector you use.
7. When you finish with the settings, choose Apply.

462

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

The cloud connector starts a handshake with SAP HANA Cloud Platform and attempts to establish a secure SSL
tunnel to the server hosting account in which your on-demand applications are running. However, no requests are
yet allowed to pass from the cloud side to any of your internal back-end systems. To allow your on-demand
applications to access specific internal back-end systems, proceed with the access configuration described in the
next section.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

463

Note
The internal network must allow access to the port. Specific configuration for opening the respective port(s)
depends on the firewall software used.
The default ports are 80 for HTTP and 443 for HTTPS. For RFC communication, you need to open a gateway
port (default: 33+<instance number> and an arbitrary message server port. For a connection to a HANA
Database (on SAP HANA Cloud Platform) via JDBC, you need to open an arbitrary outbound port in your
network. Mail (SMTP) communication is not supported.
If you later need to change your proxy settings (for example, because the company firewall rules have
changed), choose the Settings menu in the upper right corner. Some proxy servers require credentials for
authentication. In this case, you need to provide the relevant user/password information.

If you later want to change the description for your cloud connector, in the upper right corner choose Settings,
open the Connector Info section and edit the description.

464

PUBLIC
2016 SAP SE or an SAP affiliate company. All rights reserved.

SAP HANA Cloud Platform


SAP HANA Cloud Platform

Establish Connections to SAP HANA Cloud Platform


Once the initial setup has been completed successfully, the tunnel to the cloud endpoint is open (even though no
requests are allowed to pass until you have completed the Access Control setup). However, you can manually
close (and reopen) the connection to SAP HANA Cloud Platform by opening the Connector State page and
choosing the Disconnect button (or the Connect button to reconnect to SA