SAPUI5批量提交返回错误
我正在使用以下代码,试图批量上载对表所做的更改:SAPUI5批量提交返回错误,sapui5,Sapui5,我正在使用以下代码,试图批量上载对表所做的更改: onConfirmActionPressed: function() { var oModel = this.getModel(); oModel.setUseBatch(true); oModel.submitChanges(); } 我使用setProperty设置新值,如下所示: onSingleSwitchChange: function(oControlEvent) { var oModel = t
onConfirmActionPressed: function() {
var oModel = this.getModel();
oModel.setUseBatch(true);
oModel.submitChanges();
}
我使用setProperty设置新值,如下所示:
onSingleSwitchChange: function(oControlEvent) {
var oModel = this.getView().getModel();
var rowBindingContext = oControlEvent.getSource().getBindingContext();
oModel.setProperty(rowBindingContext.sPath + "/Zlspr", "A");
}
当执行OnConfigurationPressed时,我得到一个服务器错误,表示SAP R3不允许在变更集处理期间进行提交工作
当我一行一行地上传表格时,效果很好。然而,这种上传方式非常慢,在某些情况下,完成上传过程需要10分钟以上
批量提交时我是否做错了什么?问题是否有可能是由于服务器R3配置错误造成的?您需要覆盖以下方法: /IWBEP/IF\u MGW\u APPL\u SRV\u运行时~CHANGESET\u开始 /IWBEP/IF_MGW_APPL_SRV_运行时~CHANGESET_END 跟踪所有更新方法调用中的错误,如果一切正常,则在变更集中结束对数据库执行提交 编辑: 澄清: 在SAP Gateway中的数据提供程序类扩展中,您需要找到您的YOURENTITY\u UPDATE\u ENTITY方法并删除任何提交工作语句 然后需要重新定义/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CHANGESET_BEGIN方法和,这是在任何批处理操作之前激发的方法。您可以定义一个类属性,比如表mt\u batch\u errors,在这个方法中它将被清空 当您使用oModel.submitChanges发布UI5中的批处理更改时,对实体的所有单个更改都将定向到适当的…\u UPDATE\u实体方法。您需要跟踪任何可能的错误,如果出现任何错误,请填写mt_batch_errors表 更新所有实体后/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CHANGESET_END方法被激发,在该方法中,如果批处理过程中发生任何错误,您可以检查mt_batch_errors表。若有错误,那个么您可能应该回滚工作,若并没有,那个么您可以自由地提交工作 这只是一个如何做到这一点的例子,我很好奇其他的建议
祝你好运 非常感谢。这是非常有用的。