Я пытаюсь привязать данные кампании из службы 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);
Проблема: таблица не содержит данных, и эта ошибка появляетсяв консоли:
Перевод с немецкого: «В контексте служб данных произошла неизвестная внутренняя ошибка сервера»
iwfnd / error_log говорит об этом:
Неверный формат (таблица возврата): строка № 1, имя свойства «ChangedOn», значение свойства «0»
Почему ChangedOn даже имеет значение, если я не хочу связывать это свойство?
Я могу вызвать что-то вроде ниже прямо в браузере с успехом:
https://host:port/sap/opu/odata/sap/CUAN_CAMPAIGN_SRV/CampaignSet('100001625')/CampaignName
Что я делаю не так?Спасибо за каждую подсказку!
Значение ChangedOn установлено в Nullable в определении службы: