Я импортировал справку по поиску O2USERNAME
в качестве службы oData в ABAP.
Мне бы хотелось, чтобы в UI5 было поле для интерактивного предложения, но я могу заставить работать только один фильтр за раз. Цель состоит в том, чтобы получить предложения от Bname
, NameLast
и NameFirst
.
В SAP-ноте 1671893 ODATA - конвертировать $ filter в опцию выбора ABAP , там говорится:
Все свойства в выражении or_express должны иметь одинаковые имена.
Действительный: "name eq 'Sven' или name eq 'Hugo'"
Неправильно: "имя-экв" Свен "или возраст-экв 20" "
Но это именно то, что мне нужно. Есть ли обходной путь, известный этому?
Вот мой взгляд:
<SearchField id="searchField" width="50%" placeholder="search for..." enableSuggestions="true"
search="onSearch" suggest="onSuggest"
suggestionItems="{ path: '/O2usernameSet', sorter: { path: 'NameLast' } }">
<suggestionItems>
<SuggestionItem text="{Bname}" description="{path:'NameLast'} {path:'NameFirst'}"
key="{Bname}"/>
</suggestionItems>
</SearchField>
и мой контроллер:
onSuggest: function (oEvent) {
var searchField = oEvent.getSource(),
sQuery = searchField.getProperty("value"),
filters1,filters2 = [],
oBinding = searchField.getBinding("suggestionItems");
filters2 = new Filter({
filters1: [
new Filter("Bname", FilterOperator.Contains, sQuery.toUpperCase())
, new Filter("NameLast", FilterOperator.Contains, sQuery) ,
, new Filter("NameFirst", FilterOperator.Contains, sQuery)
],
and: false
});
oBinding.filter(filters2);
oBinding.attachEventOnce('dataReceived', function (parentEvent) {
searchField.suggest();
}.bind(null, oEvent));
}
Ошибка с бэкэнда с правильно настроенным фильтром:
Произошла следующая проблема: сбой HTTP-запроса500, внутренняя ошибка сервера, {"ошибка": {
"Код": "/ IWBEP / CM_MGW_RT / 032",
"сообщение":{
«Языки»: «де»,
"value": "Interner Fehler aufgetreten. Wenden Sie sich and den Systemadministrator"
},
"Innererror": {
"приложение":{
"Component_id": " removedByMe ",
"Service_namespace": " MY_NAMESPACE ",
"Service_id": " MY_SERVICE ",
"Service_version": "0001"
},
"TransactionID": "0BE63D492E4D0210E005CF86AE1FC269",
"Временная метка": "20190621120505.9381020",
"Error_Resolution": {
"SAP_Transaction": "Для администраторов бэкэнда: запустите транзакцию / IWFND / ERROR_LOG в системе-концентраторе SAP Gateway и найдите записи с отметкой времени для получения более подробной информации",
"SAP_Note": "См. SAP-ноту 1797736 для анализа ошибок (https://service.sap.com/sap/support/notes/1797736)"
},
"errordetails": [{
"Код": "/ IWBEP / CX_MGW_TECH_EXCEPTION",
"message": "Interner Fehler aufgetreten. Wenden Sie sich and den Systemadministrator",
"Propertyref": "",
«Тяжесть»: «ошибка»,
"Цель": ""}
]}
}
}
/ IWFND / ERROR_LOG раскрывает указанное выше примечание