在一个项目上,DEV是BASIS配置的,SEGW开发完成ODATA后,在FIORI使用使用都正常,但传传到QAS后发现各种错误,主要原因可能还是权限问题,原因在DEV时使用是SAP_ALL的权限,而到QAS后,就指定了细节的权限,所以就出来现连接ODATA时出错,没权限的问题,所以记录一下,把修正配置权限相关的过程都记录一下。
1.事务码SMICM,查看HTTP(或者是HTTPS)的服务端口(域名等信息)。默认端口是0,一般说来,需要把HTTP端口修改为80(8000),如在这里不能修改,请找BASIS在RZ10里修改,不记得修改那个参数了,是可以修改的。修改后如下。
2.事务码SICF激活ODTA的一些基础服务。
/sap/es和它的子节点
/sap/public/opu
/sap/public/opu/resources
/sap/public/bc
/sap/public/bc/ur
/sap/public/mysssocnt
/sap/opu/odata和它的子节点
/sap/opu/sdata和子节点(我的系统中没有这个,所以没激活)
/sap/opu/utils及其子节点
/sap/bc/srt/xip/sap
/sap/bc/webdynpro/sap/saml2
此步时,如在激活/sap/opu/odata和它的子节点时,你自己的ODATA服务请求还没传的话,那传完成ODATA服务后,需要在此结点下找到自己ODATA服务激活一下。
3.事务码PFCG,在开发系统创建一个管理ODATA的服务角色,并传到对应系统。并在角色中增加自定义ODATA服务权限,
以下以ODATA服务:ZBARCODE_INF_SRV为例子。
权限缺省值 | 程序标识 | 对像类型 | ODATA的服务 | |
1 | HT TADIT 服务 | R3TR | IWSG SAP Gateway:Service Groups Metadata | ZBARCODE_INF_SRV_0001 |
2 | HT TADIT 服务 | R3TR | IWSV SAP Gateway Business Suite Enablement – | ZBARCODE_INF_SRV 0001 |
增加后结果如图
4.我的在传输到QAS系统后,在事务“/IWFND/MAINT_SERVIC”中发现ODATA服务的系统别名没有带过来,所以新建了一个请求,在这里新增加了系统别名里,选择并生成传输打包请求,传到新系统中。
现测试ODATA使用正常了。