点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们有一个由ODATA服务引用的...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们有一个由ODATA服务引用的...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们有一个由ODATA服务引用的主CDS视图。 假设主CDS视图显示订单抬头信息。 主CDS与物料有关联(例如,订单可以有多种物料)。 所有这一切都很好并且有效。
要求是在物料编号上添加一个过滤器。 如果用户输入商品列表,则CDS仅应返回包含输入商品的订单。 由于主CDS不保存物料编号,因此将成为与物料CDS关联的过滤器。
我知道CDS可以具有输入参数,但是可以处理来自ODATA服务的过滤器值吗? 因此,用户可以输入过滤条件,例如{包含* 12345 *},{等于12345},{结束* 12345}或诸如{包含* 12345 *}或{等于11111}或{等于22222}等组合 等等
我看到的所有参数示例在CDS中都使用等于" ="运算符,而不使用" IN"运算符。 例如:
其中material =:in_material
我们可以使用:
其中材料IN:in_material
如果上述方法不可行,我们如何根据过滤器范围提交关联?
欢迎您提出想法和建议。
嗨,
对于OData V2,我会看到创建函数导入的选项,例如
GetSalesOrderByMaterial?filter = * 1234 *
在OData V4中(但是至少需要SAP_GWFND 751 SP09),您将找到以下示例
/sap/opu/odata4/iwbep/tea/default/iwbep/tea_busi/0001/Departments?$ filter = DEPARTMENT_2_TEAMS/任何(d:d/预算 gt 4000和d/BudgetCurrency eq'JPY')&sap-statistics = true
但是,这需要" any"运算符的基于代码的实现,这非常棘手。
最好的问候 ,
安德烈
一周热门 更多>