我得到了,我想在我的SAP後臺更新多個EntititySets,所以我取我的數據(有效載荷)爲JSON並把它放在一個請求(它的成功在節點「數據」):SAPUI5 - 批量操作 - 如何做到這一點?
代碼:
var oTreeJSON = oTreeTable.getModel().getProperty("/root");
var oModel = sap.ui.getCore().getModel();
var batchChanges = [];
for (var i = 0; i < oTreeAll.length; i++) {
batchChanges.push(oModel.createBatchOperation("/sap/opu/odata/sap/MY_SERVICE/?$batch", "POST", oTreeAll[i]));
}
oModel.submitBatch();
我的要求是這樣的:
應該在哪裏它在SAP(哪種方法)到達?我做錯了什麼,在任何地方都沒有錯誤,但沒有電話到達我的後端......很高興每一個提示!謝謝。
具有降低的複雜工作實施例:
var oEntry = {};
oEntry.MyId = "00000001";
oEntry.Value = "300";
batchChanges.push(oModel.createBatchOperation("MyEntitySet", "POST", oEntry, null));
oModel.addBatchChangeOperations(batchChanges);
oModel.setUseBatch(true);
oModel.submitBatch();
對於記錄,方法調用:
- 1)/ IWBEP/IF_MGW_CORE_SRV_RUNTIME〜CHANGESET_BEGIN:SAP提案EXIT。
- 2)/ iwbep/if_mgw_appl_srv_runtime_create_entity。 (n次)//將您的 填入實體
- 3)/ iwbep/if_mgw_core_srv_runtime〜changeset_end:SAP提案COMMIT WORK。
它沒有到達後端...我必須手動設置任何標題數據嗎? (之前不需要設置任何標題,全部在同一個域中,因此我認爲這次是相同的)......這是正確的方法嗎?在/ IWBEP/IF_MGW_CORE_SRV_RUNTIME〜CHANGESET_BEGIN和/ IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CHANGESET_BEGIN中得到斷點,兩者都不會被激活。 – zyrex 2014-10-27 07:56:50
嗨,您需要添加批處理操作。 oModel.addBatchChangeOperations(batchChanges); oModel.setUseBatch(true); – Allen 2014-10-27 08:12:21
我得到它運行一個複雜性降低的版本,現在我已經適應了它..至少該呼叫正在轉移到後端。我會更新我的答案,我認爲你的兩個提示是必要的,所以我會接受它作爲答案:-) – zyrex 2014-10-27 09:25:47