交叉联接以排除项目

2020-09-15 16:47发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好社区, 我正在尝试建立...

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

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


你好社区,

我正在尝试建立一个请求,以获取尚未由业务合作伙伴订购的商品。

目前,我可以通过请求获取Businesspartner'10211'订购的所有商品:

/b1s/v1/$ crossjoin
 (订单,订单/单据行,业务伙伴,项目,项目组)
 ?$ expand = Orders($ select = DocNum),
 订单/单据行($ select = ItemCode),
 BusinessPartners($ select = CardCode),
 Items($ select = ItemName),
 ItemGroups($ select = GroupName)&
 $ filter = Orders/DocEntry eq Orders/DocumentLines/DocEntry和
 订单/卡代码eq BusinessPartners/卡代码和
 Orders/DocumentLines/ItemCode eq Items/ItemCode和
 Items/ItemsGroupCode eq ItemGroups/Number和
 BusinessPartners/CardCode eq'10211'
 

现在,我要从所有项目列表中排除这些项目。

可能无法将此请求设置为过滤器,因此我可以调用:

/b1s/v1/Items&$ filter = ItemCode ne(Request1)

肯定只有一种方法可以在一个请求中做到这一点吗?

是否可以在B1服务层进行左联接?

感谢您的帮助。

2条回答
哎,真难
2020-09-15 17:16 .采纳回答

曼努埃尔,

我看不到在服务层之上实现此查询的简便方法。

但是我认为一种解决方案是在HANA中创建一个视图,以获取您要搜索的结果(如果需要,可以使用一些参数),然后使用服务层语义层功能调用该视图,从而使您可以执行视图。 请查看SL用户手册以获取有关SL语义层功能的更多详细信息。

致谢,
特立尼达。

一周热门 更多>