Fiori-函数导入后重新绑定订单项

2020-09-16 20:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我面临...

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

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


专家您好,

我面临着一个新挑战,"将列表与BackEnd中的更新数据绑定在一起"。 我有一个列表报告和对象页面(OP)。

在我的OP中。 我向功能导入添加了自定义操作链接。 此函数调用后端并获取更新的数据。

这是我的问题,如何将新数据刷新/重新绑定到我的LineItem?

版本1.38

这是我的注释文件


下面的一些代码

 OnActionItemsRefresh:function(oEvent){
 var oBindingContext = oEvent.getSource()。getBindingContext();
 var sObjectPageData = oBindingContext.getModel()。getProperty(oBindingContext.getPath());
 var vFunctionName ="/img/ActionItemsRefresh";
 var mParameters = {
 " INVOICE":sObjectPageData.Invoiceid,
 " FISCALYEAR":sObjectPageData.Fiscalyearid
 };


//var oData = this.extensionAPI.invokeActions(vFunctionName,this.extensionAPI.getSelectedContexts(),mParameters);
 var that = this;


 尝试{
 oBindingContext.getModel()。callFunction(vFunctionName,{
 方法:" GET",
 urlParameters:mParameters,
 成功:函数(oData,响应){
//console.log(oData.results);
 that.extensionAPI.rebind(" InvoiceItems");
 },
 错误:function(oError){
//console.log(oError);
 }
 });
 } catch(ex){
//console.log(ex);
 }
 }
 

如果您有任何建议或答案?

非常感谢!!

(27.6 kB)
3条回答
95年老男孩
2020-09-16 20:55 .采纳回答

最后,在克里斯蒂安的帮助下,我做到了。 在我的代码下方,以帮助他人。

 OnActionItemsRefresh:function(oEvent){
//一些var以获得LineItems的ID,实体的绑定和键
         var vTableId = oEvent.getSource()。getParent()。getParent()。getId();
 var oBindingContext = oEvent.getSource()。getBindingContext();
 var sObjectPageData = oBindingContext.getModel()。getProperty(oBindingContext.getPath());
//创建一个过滤器以应用ActionRefresh
 var aFilters = [];
 var oFilter = new sap.ui.model.Filter(" Invoiceid",sap.ui.model.FilterOperator.EQ,sObjectPageData.Invoiceid);
 aFilters.push(oFilter);
 oFilter = new sap.ui.model.Filter(" Fiscalyearid",sap.ui.model.FilterOperator.EQ,sObjectPageData.Fiscalyearid);
 aFilters.push(oFilter);
 oFilter = new sap.ui.model.Filter(" Actionrefresh",sap.ui.model.FilterOperator.EQ,"'X'");
 aFilters.push(oFilter);

//应用过滤器并让后端工作!
 this.byId(vTableId).getTable()。getBinding(" items")。filter(new sap.ui.model.Filter(aFilters,true));
 }

 

谢谢!!

一周热门 更多>