Поле панели интеллектуального фильтра списка значений интеллектуальной таблицы отсутствует, несмотря на настройку
У меня возникли проблемы с созданием списка значений для поля на панели интеллектуальных фильтров интеллектуальной таблицы.
У меня есть набор сущностей ApplicationsOverviewItemSet со следующим определением типа сущности в SEGW: Умная таблица должна отображать данные этого набора сущностей. Я бы хотел, чтобы в его панели интеллектуальных фильтров был список значений для свойства statute. Я определил другой набор сущностей под названием ApplicationStatuteSet с этим определением типа сущности SEGW:
этот набор сущностей должен быть списком возможных значений статута и их описаний. Я реализовал его метод GET в классе расширенного поставщика данных, убедившись, что он поддерживает все параметры запроса пагинации ($top, $skip и $inlinecount). Базовый запрос GET набора сущностей теперь возвращает следующие данные в формате JSON:
{
"d": {
"results": [
{
"__metadata": {
"id": "https://WEBWSD.<my company>:443/sap/opu/odata/sap/ZC_AD_SCHOLAR_SRV/ApplicationStatuteSet('007')",
"uri": "https://WEBWSD.<my company>:443/sap/opu/odata/sap/ZC_AD_SCHOLAR_SRV/ApplicationStatuteSet('007')",
"type": "ZC_AD_SCHOLAR_SRV.ApplicationStatute"
},
"STATUTE": "007",
"DESCR": "Visiting scholar"
},
{
"__metadata": {
"id": "https://WEBWSD.<my company>:443/sap/opu/odata/sap/ZC_AD_SCHOLAR_SRV/ApplicationStatuteSet('014')",
"uri": "https://WEBWSD.<my company>:443/sap/opu/odata/sap/ZC_AD_SCHOLAR_SRV/ApplicationStatuteSet('014')",
"type": "ZC_AD_SCHOLAR_SRV.ApplicationStatute"
},
"STATUTE": "014",
"DESCR": "International scholar"
}
]
}
}
Я скорректировал класс поставщика расширенной модели для создания следующей аннотации в документе метаданных службы, обозначающей объект ApplicationStatute в качестве поставщика списка значений для полей статута:
<Annotations Target="ZC_AD_SCHOLAR_SRV.ApplicationStatute" xmlns="http://docs.oasis-open.org/odata/ns/edm">
<Annotation Term="com.sap.vocabularies.Common.v1.ValueList">
<Record>
<PropertyValue Property="Label" String="Statutes"/>
<PropertyValue Property="CollectionPath" String="ApplicationStatuteSet"/>
<PropertyValue Property="SearchSupported" Bool="true"/>
<PropertyValue Property="Parameters">
<Collection>
<Record Type="com.sap.vocabularies.Common.v1.ValueListParameterInOut">
<PropertyValue Property="LocalDataProperty" PropertyPath="statute"/>
<PropertyValue Property="ValueListProperty" String="STATUTE"/>
</Record>
<Record Type="com.sap.vocabularies.Common.v1.ValueListParameterDisplayOnly">
<PropertyValue Property="ValueListProperty" String="DESCR"/>
</Record>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
Я регенерировал и повторно активировал все артефакты службы времени выполнения.
В объявлении внешнего вида UI5 я явно установил для атрибута preventInitialDataFetchInValueHelpDialog элемента ControlConfiguration поля статута значение false.
AFAIK, это все, что нужно сделать, чтобы создать список значений для поля. Однако, если я нажму F4 в поле Статут на панели интеллектуальных фильтров, я получаю только следующее всплывающее окно:
Вкладка " Выбрать из списка " отсутствует и список значений не отображается…
Примером того, чего я хотел бы добиться, является список значений, который появляется, когда вы нажимаете F4 в поле Балансовая единица первого примера приложения смарт-таблиц SAPUI5:
Кто-нибудь знает, что я делаю неправильно или упускаю из виду при создании списка значений для поля?
Заранее спасибо за помощь,
Джошуа
1 ответ
Мы нашли проблему. Цель аннотации должна ссылаться на поле в сущности, с которым вы хотите связать список значений. В моем случае это должен был быть "ApplicationsOverviewItem/statute".