SAP HANA RDL (River Definition Laguage) configuration
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:
- Easier and faster development and maintenance:
- Declarative, focusing on application intent
- Expressive language constructs
- Flexible code specification, enabling easier separation of concerns and iterative refinement of application code.
- Smaller bill of materials – coherency across different layers and components of the application.
- Easily leveraging HANA’s power, while remaining agnostic to underlying technology containers (XS, SQLScript).
- Can leverage any underlying supported runtime container, without compromising on running time optimization.
- Application execution improves together with the underlying technology, transparently; taking advantage of new capabilities.
- 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
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…
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
Click on import – then go to SAP HANA Content -> Delivery Unit
Check client and browse into your local folder *.tgz file
Click on Finish
SAP HANA RDL package installed successfully
After deploying the delivery unit, we can see the sap.hana.rdl package in the repository content
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
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
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.
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.
- Create a package for the developers design-time objects, as follows.
- In the SAP HANA Systems view, right-click on the Content node of your system, and choose NewPackage.
- In Name, enter a name for the package.
- Choose OK.
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.
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:
- 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):
- Choose Deploy.
Now click on deploy to finish…