带过滤器的CDS关联

2020-08-20 20:32发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我已经创建了两个CDS视图。 一...

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

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


我已经创建了两个CDS视图。 一个是标题,另一个是Item。 使用关联定义了这两个视图之间的关系。 创建了Odata服务,该服务使用@ OData.publish:true在标题和项目之间进行导航。 如何在CDS关联中传递参数。 或如何在关联条件以外的条件下通过关联条件中的过滤器。

付费偷看设置
发送
2条回答
Climb_Ma
1楼-- · 2020-08-20 20:44

在关联的打开条件下定义过滤器会影响使用该关联的所有位置。

如果您想具有一次性行为,则可以在使用过滤器或参数的地方指定它。

例如 (想象_note是一个关联,)

//带冒号的前缀参数
_note [language =:langu] .text,

//带有$ parameters的前缀param
_note [语言= $ parameters.langu] .text,

//使用过滤器
_note [language ='E'] .text

//指定基数

_note [1:语言='E'] .text

追夢秋陽
2楼-- · 2020-08-20 21:04

嗨,

我将尝试通过一个示例说明如何在具有关联的CDS视图之间传递参数。

使用参数定义视图V1

@ EndUserText.label:"分类帐"

parameter_rldnr: fins_ledger ,

@ EndUserText.label:"年份"

parameter_year: gjahr

从acdoca中选择

{

field1

field2,

field3

}

其中

acdoca.rldnr = $ parameters.parameter_rldnr和

acdoca.gjahr = $ parameters.parameter_year;


现在将视图V1与视图V2中的参数一起使用,如下所示。

使用参数定义视图V2

@ EndUserText.label:"分类帐"

parameter_rldnr: fins_ledger ,

@ EndUserText.label:"年份"

parameter_year: gjahr

从V1中选择

( parameter_rldnr:$ parameter.parameter_rldnr,

parameter_year:$ parameter_year)

V1.field1上的左外部连接vbrk = vbrk.field1

{

v1中的

字段

vbrk的字段

}

一周热门 更多>