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
1楼-- · 2020-09-02 16:46

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

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

所以不要在CDS上进行过滤

BR,

Mahesh

微wx笑
2楼-- · 2020-09-02 16:35

这是ABAP中的原始报告

一旦对salesDocument进行过滤,我将不再具有通过groupFilter的链接,因此不会显示默认记录。

土豆飞人
3楼-- · 2020-09-02 16:33

你好,

< a hraf=" https://answers.sap.com/users/8617/maheshkumarpalavalli.html"> Mahesh Kumar Palavalli 是满足您要求的一种简单方法。

然而,还有其他方法可以满足要求。

如果您想在扩展笔记上使用CDS View,可以按照以下方法操作:

< p>->创建CDS视图(类型1),其中VBELN = VBELN1

->创建另一个CDS视图(类型1),其中GRPFILTER为EQ X

- >现在,将上面创建的两个CDS视图合并到第三个CDS视图中(带有连接的CDS)。

希望这会有所帮助!

干杯!

一周热门 更多>