Skip to Content

1. Introduction

SAP River is a new development language and environment for developing a complete SAP HANA backend application, describing the data model, the business logic and access control within a single, coherent and integrated program specification.

Developing an application using RDL has several key benefits over traditional technologies and development models:

  1. Easier and faster development and maintenance:
    1. Declarative, focusing on application intent
    2. Expressive language constructs
    3. Flexible code specification, enabling easier separation of concerns and iterative refinement of application code.
    4. Smaller bill of materials – coherency across different layers and components of the application.
  2. Easily leveraging HANA’s power, while remaining agnostic to underlying technology containers (XS, SQLScript).
    1. Can leverage any underlying supported runtime container, without compromising on running time optimization.
    2. Application execution improves together with the underlying technology, transparently; taking advantage of new capabilities.
  3. Open to legacy and extension code, in all supported containers.

To enable RDL for HANA developer in HANA, as SAP HANA administrator you have to complete below installation and configuration.

2.  Import the SAP HANA RDL (River Definition Language)

Search path in SAP service market place for the HANA RDL content

Fig2_1.png

Fig2_2.png

As our HANA DB revision is 70, we have selected SP01 for SAP HANA RDL 1.0

Download above software (HANARDL01_10000_20011655.SAR) into local desktop and uncar into one folder as below…

Fig2_3.png

Now upload these files through HANA Studio import process.

Note -> Import of HANA RDL content we have done by HANA content import method but we can also use LCM to import the RDL content.

In HANA Studio, open SAP HANA Modeler perspective

Fig2_4.png

Click on import – then go to SAP HANA Content -> Delivery Unit

Fig2_5.png

Check client and browse into your local folder *.tgz file

Fig2_6.png

Fig2_7.png

Click on Finish

Fig2_8.png

Fig2_9.png

SAP HANA RDL package installed successfully

Results

After deploying the delivery unit, we can see the sap.hana.rdl package in the repository content

Fig2_10.png

3. Configure SAP HANA to enable SAP River

You must indicate that the SAP HANA server is a development machine, which has the following effects on SAP River development:

  • A developer with the DevRole role for a package automatically gets privileges to run an application defined in that package
  • A developer with the DevRole role for a package can run any part of an SAP River application no matter the access control (accessible by) defined in SAP River code

Fig3_1.png

You can check the results by opening the Administration editor and choosing the Configuration tab in HANA studio. The new parameter can be seen at indexserver.ini -> rdl -> developerrole

Fig3_2.png


4. Setting up permission

As SAP HANA administrator you need to setup permission to the developer so that they can create River application

Developers must be given design-time privileges to the repository packages where they will create their design-time objects, as well as runtime permissions to the schema that holds the runtime objects created when activating a River file.

Procedure.

    1. Create a new user for the developer, as follows:

  In the SAP HANA Systems view, right-click on the SecurityUsers node of your system, and choose New User.

In User Name, enter a name

In the Password and Confirm fields, enter a temporary password.

Choose in the upper-right part of the user editor.

  1. Create a package for the developers design-time objects, as follows.
  2. In the SAP HANA Systems view, right-click on the Content node of your system, and choose NewPackage.
  3. In Name, enter a name for the package.
  4. Choose OK.

Fig4_1.png

     3. Create a schema for the developers runtime objects. The schema must have the same name as the package, and must be owned by user _sys_repo.

  In my case I have created schema named -> MyRDLPackage

This must be done by executing the following SQL statement:

create schema “MyRDLPackage” owned by _sys_repo;

     4. Create a role with the name in the format MyRDLPackage$DevRole. The role enables the developer to access, in runtime, any River application that is activated from the package.

    • In the SAP HANA Systems view, right-click on the SecurityRoles node of your system, and choose New Role.
    • In Role Name, enter the name in the correct format.
    • Choose (execute) in the upper-right part of the user editor.

Fig4_2.png

     5. Give permissions to the developer to create, activate, and debug design-time objects in the package, as follows:

    • In the SAP HANA Systems view, go to SecurityUsers and open the new developer user (User whom to give this permission).
    • In Object Privileges, add the REPOSITORY_REST procedure in the SYS schema and give the developer the EXECUTE privilege.
    • In Granted Roles, give the developer the following roles:
      • sap.hana.xs.debugger::Debugger
      • The role we created for the developer
    • In Package Privileges, add the package you created for the developer and give the developer the following privileges for the new package (both native and imported objects):
      • REPO.READ
      • REPO.EDIT
      • REPO.ACTIVATE
      • REPO.MAINTAIN
    • Choose Deploy.

Fig4_3.png

Fig4_4.png

Fig4_5.png

Now click on deploy to finish…

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Michael Eaton

    Hello

    Is this a document from the archives? 😛

    SAP River was never released to customers, and internal development stopped, although CDS continues as its legacy.

    Michael

    (0) 

Leave a Reply