Avalados por :

Cómo agregar un filtro para 'CountryCode' en un campo dentro de un array en OData

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

Hola,

Estoy teniendo dificultades para agregar un filtro para un campo que se encuentra dentro de un array, a continuación se muestra la estructura de caso de OData

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

Mi pregunta es cómo agregar un filtro para 'CountryCode' porque lo siguiente no funciona

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

$filter=SalesOrderSellerParty/PartyID eq '1213' funciona bien sin embargo.

Esto puede ser algo muy trivial, pero no puedo encontrar una buena respuesta.

Gracias de antemano.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

Hola,

La versión OData V2 tiene ciertas reglas / restricciones en cuanto al uso de filtros en matrices anidadas:

Según entiendo de tu estructura OData, la propiedad de navegación desde tu encabezado " SalesOrderSellerParty " hasta tu ítem es " AddressSnapshotPostalAddress ". A continuación se detallan las reglas / limitaciones:

  • El filtro anidado solo se puede usar con la cláusula Expand
  • El campo de filtro anidado debe ser proporcionado como nombre de campo calificado
  • La cardinalidad esperada es 1:1

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

Puedes probar la versión V4 de OData que resuelve la última restricción de cardinalidad.

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

Saludos,

Samson.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?