在FIORI Launchpad中创建AppState

2020-09-08 23:39发布

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

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

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


专家们,

我试图在fiori Launchpad中从一个应用程序导航到另一个应用程序,并且导航至第二个应用程序时,我需要在appstate中存储一些过滤器/搜索数据,而返回时我需要访问该数据,并且应该使用相同的过滤器。

此致

praveen

5条回答
Violet凡
2020-09-09 00:04

嗨Vaibhav ..

下面是导航到第二个应用程序的代码。

 onCrossNavigation:函数(){
 var oStateToSave = this.getView()。byId(" idInput")。getValue();
 var Supplier =" Praveen",
/* controlApp = this.getView()。byId(" idInput"),*/
 详细信息= {
 " name":" praveen",
 "电子邮件":" praveen@gmail.com"
 }; //从OData路径Product/SupplierID读取SupplierID
 var oCrossAppNavigator = sap.ushell.Container.getService(" CrossApplicationNavigation")。createEmptyAppState(this.getOwnerComponent()); //获取全局XAppNav服务的句柄
 oCrossAppNavigator.setData(oStateToSave);
 oCrossAppNavigator.save();
/* var oHashChanger = sap.ui.core.routing.HashChanger.getInstance();
 var sOldHash = oHashChanger.getHash();
 var sNewHash = sOldHash +"?"  +" App-state =" + oCrossAppNavigator.getKey();
 oHashChanger.replaceHash(sNewHash); */
 sap.ushell。容器
 .getService(" CrossApplicationNavigation")
 .toExternal({
 目标:{
 语义对象:" New_App11",
 动作:"展示广告"
 },
 参数:{
 " supplierID":供应商
 },
 appStateKey:oCrossAppNavigator.getKey()
 });
 } 

在代码下面再次导航到第一个应用程序(在attachpattrenMatch函数中)。

 var sHash = sap.ui.core.routing.HashChanger.getInstance()。getHash();
 var sAppStateKey =/(?:sap-xapp-state=)([^&=]+)/.exec(sHash)[1];
 sap.ushell。容器
 .getService(" CrossApplicationNavigation")
 .getAppState(sAppStateKey)
 .done(function(oSavedAppState){
  《代码》
 }); 

谢谢

praveen

一周热门 更多>