将实体绑定到odata操作?

2020-08-14 15:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)当我从列表中选择一个项目时,我正...

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

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


当我从列表中选择一个项目时,我正在尝试执行更新odata操作。 我知道该项目已绑定到页面

 {
 "属性":{
 " IsActive":" true"
 },
 "目标":{
 " EntitySet":" CompanyProfiles",
 " ReadLink":" {@ odata.readLink}",
 "服务":"/img/DOEDocumentMonitoring/Services/DOEDocumentMonitoring.service"
 },
 " _Type":" Action.Type.ODataService.UpdateEntity"
 }

 

这是mu update odata操作。 如何将所选项目绑定到此? 是否需要在查询选项中传递ID,例如" $ filter = Id eq?" ? 在这里我该怎么做? 当前,当我执行它时,我得到一个错误:

错误:查询应该只返回一个实体。 它返回了4 

我认为发生的是odata操作正在尝试更新所有4个项目,因此我应该以某种方式将所选项目绑定到该操作。

5条回答
Violet凡
2020-08-14 15:54 .采纳回答

Hi Bryan

executionAction函数是异步的并且返回一个Promise对象,您必须从规则中返回该Promise对象,以便MDK将确保在执行规则时actionBinding仍然可用。 例如 返回pageProxy.executeAction(...)

导出默认函数AcceptRejectRule(sectionedTableProxy){
 const pageProxy = sectionedTableProxy.getPageProxy();
     让bindingObject = pageProxy.getActionBinding();
 console.log(" OBJECT",JSON.stringify(bindingObject))

 如果(bindingObject.IsActive){
 返回pageProxy.executeAction('/DOEDocumentMonitoring/Actions/Odata/RejectFaclity.action')。then((result)=> {
 console.log("返回动作");
 console.log(result);
 })
 }其他{
 返回pageProxy.executeAction('/DOEDocumentMonitoring/Actions/Odata/AcceptFacility.action')。then((result)=> {
 console.log("返回动作");
 console.log(result);
 })
 }
 } 

一周热门 更多>