Я создаю приложение SAPUI5.Это приложение подключено к бэкэнд-системе SAP через OData.В приложении SAPUI5 я использую элемент управления смарт-диаграммой.Встроенная интеллектуальная диаграмма позволяет пользователю создавать фильтры для базовых данных.Это работает нормально - за исключением случаев, когда вы пытаетесь использовать несколько «не равно» для одного свойства.Есть ли способ сделать это?
Я обнаружил, что все свойства в 'and_expression' (включая вложенные or_expressions) должны иметь уникальное имя.
Причина, по которой два параметра сэто же свойство не анализируется в параметрах выбора:
/IWCOR/CL_ODATA_EXPR_UTILS=>GET_FILTER_SELECT_OPTIONS
берет переданное вами выражение и анализирует его в таблице параметров выбора.
Возвращена таблица параметров выборавведите /IWCOR/IF_ODATA_TYPES=>EDM_SELECT_OPTION_T
, который является HASHED TABLE .. WITH UNIQUE KEY
свойством.
От: https://archive.sap.com/discussions/thread/3170195
Проблема в том, что вы не можете объединить NE
условия с OR
,Поскольку оба параметра после NE
не должны отображаться в наборе результатов.
Таким образом, в конце it_filter_select_options
пусто и заполнено только iv_filter_string
.
Есть лиручной способ решения этой проблемы (оценка iv_filter_string
) для обработки нескольких NE
терминов?
Это будет пример запроса:
XYZ/SmartChartSet?$filter=(Category%20ne%20%27Smartphone%27%20and%20Category%20ne%20%27Notebook%27)%20and%20Purchaser%20eq%20%27CompanyABC%27%20and%20BuyDate%20eq%20datetime%272018-10-12T02%3a00%3a00%27&$inlinecount=allpages
Обычно я хочу этоисключить элементы из категории «Записная книжка» и «Смартфон» из набора результатов, который я извлекаю из бэкэнда.