规则中的Odata更新操作

2020-08-15 13:01发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 是否可以在规则中调用od...

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

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


嗨,

是否可以在规则中调用odata更新操作? 我收到错误mdk.trace.core:错误:定义路径"/img/path/to/action"无效或缺少,所以我猜我的字符串中缺少了什么? 我用

 pageProxy.executeAction('/path/to/odata/update/action')
 

最诚挚的问候,

Bryan David Asuncion

4条回答
风早神人
2020-08-15 13:46

布莱恩·亚松森

首先,您可以拥有两个 UpdateEntity操作,例如UpdateStatusAccept.action,UpdateStatusReject.action

下面是UpdateStatusAccept.action的示例,您可以对UpdateStatusReject.action进行另一个更新(更改属性>状态)

 {
     " OnFailure":"/DemoApp/Actions/UpdateStatusFailure.action",
     "属性":{
         "状态":"接受"
     },
     "目标":{
         " EntitySet":"客户",
         " ReadLink":" {@ odata.readLink}",
         "服务":"/img/DemoApp/Services/serv.service"
     },
     " _Type":" Action.Type.ODataService.UpdateEntity"
 }
 

您可以在页面的对象单元的OnPress中触发以下规则。

导出默认功能UpdateStatus(context){
     让pageProxy = context.getPageProxy();
//pageProxy.getActionBinding()将给出您
//pressed的行的绑定。 这里状态是OData属性 var currentStatus = pageProxy.getActionBinding()。Status; 如果(currentStatus ===" ACCEPTED"){ 返回pageProxy.executeAction("/img/DemoApp/Actions/UpdateStatusReject.action")。then((result)=> { //当结果返回promise时,将新数据集设置为绑定 pageProxy._context.binding = result.data; //重绘节表以反映更改 //SectionTable0是control.Type.SectionedTable的_Name属性 //您可以在页面元数据(或WebIDE的代码编辑器)中找到它 返回pageProxy.getControl('SectionedTable0')。redraw(); }); }其他{ 返回pageProxy.executeAction("/img/DemoApp/Actions/UpdateStatusAccept.action")。then((result)=> { pageProxy._context.binding = result.data; 返回pageProxy.getControl('SectionedTable0')。redraw(); }); }}

您应该能够更新状态。 希望这对您有所帮助。

一周热门 更多>