如何在Odata Services(2.0版)中为嵌套数组添加$ filter

2020-08-24 02:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在努力为数组内部的字...

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

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


你好

我正在努力为数组内部的字段添加过滤器,以下是OData的案例结构

 {
    " SalesOrderSellerParty":{
        PartyID:" 1213",
        AddressSnapshotPostalAddress":[
           {
             " ObjectID":" 00163E0D6B661EE7BBF815AD0",
             " CountryCode":" SE"
           }],
    }
 } 

我的问题是如何为" CountryCode"添加过滤器,因为下面的方法不起作用

 $ filter = SalesOrderSellerParty/AddressSnapshotPostalAddres/CountryCode eq'SE'
 

$ filter = SalesOrderSellerParty/PartyID eq'1213'可以很好地工作。 >

1条回答
SAP小菜
2020-08-24 03:22

嗨,

OData V2版本在对嵌套数组使用过滤器方面具有某些规则/限制:

从您的OData结构可以理解,从标题" SalesOrderSellerParty "到项目的导航属性是" AddressSnapshotPostalAddress "。 以下是规则/约束

  • 嵌套过滤器只能与Expand子句一起使用
  • 嵌套的过滤器字段应指定为合格的字段名称
  • 预期基数为1:1

示例:<< em> http url ..... > sap/opu/odata/<< em> ServiceName >/SalesOrderSellerPartySet?$ expand = AddressSnapshotPostalAddress &$ filter = AddressSnapshotPostalAddress/CountryCode eq'SE'

您可以尝试使用OData的V4版本,该版本可以解决基数的最后一个约束。

示例:<< em> http url ..... > sap/opu/odata/<< em> ServiceName >/SalesOrderSellerPartySet?$ expand = AddressSnapshotPostalAddress( $ filter = CountryCode eq'SE')

此致

参孙。

一周热门 更多>