Я пытаюсь создать простое приложение SAPUI5, которое в основном перечисляет таблицу, заполненную данными сотрудника (идентификатор, имя, адрес).
Однако я не могу добавить нового сотрудника, потому что всегда получаю одну и ту же ошибку:
Uncaught TypeError: oModel.create не является функцией в constructor.Save (EmpDetails.controller. js? eval: 87)
Не могли бы вы помочь мне решить эту проблему? Я не понимаю, почему функция create не работает, учитывая, что она связана с моделью и должна работать нормально (как GET-метод, который заполняет таблицу при инициализации). Вот мой код для контроллера:
sap.ui.controller("zemployee_crud.EmpDetails", {
onInit: function() {
var sServiceUrl = "proxy/http/<server>:<port>/sap/opu/odata/sap/ZEMPLOYEE_SRV";
var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl, true);
var oJsonModel = new sap.ui.model.json.JSONModel();
oModel.read("/EmployeeSet",null,null,true,function(oData,response){
oJsonModel.setData(oData);
});
sap.ui.getCore().setModel(oJsonModel);
},
Save: function() {
var oId = sap.ui.getCore().byId("Id").getValue();
var oName = sap.ui.getCore().byId("Name").getValue();
var oAddress = sap.ui.getCore().byId("Address").getValue();
var oEntry = {};
oEntry.Empid = oId;
oEntry.Empname = oName;
oEntry.Empadd = oAddress;
var oModel = sap.ui.getCore().getModel();
oModel.create("/EmployeeSet", oEntry, null, function (response) {
// success message
// table reload
}, function (Error) {
//show error
});
}
});