odaata-service를 사용하는 SAPUI5 App에서 작업 중입니다. EntitySet을 업데이트하는 중에 오류가 발생하는 경우 변경 사항이 손실되지 않도록하려면 전에 함수 호출이 있습니다. 이 functionCall은 엔티티의 업데이트 메소드와 동일한 코드를 호출하지만 커밋하지 않습니다. 함수 호출의 success-Method에서 submitChanges-Method를 호출합니다. 잘 작동하지만 지금은 일부 필드에 문제가 있습니다. 두 필드를 변경하고 모델 (oModel.getPendingChanges)에서 변경 사항을 발견했습니다. functionCall 호출 후 일부 변경 사항이 손실됩니다. 이 경우 변경 사항 중 하나가 손실되고 다른 하나는 모델에 계속 표시됩니다.SAPUI5 pendingChanges가 손실 됨
onSavePressed: function() {
if (this.getView().getModel().hasPendingChanges()) {
var oChanges = new sap.ui.model.json.JSONModel();
oChanges.setData(this.getView().getModel().getProperty("/" + this.sPath));
this.getView().getModel().callFunction("/CheckData", {
method: "GET",
urlParameters: {
param1: oChanges.oData.param1,
param2: oChanges.oData.param2,
param3: oChanges.oData.param3,
param4: oChanges.oData.param4
},
success: function(oData, response) {
this.getView().getModel().submitChanges({
success: function(oData, oResponse) {
sap.m.MessageToast.show(this.getView().getModel("i18n").getResourceBundle().getText("DATA_SAVED"));
}.bind(this),
error: function(oError) {
console.log(oError);
}.bind(this)
});
}.bind(this),
error: function(oError) {
console.log(oError);
}.bind(this)
});
}
},
이 변경 분실 또는 방법이 변화의 손실을 방지하기 위해 왜 생각을 가지고 있습니까 : 여기 내 저장-방법?