SAP Business One-服务层-嵌套过滤

2020-09-16 10:21发布

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

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


如何在SAP Business One服务层中进行嵌套过滤?

我尝试过:

https://hanab12:50000/b1s/v1EmployeesInfo?$ select = EmployeeID,FirstName,LastName,EmployeeAbsenceInfoLines&$ filter =(EmployeeAbsenceInfoLines/FromDate eq'2018-01-25')

但这只会给我带来一个错误:"'EmployeeInfo'的属性'EmployeeAbsenceInfoLines/FromDate'是无效的",但是基于Employee对象的属性名称是正确的。

另一个示例是仅获取在行级别使用了特定物料的销售订单。

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

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


如何在SAP Business One服务层中进行嵌套过滤?

我尝试过:

https://hanab12:50000/b1s/v1EmployeesInfo?$ select = EmployeeID,FirstName,LastName,EmployeeAbsenceInfoLines&$ filter =(EmployeeAbsenceInfoLines/FromDate eq'2018-01-25')

但这只会给我带来一个错误:"'EmployeeInfo'的属性'EmployeeAbsenceInfoLines/FromDate'是无效的",但是基于Employee对象的属性名称是正确的。

另一个示例是仅获取在行级别使用了特定物料的销售订单。

付费偷看设置
发送
2条回答
天桥码农
1楼 · 2020-09-16 11:23.采纳回答

对不起,您的线程锁定器很抱歉,

以下是在子元素上应用$ filter的解决方法:

首先加入对象-订单,订单的Doc行,并应用$ Filter条件:(DocLines.DocEntry = Doc.DocEntry)和(DocLines.ItemCode eq为'A00001')。 我的系统上没有员工的数据,但同样适合您的情况。

 https://:50000/b1s/v1/$ crossjoin(Orders,Orders/DocumentLines)?$ expand = Orders($ select = DocEntry,DocNum),Orders/DocumentLines($ select = ItemCode,LineNum  )&$ filter =订单/DocEntry eq订单/DocumentLines/DocEntry和订单/DocumentLines/ItemCode eq'A00001'
愤怒的猪头君
2楼-- · 2020-09-16 11:06

你好,

这仍然是唯一的解决方法,还是现在有另一种方法可以对子元素进行过滤?

谢谢

一周热门 更多>