如何创建与参数化 CDS 视图的关联?
How to create an association to a parameterized CDS view?
我正在努力寻找在参数化 CDS 视图的扩展和参数化 CDS 视图之间创建关联的语法。它们的输入参数同名。
我试过这个:
extend view I_AAA with ZZ_AAA
association [0..1] to ZZ_BBB(P_param1 : $parameters.P_param1) as _ZZ_BBB
这给出了错误:“意外的关键字'('(预期打开)”。
或者这样:
extend view I_AAA with ZZ_AAA
association [0..1] to ZZ_BBB as _ZZ_BBB on $parameters.P_param1 = _ZZ_BBB.P_param1
这给出了错误:“实体 ZZ_BBB 需要参数 P_X”。
文档指出:
If the data source target
of a specified CDS association is a CDS
entity with input parameters, parameters must be used after the name
_assoc
to pass actual parameters to them. No parameters can be specified for a CDS association published as an element of a SELECT
list.
我在第一个例子中尝试的是将参数放在 _assoc 之后。
我找到了解决方法:必须使用以下语法为选择列表中的每个数据元素指定参数:
association [0..1] to ZZ_BBB as _ZZ_BBB on $projection.operand1 = _ZZ_BBB.operand1
{
_ZZ_BBB(P_Param1:$parameters.P_Param1, P_Param2:$parameters.P_Param2).Element1 as SomeElement
...
我仍然想知道是否可以为会影响所有数据元素的关联指定一个通用参数。我将同时接受这个答案。
我正在努力寻找在参数化 CDS 视图的扩展和参数化 CDS 视图之间创建关联的语法。它们的输入参数同名。
我试过这个:
extend view I_AAA with ZZ_AAA
association [0..1] to ZZ_BBB(P_param1 : $parameters.P_param1) as _ZZ_BBB
这给出了错误:“意外的关键字'('(预期打开)”。
或者这样:
extend view I_AAA with ZZ_AAA
association [0..1] to ZZ_BBB as _ZZ_BBB on $parameters.P_param1 = _ZZ_BBB.P_param1
这给出了错误:“实体 ZZ_BBB 需要参数 P_X”。
文档指出:
If the data source
target
of a specified CDS association is a CDS entity with input parameters, parameters must be used after the name_assoc
to pass actual parameters to them. No parameters can be specified for a CDS association published as an element of a SELECT list.
我在第一个例子中尝试的是将参数放在 _assoc 之后。
我找到了解决方法:必须使用以下语法为选择列表中的每个数据元素指定参数:
association [0..1] to ZZ_BBB as _ZZ_BBB on $projection.operand1 = _ZZ_BBB.operand1
{
_ZZ_BBB(P_Param1:$parameters.P_Param1, P_Param2:$parameters.P_Param2).Element1 as SomeElement
...
我仍然想知道是否可以为会影响所有数据元素的关联指定一个通用参数。我将同时接受这个答案。