Skip to Content
Author's profile photo Stefan Seemann

SAP HANA 2.0 Express Edition, Transport between Tenants

This blog is about how to transport a User-Role between two Tenants within one instance of SAP HANA 2.0 Express.

How to download & install SAP HANA Express is explained in this Youtube-Video

I am using the Package “Server only virtual machine”.

To have access to the VM Ware-Server via hostname hxehost, the local hosts-file C:\windows\system32\drivers\etc\hosts needs to be adapted.

hxehost-src and hxehost-trg are two virtual hostnames which are used by SAP HANA’s Webdispatcher to forward the request to the Tenant Database.

Once the instance is registered in SAP HANA Studio the two Tenant Databases are created.

The statements are:

— Create Source Tenant Database
create database src system user password ***;

— Create Target Tenant Database
create database trg system user password ***;

— Enable Auto Configuration
ALTER SYSTEM ALTER CONFIGURATION (‘webdispatcher.ini’, ‘SYSTEM’) SET (‘profile’, ‘wdisp/system_auto_configuration’) = ‘true’ WITH RECONFIGURE;

— Configure Routing to Tenant Databases– SRC
ALTER SYSTEM ALTER CONFIGURATION (‘xsengine.ini’, ‘database’, ‘SRC’)
    SET (‘public_urls’, ‘http_url’) = ‘http://hxehost-src:8090’ WITH RECONFIGURE;

ALTER SYSTEM ALTER CONFIGURATION (‘xsengine.ini’, ‘database’, ‘TRG’)
   SET (‘public_urls’, ‘http_url’) = ‘http://hxehost-trg:8090’ WITH RECONFIGURE;

— Validate proper configuration of webdispatcher
select key, value, layer_name
   from sys.M_inifile_contents
     where file_name = ‘webdispatcher.ini’
    and section = ‘profile’
   and key like ‘wdisp/system%’

The output of the select-statement shows this:

That means, the Webdispatcher is contacted on port 8090. The hostname used is hxehost-src. So, it will forward the request to tenant SRC. This is described in detail in the Database Admin Guide, chapter “ Configure HTTP(S) Access to Tenant Databases via SAP HANA XS Classic”.

For the database to be able to redirect the hosts internally, I have put the virtual hostnames also in the file /etc/hosts on the VM Ware host.

To be able for the Tenant Databases to logon to the XS Classic engine, a set of Roles is required which are not available on the Tenant Databases right away. To make them available, I use an initial logon to the XS Classic engine of the System Database. For that user SYSTEM of the System Database requires additional Roles.

After granting those roles, user SYSTEM is able to logon to the HANA Application Lifecycle Management on the System Database.

URL is: http://hxehost:8090/sap/hana/xs/lm/?page=HomeTab

After the login, the required Roles are available also on each Tenant Database. When you create a new tenant in the future and the roles are not available, login to the System Database first.

Please note: The virtual hostnames hxehost-src and hxehost-trg are not used for registration in SAP HANA Studio. For that I use hostname hxehost and the name of the Tenant Database.

Once the users of Tenant Database SRC and TRG have the required Roles assigned a login to the Tenant-Specific XS Classic engine should be possible.

URLs are:



Now the transport route needs to be configured. Native transport on HANA works by pulling on the target from the source. That means, the transport route has to be configured on Tenant TRG.

Click on Transport -> http://hxehost-trg:8090/sap/hana/xs/lm/index.html?page=SystemsTab

Use Button Register to add the source system.

Pressing Next

Press Maintain Destination

I only maintain the logon data for tenant SRC on tab Authentication Details.

After pressing Save, I press the X on the upper right corner.

After pressing Finish on the next screen. The tenant database should be registered. A connection test was also successfully done.

Now we can create the role in the IDE on the source system using

URL: http://hxehost-src:8090/sap/hana/ide/editor/

First a package needs to be created. After that, I create Role R22_ADMIN. Creating a Package or Role is done via right mouseclick -> new -> …  After creation I added a simple Privilege.

To be able to transport the Package, it needs to be added to a Delivery Unit. To create a new Delivery UNIT, HALM of tenant SRC is used:


I created Delivery Unit ROBINSON_R22 and added the Package that I created before.

Now, the transport can be done. It has to be started from the target system:


Push button Create

After pressing Create, the transport is created and is ready to be started.

Mark the transport and press Start Transport


Now we can check the new Role in the target system.

The role is active in the target system and can be assigned to a user.

That’s it, thank you very much, please like and subscribe Feel free to leave a comment..

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Axel Utz
      Axel Utz

      The blog is actually nice, but it uses hostnames only. That can work - but also can fail.

      In case the connection to the source host fail with the error "The remote system is not reachable" verify whether the indexserver of the target system contains a more detailed error message  like "Temporary failure in name resolution".

      indexserver_*.*.trc on

      e IpConnection IPConnection.cpp(00157) : comm::connect to 'hxehost-src:8090' failed with 'Internal Error Details. Basis/IO/NetworkAccess/impl/NetworkAddress.cpp:568: Error invalid address: getaddrinfo, rc=-3: Temporary failure in name resolution

      e xsa:sap.hana.xs. sap.hana.xs.lm.xsts:utils.xsjslib(00700) : HTTP Request failed. ERROR: (new Error("HttpClient.request: request failed: unable to establish connection to hxehost-src:8090 - connection to host hxehost-src:8090 failed!; $REASON$=invalid host", "/sap/hana/xs/lm/xsts/utils.xsjslib", 684))


      To solve that issue

      • either make sure the target host can reach the source host by hostname only. That is described in the above section:

        To have access to the VM Ware-Server via hostname hxehost, the local hosts-file C:\windows\system32\drivers\etc\hosts needs to be adapted.


      • use fully qualified domain names like



      • verify that the source host can be reached from the target host by using the command ping:> ping


      • verify, that the http <port> of the source system can be reached from the target host by using the command telnet:> telnet <port>