Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

引言

在“SAP River():如何为SAP HANA安装SAP River”中,我们介绍了如何为安装SAP HANA安装SAP Riverdelivery unitHANA StudioSAP River插件。本文在此基础上介绍如何配置SAP River的开发环境,包括如何配置RDL角色,如何创建RDL相关的content,如何给开发用户赋予相关角色。

SAP HANA配置SAP River

  SAP HANA上开发SAP River程序之前,需要添加一个RDL角色,添加方法有两种。一种是通过HANA Studio的图形化界面进行添加:

a. 在indexserver.ini中添加一个Section.

b.  Section取名为rdl.

c. 选择在整个HANA System范围内复制。

d. 将属性“developerrole”设置为“DevRole”。

另一种添加方法是运行以下SQL语句:

两种添加方法的效果是一样的,如下图所示:

配置developerrole的目的是使SAP HANA Server具备以下功能:

  1. 当开发用户激活一个package中的SAP River代码时,编译器会检查该用户是否被分配了当前package的“DevRole”角色。持有该角色的用户可以运行package里的应用程序。
  2. SAP River应用程序的所有数据库对象都创建在与它的package同名的schema下。无论SAP River程序在code中指定怎样的访问控制,只要开发用户被分配了package的“DevRole”角色,那么该用户就可以访问package的同名schema

用户权限配置

为了让SAP River的开发用户能够在SAP HANA服务器的repository中创建应用程序,SAP HANA管理员需要给开发用户建立一些对象(packageschema)和赋予一些相应的权限。

首先,开发用户在开发SAP River应用程序时,必须对相应的 packagedesign-time权限,才能在package中创建和更新应用程序的design-time对象,如.rdl文件。其次,当SAP River应用程序被激活时,生成的run-time对象存储在package的同名schema中,所以开发用户要对相应的schemaruntime权限。

为了方便用户,SAP River提供了三个存储过程用于创建packageschema和设置相关权限。在SAP HANA SPS07中部署对应版本的SAP River时,用户需要自己创建这三个存储过程,存储过程的代码在对应版本的SAP River Developer Guide  中提供了。由于更新后的Guide没有提供这些代码,所以在附件中提供。

SAP HANA SPS08中部署对应版本的SAP River时,这三个存储过程已经在系统提供了,直接按以下方式调用即可:

其中,DevPackageSAP River应用程序所在的package DevUserName是开发用户的名称,initialPasswordDevUserName的密码。如果DevPackage不存在,则会新建一个package;同样,如果用户DevUserName不存在,则会新建一个用户。注意,这里的package的名称和开发用户的名称不能相同。另外,如果这里的package已经存在,并且是另一个package的子package,那么还需要对该package的顶级package调用这三个存储过程。比如,如果你的SAP River应用程序所在的packageA.B.C, 那么除了以A.B.Cpackage参数调用以上三个存储过程外,还要以Apackage参数调用以上三个存储过程。

总结

本文介绍了如何配置SAP River的开发环境,包括创建SAP River的开发者角色,在repository中创建相关的packageschema,以及给开发用户赋予相应的design-timeruntime权限。

想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!

转载本文章请注明作者和出处<文章url>,请勿用于任何商业用途。

参考文献

SAP River Developer Guide