Поле панели интеллектуального фильтра списка значений интеллектуальной таблицы отсутствует, несмотря на настройку

У меня возникли проблемы с созданием списка значений для поля на панели интеллектуальных фильтров интеллектуальной таблицы.

У меня есть набор сущностей 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".

Другие вопросы по тегам