2020-09-08 01:21发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
如何更新多个条目。.我有基于复选框的情况,我需要通过基于O数据代码的服务来更新后端的那些行。
如果您也可以粘贴链接...。
-Amol
嗨Amol,
要使用SAPUI5和Gateway将多个条目更新到db表中,您需要在模型中使用方法SubmitBatch。
要更新的每一行都需要先检索该行,然后更改init值,然后再将其放回Entity对象中。
您需要根据"复选框"的选择对将要获得的所有行进行操作(假设您已经可以使用功能)。
那么如何捆绑此信息并将其保存在onego中:
例如,您从条目中获得了列为FNM,LNM,ADDR。
您的实体将如下所示:
info1 = {FNM:'aa',LNM:'bb','ADDR:'cc''}
info2 = {FNM:'aa1',LNM:'bb2','ADDR:'cc3''}
您获得了两个具有更新值的实体,现在我们需要将此数据发送到Gateway进行保存。
现在要发送全部数据,我们需要将其添加到数组中。
FULLDATA [];
FULLDATA.push(oModel.createBatchOperation(" USERINFO"," ",info1));
FULLDATA.push(oModel.createBatchOperation(" USERINFO"," ",info2));
我们需要使用八号PUT或POST方法。
现在您的数据可以在FULLDATA数组中使用,我们只需要将其发送到网关服务即可。
现在我们将提交以下更改:
oModel.addBatchChangeOperations(FULLDATA);
oModel.submitBatch(function(){alert('success');},function(){alert('failed');});
现在在UPDATE_ENTITYSET内的DPC_EXT方法中,您需要读取此数据并仅调用ABAP Modify语句。
请查看下面的帖子
来自SAPUI5的网关批量调用
谢谢-
Abhishek
submitBatch是模型的一种方法,如下所示:
oModel.submitBatch()这个你 需要在视图的控制器中编写。
通过下面的链接
JsDoc报告-用于HTML5的SAP UI开发工具包-API参考-sap.ui.model.odata.ODataModel
编写此生成代码
要使数据发送到服务,您需要创建对象,您可以按照以下步骤进行操作:
此aa,bb,cc是您拥有的值 从View中的前端获取,如下所示:
///从前端表单中读取以下值
var aaVal = sap.ui.getCore()。byId(" FNM")。getValue ();
var bbVal = sap.ui.getCore()。byId(" LNM")。getValue();
info1 = {FNM:aaVal,LNM:bbVal}
info2 = {FNM:'aaVal1',LNM:'bbVal2'}
var FULLDATA = [];
//现在将数据推送到对象以发送到服务器
FULLDATA.push(oModel.createBatchOperation(" USERINFO"," PUT",info1));
FULLDATA.push(oModel.createBatchOperation(" USERINFO"," PUT",info2));
//上面您可以使用PUT或POST
,我们需要使用Auger PUT或POST方法。
现在您的数据在 我们只需要将FULLDATA数组发送到网关服务。
oModel.submitBatch (function(){
sap.ui.commons.MessageBox.alert("记录更新成功!",'',"成功");
},function(){
sap.ui.commons.MessageBox.alert("记录更新错误!",'',"错误");
});
oModel .refresh();
现在在UPDATE_ENTITYSET内的DPC_EXT方法中,您需要读取此数据并仅调用ABAP Modify语句。 我不记得确切的表参数,但是每个EntitySet方法都具有Table参数,其中包含您从Frontend发送到网关的所有这些值。
在DPC_EXT中没有UPDATE_ENTITYSET这样的方法,您可能会发现UPDATE_ENTITY,但不能用于多个记录处理。 但是,您可以使用DPC的CHANGESET BEGIN,PROCESS&END方法来实现此目的。
最多设置5个标签!
嗨Amol,
要使用SAPUI5和Gateway将多个条目更新到db表中,您需要在模型中使用方法SubmitBatch。
要更新的每一行都需要先检索该行,然后更改init值,然后再将其放回Entity对象中。
您需要根据"复选框"的选择对将要获得的所有行进行操作(假设您已经可以使用功能)。
那么如何捆绑此信息并将其保存在onego中:
例如,您从条目中获得了列为FNM,LNM,ADDR。
您的实体将如下所示:
info1 = {FNM:'aa',LNM:'bb','ADDR:'cc''}
info2 = {FNM:'aa1',LNM:'bb2','ADDR:'cc3''}
您获得了两个具有更新值的实体,现在我们需要将此数据发送到Gateway进行保存。
现在要发送全部数据,我们需要将其添加到数组中。
FULLDATA [];
FULLDATA.push(oModel.createBatchOperation(" USERINFO","",info1));
FULLDATA.push(oModel.createBatchOperation(" USERINFO","",info2));
现在您的数据可以在FULLDATA数组中使用,我们只需要将其发送到网关服务即可。
现在我们将提交以下更改:
oModel.addBatchChangeOperations(FULLDATA);
oModel.submitBatch(function(){alert('success');},function(){alert('failed');});
现在在UPDATE_ENTITYSET内的DPC_EXT方法中,您需要读取此数据并仅调用ABAP Modify语句。
请查看下面的帖子
来自SAPUI5的网关批量调用
谢谢-
Abhishek
嗨Amol,
submitBatch是模型的一种方法,如下所示:
oModel.submitBatch()这个你 需要在视图的控制器中编写。
通过下面的链接
JsDoc报告-用于HTML5的SAP UI开发工具包-API参考-sap.ui.model.odata.ODataModel
编写此生成代码
要使数据发送到服务,您需要创建对象,您可以按照以下步骤进行操作:
此aa,bb,cc是您拥有的值 从View中的前端获取,如下所示:
///从前端表单中读取以下值
var aaVal = sap.ui.getCore()。byId(" FNM")。getValue ();
var bbVal = sap.ui.getCore()。byId(" LNM")。getValue();
info1 = {FNM:aaVal,LNM:bbVal}
info2 = {FNM:'aaVal1',LNM:'bbVal2'}
var FULLDATA = [];
//现在将数据推送到对象以发送到服务器
FULLDATA.push(oModel.createBatchOperation(" USERINFO"," PUT",info1));
FULLDATA.push(oModel.createBatchOperation(" USERINFO"," PUT",info2));
//上面您可以使用PUT或POST
现在您的数据在 我们只需要将FULLDATA数组发送到网关服务。
现在我们将提交以下更改:
oModel.addBatchChangeOperations(FULLDATA);
oModel.submitBatch (function(){
sap.ui.commons.MessageBox.alert("记录更新成功!",'',"成功");
},function(){
sap.ui.commons.MessageBox.alert("记录更新错误!",'',"错误");
});
oModel .refresh();
现在在UPDATE_ENTITYSET内的DPC_EXT方法中,您需要读取此数据并仅调用ABAP Modify语句。 我不记得确切的表参数,但是每个EntitySet方法都具有Table参数,其中包含您从Frontend发送到网关的所有这些值。
谢谢-
Abhishek
# p#在DPC_EXT中没有UPDATE_ENTITYSET这样的方法,您可能会发现UPDATE_ENTITY,但不能用于多个记录处理。 但是,您可以使用DPC的CHANGESET BEGIN,PROCESS&END方法来实现此目的。
一周热门 更多>