Fiori Elements使用参数的CDS视图

2020-09-16 01:43发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我在这里疯了...我希望有人能给...

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

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


我在这里疯了...我希望有人能给出答案。

我已经定义了带有参数的CDS视图。 下面的部分清单。 此视图在Eclipse中进行了很好的测试。

当我在FIORI ELEMENTS LIST REPORT中使用此视图时,将忽略参数。 SelectionField批注似乎仅用作过滤器(基于未经参数测试的其他视图)

有人知道如何将SelectionFields作为参数传递给子视图吗? 我尝试了(p_gjahr:$ projection.gjahr ...),这是语法错误。 还是我缺少一些"参数注释"?

再次:CDS视图可以在Eclipse中找到,CDS视图的定义是正确的……只是参数似乎被oData忽略了(或者甚至被Firoi Elements忽略了)。

注意:我需要将参数传递给表函数...,因此我需要参数。

前端服务器:SAP_ABA 750.007 SAP_UI 751.002

ECC:SAP_ABA 750.009

谢谢

蒂姆

 

(25.8 kB)
5条回答
三十六小时_GS
2020-09-16 02:32

使用标准fiori元素功能尚不支持传递参数。 您需要使用扩展名来传递参数。

我在"使用SAP Fiori元素开发应用程序->列表报告和对象页面->扩展生成的列表报告和对象页面->将自定义字段添加到智能过滤器栏"下的UI5文档中发现了隐藏的解决方案思想。

您可以在出口" onBeforeRebindTableExtension"中填写参数。 在列表报告调用odata服务之前,将调用此扩展名。 在出口处,您可以删除过滤器,添加其他过滤器,还可以添加参数。 文档中的以上示例使用自定义过滤器字段填充字段。

通过使用" setTableBindingPath"替换用于选择节点数据的URL来完成传递参数。 这里是我的示例的退出:

 sap.ui.controller(" Test_Parameter.ext.controller.ListReportExt",{
 onBeforeRebindTableExtension:function(oEvent){
 var oSmartTable = oEvent.getSource();
 var oSmartFilterBar = this.byId(oSmartTable.getSmartFilterId());
 var vCategory;
 如果(sap.ui.comp.smartfilterbar.SmartFilterBar的oSmartFilterBar实例){
//自定义过滤器
 var oCustomControl = oSmartFilterBar.getControlByKey(" readMode");
 如果(sap.m.ComboBox的oCustomControl实例){
 vCategory = oCustomControl.getSelectedKey();
 开关(vCategory){
 情况" X":
 ---> oSmartTable.setTableBindingPath("/img/MYNODE('" + vCategory +"')/Set");
 打破;
 情况" R":
 oSmartTable.setTableBindingPath("/img/MYNODE('" + vCategory +"')/Set");
 打破;
 默认:
 打破;
 }
 }
 }
 }
 

一周热门 更多>