Hello Sai!
It didn't work for me, since I had to leave initial binding as it was generated by Layout Editor in Web IDE.
But anyways, thanks for the input - you gave me an idea, how it could be done. Here's my code below (maybe it's a bit awkward, but hey - it's working):
onChangeDate: function(oEvent) { var oController = this; var oItem = oEvent.getSource(); var sDate = oController._getDateYyyymmdd(oItem.getDateValue()); var sPernr = oController._getPernr(); MessageToast.show(sDate + " " + sPernr); var oList = oController.getView().byId("listSeniority"); var sURL = "/sap/opu/odata/sap/ZHCM_XSS01_CALCSEN_SRV"; var oDataModel = new sap.ui.model.odata.ODataModel(sURL); var oItemTemplate = oController._setItemTemplate(); oDataModel.callFunction("/changeDate", { method: 'GET', urlParameters: { "KeyDate": sDate, "EmployeeNumber": sPernr }, success: function (oData) { var oDataSet = oData; oController._changeDateSuccess(oDataSet, oList, oItemTemplate);} }); }, _getDateYyyymmdd: function(vDate) { var yyyy = vDate.getFullYear().toString(); var mm = (vDate.getMonth() + 1).toString(); var dd = vDate.getDate().toString(); var vDateYyyymmdd = yyyy + (mm[1] ? mm : "0" + mm[0]) + (dd[1] ? dd : "0" + dd[0]); return vDateYyyymmdd; }, _getPernr: function() { var sPernr = this.getView().byId("objectHeader").getIntro(); return sPernr; }, _setItemTemplate: function() { var oItemTemplate = new sap.m.ObjectListItem({ type: "Active", counter: null, title: "{SeniorityText}", number: "{CalYY} - {CalMM} - {CalDD}", numberUnit: "годы - месяцы - дни", markFavorite: false, markFlagged: false, showMarkers: false }); return oItemTemplate; }, _changeDateSuccess: function(oDataSet, oList, oItemTemplate) { var oModelHelp = new sap.ui.model.json.JSONModel(); oModelHelp.setData(oDataSet); var sLength = oModelHelp.oData.results.length; var aData = []; for (var i = 0; i < (sLength); i++) { aData[i] = { "SeniorityText": oModelHelp.oData.results[i].SeniorityText, "CalYY": oModelHelp.oData.results[i].CalYY, "CalMM": oModelHelp.oData.results[i].CalMM, "CalDD": oModelHelp.oData.results[i].CalDD, }; } var oModel = new sap.ui.model.json.JSONModel(); oList.setModel(oModel); oList.bindAggregation("items", { path: "/Seniority", template: oItemTemplate }); oModel.setData({ Seniority: aData }); oList.setModel(oModel); }
Regards,
Anton
P.S. I also had implemented function import within my backend to get proper data, but it also could be done with oDataModel.read method with corresponding filters.