CDS视图:获取与过滤器值不匹配的其他记录

2020-09-02 15:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个ABAP程序,试图在CD...

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

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


我有一个ABAP程序,试图在CDS视图中进行仿真。 该程序将在一个关键字段(VBELN)上进行过滤,然后拉入任何其他标记为"默认"的记录(默认意味着它们应始终显示在结果上)。 在VBELN上匹配的记录和默认记录之间的链接是另一个字段GRPFILTER。

ABAP的示例:

RecordID过滤器DefaultFlg

vbeln1 grpfilter

vbeln2 grpfilter X

vbeln3 grpfilter

vbeln4 grpfilter2

显示报告,其中RecordID = vbeln1

结果:

vbeln1 vbeln2

原始ABAP代码提取RecordID vbeln1的所有数据。 然后从同一过滤器grpfilter提取所有数据,其中defaultFlg为true。

--------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------

如何在CDS视图中执行此操作? 我可以获取与过滤器关联的记录,但是当我在显示点对VBELN说过滤器时,将删除默认记录。

CDS结果示例:

vbeln1 vbeln2 vbeln3(所有带有Filter = grpfilter的记录)

过滤器,其中RecordID = vbeln1

预期结果:vbeln1 vbeln2 <==记录ID vbeln2具有defaultFlg = true)

实际结果:vbeln1 <==记录ID vbeln2因为与所选RecordID不匹配而被滤除

3条回答
Alawn_Xu
2020-09-02 16:46

一个非常简单的解决方案是使用带有或条件的过滤器。

其中recordID ='key1'或default ='X'

所以不要在CDS上进行过滤

BR,

Mahesh

一周热门 更多>