跳转到内容
技术文章
作者简介照片Sri万博新体育手机客户端nivasan Velumani

在SAP Fiori中动态处理启动参数

背景

在我的场景中,我有两个在FLP中配置的Fiori应用程序。从App1点击客户id链接,它应该导航到App2, URL参数包含客户id、部门等。这些URL参数必须在App2中使用。

方法

URL中编码的启动参数的处理。

这个博客就是它的工作版本文章

从App1传递启动参数

我正在获取我需要传递给App2的客户ID的新闻事件的参数。我正在使用跨应用导航服务导航到App2及其语义对象和操作。

App1.Controller.js:

onCustomerIdPress: function (oEvent){let selCustomer=oEvent. getsource (). gettext(), //这给了我客户的ID。部门= this._viewModel.getProperty(“/部门”);//这给了我的部门ID让ocrosssappnav = sap. usshell . container . getservice ("CrossApplicationNavigation");oCrossAppNav。toExternal({目标:{semanticObject: "XXXXX",动作:"ZZZZZ"},参数:{CustomerId: selCustomer, Division: Division}});}

因此,当导航到App2时,浏览器上的URL将如下所示

https://domain.com#XXXXX-ZZZZZ?CustomerId=0000000&Division=00000

在App2中消耗启动参数

在这里,我得到的值是通过App1直接在App2视图的控制器的。

App2.Controller.js:

onInit: function(){........ ........let oStartupParameters = this.getOwnerComponent().getComponentData().startupParameters;if (oStartupParameters && oStartupParameters。CustomerId && oStartupParameters. division) {let CustomerId =oStartupParameters。CustomerId[0],部门= oStartupParameters.Division [0];}}

如果你想在本地环境中的一个独立应用程序中测试消费逻辑,你可以使用index.html中的下面代码。这段代码将从URL获取查询参数,并将其设置为组件的启动参数。

在独立索引页中传递查询参数(可选)

 ..... .....