在 CDS 访问控制中使用动态值
Use dynamic values in CDS access control
如何将 cds 元素与 ABAP 函数的 return 值进行比较?
举个例子:
一名员工被分配到一家公司,该公司有来自客户的订单。这些订单显示在 table 中,员工只能看到他们所在公司的订单。
如果员工 A 在公司 B 工作,角色将是这样的:
grant select on ConsumptionViewName
where company = ‚B‘;
我现在想让这个硬编码的 'B' 动态化,并且有一个 ABAP 辅助函数 return 应该使用雇员的雇主。没有任何具有公司字段的授权对象,是否可以没有一个?
您无法为 CDS DCL
提供动态值。
如果找不到合适的权限对象,您可以自己定义一个并让 DCL 完成它的工作。或者,您可以通过使用 ABAP 辅助函数过滤结果,在网关层过滤结果(...DPC_EXT
class 中的方法)。
如何将 cds 元素与 ABAP 函数的 return 值进行比较?
举个例子: 一名员工被分配到一家公司,该公司有来自客户的订单。这些订单显示在 table 中,员工只能看到他们所在公司的订单。
如果员工 A 在公司 B 工作,角色将是这样的:
grant select on ConsumptionViewName
where company = ‚B‘;
我现在想让这个硬编码的 'B' 动态化,并且有一个 ABAP 辅助函数 return 应该使用雇员的雇主。没有任何具有公司字段的授权对象,是否可以没有一个?
您无法为 CDS DCL
提供动态值。
如果找不到合适的权限对象,您可以自己定义一个并让 DCL 完成它的工作。或者,您可以通过使用 ABAP 辅助函数过滤结果,在网关层过滤结果(...DPC_EXT
class 中的方法)。