2020-08-20 02:37发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我想更新ACTIVE_OBJECTS中CDATA列的_SYS_REPO中的HANA存储库对象,
我可以这样做吗? 我收到授权错误,特权不足。
我知道_SYS_REPO有点超出限制,但是我不想手动更新计算视图的Advance属性。
HI Mathew,
您应该能够这样做(请参阅 1735586 了解详情)。 只是想知道以下查询是否对您不起作用:
授予:
授予_SYS_REPO.ACTIVE_OBJECT上的UPDATE到;
检查:
从SYS.GRANTED_PRIVILEGES WHERE GRANTEE ='<用户名>;
我只想更新"高级属性"面板中的一个选项:
-在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';
我会警告您不要直接更新此表。 您将绕过所有验证,历史记录,非活动/活动版本等。即使SAP自己的工具也不会直接更新此表。 这些工具通常通过存储过程作为API进行调用。
我强烈建议您通过REST API进行操作: https://help.sap.com/doc/f32a797a5ec94d8ba4d7ed240d95bfae/2.0.04/zh-CN/index.html
这是唯一为客户发布/支持的API 以编程方式更新存储库内容。
Florian Pfeffer 我不确定您的意思是对齐 xml模式。
我是否通过更改属性来添加依赖项?
为此应该没问题(除非您没有历史记录条目)。
重新设置XML模式:XML视图的结构遵循XML模式定义,计算针对该定义。 查看XML已验证。 如果不进行直接更新而没有验证,则可能会创建损坏的内容。 只是想提一下这一点,以防万一您想改变比"简单"该简单布尔属性更多的东西。
很高兴知道!
最多设置5个标签!
HI Mathew,
您应该能够这样做(请参阅 1735586 了解详情)。 只是想知道以下查询是否对您不起作用:
授予:
授予_SYS_REPO.ACTIVE_OBJECT上的UPDATE到;
检查:
从SYS.GRANTED_PRIVILEGES WHERE GRANTEE ='<用户名>;
我只想更新"高级属性"面板中的一个选项:
我会警告您不要直接更新此表。 您将绕过所有验证,历史记录,非活动/活动版本等。即使SAP自己的工具也不会直接更新此表。 这些工具通常通过存储过程作为API进行调用。
我强烈建议您通过REST API进行操作: https://help.sap.com/doc/f32a797a5ec94d8ba4d7ed240d95bfae/2.0.04/zh-CN/index.html
这是唯一为客户发布/支持的API 以编程方式更新存储库内容。
Florian Pfeffer 我不确定您的意思是对齐 xml模式。
我是否通过更改属性来添加依赖项?
为此应该没问题(除非您没有历史记录条目)。
重新设置XML模式:XML视图的结构遵循XML模式定义,计算针对该定义。 查看XML已验证。 如果不进行直接更新而没有验证,则可能会创建损坏的内容。 只是想提一下这一点,以防万一您想改变比"简单"该简单布尔属性更多的东西。
很高兴知道!
一周热门 更多>