SAPUI5 Привязка OData к таблице - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь привязать данные кампании из службы OData CUAN_CAMPAIGN_SRV к элементу TableSelectDialog.На мой взгляд, у меня есть поле ввода со справкой ввода:

<form:FormElement visible="true">
<form:label>
    <Label text="Campaign" design="Standard" width="100%" required="false" textAlign="Begin" textDirection="Inherit"/>
</form:label>
<form:fields>
    <Input id="campaignId" type="Text" enabled="true" visible="true" width="auto" editable="true" showValueHelp="true" valueHelpOnly="true" valueHelpRequest="handleValueHelp"/>
</form:fields>

Значение help вызывает функцию handleValueHelp в моем контроллере:

handleValueHelp: function(oController) {
     this.inputId = oController.oSource.sId;
     // create value help dialog
     if (!this._valueHelpDialog) {
         this._valueHelpDialog = sap.ui.xmlfragment(
             "my.view.Campaigns",
             this
         );
     this.getView().addDependent(this._valueHelpDialog);
     }

     // open value help dialog
     this._valueHelpDialog.open();
}

Это когда мой табличный диалог (фрагмент) всплывает:

<core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core">
<TableSelectDialog id="campaignSelect" title="Select campaign" items="{path:'/CampaignSet'}" growingThreshold="5">
    <columns>
        <Column>
            <Text text="Name"/>
        </Column>
        <Column>
            <Text text="ID"/>
        </Column>
        <Column>
            <Text text="Created at"/>
        </Column>
        <Column>
            <Text text="Created by"/>
        </Column>
    </columns>
    <items>
        <ColumnListItem>
            <Text text="{CampaignName}"/>
            <Text text="{CampaignId}"/>
            <Text text="{CreatedOn}"/>
            <Text text="{CreatedBy}"/>
        </ColumnListItem>
    </items>
</TableSelectDialog>

Поэтому я попытался связать EntitySet CampaignSet из службы OData CUAN_CAMPAIGN_SRV в таблицу.Поэтому я добавил этот код в мою init () функцию контроллера:

var uname = "UNAME";
var pw = "PW";

var oModel = new sap.ui.model.odata.v2.ODataModel("https://host:port/sap/opu/odata/sap/CUAN_CAMPAIGN_SRV/",
true, uname, pw);

this.getView().setModel(oModel);

Проблема: таблица не содержит данных, и эта ошибка появляетсяв консоли:

Developer Console Error Log

Перевод с немецкого: «В контексте служб данных произошла неизвестная внутренняя ошибка сервера»

iwfnd / error_log говорит об этом:

Неверный формат (таблица возврата): строка № 1, имя свойства «ChangedOn», значение свойства «0»

Почему ChangedOn даже имеет значение, если я не хочу связывать это свойство?

Я могу вызвать что-то вроде ниже прямо в браузере с успехом:

https://host:port/sap/opu/odata/sap/CUAN_CAMPAIGN_SRV/CampaignSet('100001625')/CampaignName

Что я делаю не так?Спасибо за каждую подсказку!


Значение ChangedOn установлено в Nullable в определении службы:

ChangedOn segw

...