Фильтр службы SAP OData не фильтрует

Я учусь получать дельта-данные из примера шлюза SAP Fiori в Azure SQL с помощью фабрики данных Azure и функции фильтрации в службе OData. Я использую службу OData, представленную образцом Fiori, и одним из образцов таблицы является PurchaseOrders.

Я пробовал так:

$filter=ChangedAt ge datetime '2020-09-08T22:00:00'

Но он все равно возвращает все записи.

Я обнаружил, что sap:filterable имеет значение false в метаданных введите здесь описание изображения

Это фильтруемое ложное сделано, чтобы я не мог это отфильтровать?

Есть ли другой способ сделать извлечение дельты в OData вместо использования фильтра?

Благодарю вас


person Adityo Setyonugroho    schedule 15.09.2020    source источник
comment
sap:filterable носит чисто информационный характер. Фактическая поддержка запроса $filter должна быть реализована службой OData.   -  person Boghyon Hoffmann    schedule 13.10.2020


Ответы (1)


Как писал @Boghyon выше, sap:filterable — это просто аннотация, которая может помочь в создании пользовательского интерфейса. Вы должны проверить метод GET_ENTITY_SET класса DPC_EXT для типа объекта, который вы пытаетесь отфильтровать. Если фильтрация не реализована, то (1.) в случае стандартного сервиса вы более или менее застряли (его нельзя фильтровать по какой-то причине) (2.) в случае пользовательского сервиса вы можете реализовать фильтрацию

person grabz    schedule 22.04.2021