有没有办法用sql更新_SYS_REPO的ACTIVE_OBJECTS?

2020-08-20 02:37发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我想更新ACTIVE_O...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我想更新ACTIVE_OBJECTS中CDATA列的_SYS_REPO中的HANA存储库对象,

我可以这样做吗? 我收到授权错误,特权不足。

我知道_SYS_REPO有点超出限制,但是我不想手动更新计算视图的Advance属性。

6条回答
悻福寶寶
2020-08-20 03:24
中选择GRANTEE,GRANTOR,OBJECT_TYPE,SCHEMA_NAME,PRIVILEGE,IS_GRANTABLE,IS_VALID

我只想更新"高级属性"面板中的一个选项:

-在ACTIVE_OBJECT的CDATA列中找到您的计算视图xml定义
 从" _SYS_REPO"中选择*。" ACTIVE_OBJECT"
 其中package_id ='<我的包裹>'
   和object_suffix ='calculationview';

 -默认情况下,您的用户没有UPDATE ON _SYS_REPO,因此请使用SYSTEM将权限授予您的用户
 将_SYS_REPO.ACTIVE_OBJECT上的UPDATE授予;
 -通过确保中的UPDATE为ACTIVE = TRUE来检查您的权限
 从SYS.GRANTED_PRIVILEGES的GRANTEE = <用户>处选择GRANTEE,GRANTOR,OBJECT_TYPE,SCHEMA_NAME,PRIVILEGE,IS_GRANTABLE,IS_VALID

 -制作没有更新属性的测试"计算"视图,使用CDATA中的REPLACE_REGEXPR将<原始xml>更改为<新xml>


 -在ACTIVE_OBJECTS的测试计算视图CDATA列上运行UPDATE
 更新" _SYS_REPO"。" ACTIVE_OBJECT" SET CDATA = REPLACE_REGEXPR('enforceSqlExecution =" false"'在cdata中使用'enforceSqlExecution =" true"')
 其中OBJECT_NAME = <测试计算视图> AND package_id ='<您的包裹>'
   AND object_suffix ='calculationview';

 -根据需要在CDATA列中验证XML regex替换
 从" _SYS_REPO"中选择OBJECT_NAME,CDATA。" ACTIVE_OBJECT",其中OBJECT_NAME = <测试计算视图>和package_id = <您的软件包>
   和object_suffix ='calculationview';


 -通过在where语句中删除OBJECT_NAME将更改应用于包中的所有Calculation视图

 更新" _SYS_REPO"。" ACTIVE_OBJECT" SET CDATA = REPLACE_REGEXPR('enforceSqlExecution =" false"'在cdata中使用'enforceSqlExecution =" true"')
 其中package_id ='<您的包裹>'
   AND object_suffix ='calculationview';


 

一周热门 更多>