后端更新多行。

2020-09-08 01:21发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

如何更新多个条目。.我有基于复选框的情况,我需要通过基于O数据代码的服务来更新后端的那些行。

< p>

如果您也可以粘贴链接...。


-Amol

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

如何更新多个条目。.我有基于复选框的情况,我需要通过基于O数据代码的服务来更新后端的那些行。

< p>

如果您也可以粘贴链接...。


-Amol

付费偷看设置
发送
2条回答
代楠1984
1楼-- · 2020-09-08 01:57

嗨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




大简至美
2楼-- · 2020-09-08 01:52

嗨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

,我们需要使用Auger 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方法来实现此目的。

一周热门 更多>