要在SAP后端发布数据,请使用:
oModel.create("/Dummyset", oEntry); //so far it works fine
现在我的oEntry中有多行,但它不起作用。我找到了以下解决方案
aBatchOperation.push(contactBatchOperation);
oModel.addBatchChangeOperations(aBatchOperation);
oModel.submitBatch(fSuccess,fError,true);
但不幸的是,它没有使用我的OData 2.0版。我总是得到一个错误
" addBatchChangeOperations不是函数"
然后我试着找出我可以用于OData v2的功能。我能找到这个。
batchChanges.push(oModel._createBatchRequest("/AttributesSet", "POST", wert.Atrributes[i].name));
oModel._submitBatchRequest(oModel.setProperty("/AttributesSet", batchChanges), true);
但它仍然无效。我该如何解决?
答案 0 :(得分:3)
我想你想把几个创建请求捆绑到一个批处理中,对吗?
对于ODataModel create方法,您可以定义其他groupId。见下文。
mParameters。的的groupId 强>?请求组的ID;属于同一组的请求将捆绑在一个批处理请求中
基本上,您可以使用您自己定义的 groupId 提交多个创建。
首先,您必须为ODataModel
设置某个deferredGroupsvar aDeferredGroup = oModel.getDeferredGroups().push("batchCreate");
oModel.setDeferredGroups(aDeferredGroup);
然后你调用多个创建。
var mParameters = {groupId:"batchCreate"};
oModel.create("/Dummyset", oEntry1, mParameters);
oModel.create("/Dummyset", oEntry2, mParameters);
oModel.create("/Dummyset", oEntry3, mParameters);
最后,您可以针对多个请求使用一个批处理submitChanges。
oModel.submitChanges(mParameters);