SAP River(三):配置SAP River开发环境
引言
在“SAP River(二):如何为SAP HANA安装SAP River”中,我们介绍了如何为安装SAP HANA安装SAP River的delivery unit和HANA Studio的SAP 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具备以下功能:
- 当开发用户激活一个package中的SAP River代码时,编译器会检查该用户是否被分配了当前package的“DevRole”角色。持有该角色的用户可以运行package里的应用程序。
- SAP River应用程序的所有数据库对象都创建在与它的package同名的schema下。无论SAP River程序在code中指定怎样的访问控制,只要开发用户被分配了package的“DevRole”角色,那么该用户就可以访问package的同名schema。
用户权限配置
为了让SAP River的开发用户能够在SAP HANA服务器的repository中创建应用程序,SAP HANA管理员需要给开发用户建立一些对象(如package和schema)和赋予一些相应的权限。
首先,开发用户在开发SAP River应用程序时,必须对相应的 package有design-time权限,才能在package中创建和更新应用程序的design-time对象,如.rdl文件。其次,当SAP River应用程序被激活时,生成的run-time对象存储在package的同名schema中,所以开发用户要对相应的schema有runtime权限。
为了方便用户,SAP River提供了三个存储过程用于创建package,schema和设置相关权限。在SAP HANA SPS07中部署对应版本的SAP River时,用户需要自己创建这三个存储过程,存储过程的代码在对应版本的SAP River Developer Guide 中提供了。由于更新后的Guide没有提供这些代码,所以在附件中提供。
在SAP HANA SPS08中部署对应版本的SAP River时,这三个存储过程已经在系统提供了,直接按以下方式调用即可:
其中,DevPackage是SAP River应用程序所在的package, DevUserName是开发用户的名称,initialPassword是DevUserName的密码。如果DevPackage不存在,则会新建一个package;同样,如果用户DevUserName不存在,则会新建一个用户。注意,这里的package的名称和开发用户的名称不能相同。另外,如果这里的package已经存在,并且是另一个package的子package,那么还需要对该package的顶级package调用这三个存储过程。比如,如果你的SAP River应用程序所在的package是A.B.C, 那么除了以A.B.C为package参数调用以上三个存储过程外,还要以A为package参数调用以上三个存储过程。
总结
本文介绍了如何配置SAP River的开发环境,包括创建SAP River的开发者角色,在repository中创建相关的package和schema,以及给开发用户赋予相应的design-time和runtime权限。
想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!
转载本文章请注明作者和出处<文章url>,请勿用于任何商业用途。