在Fiori中进行跨应用程序导航时,即在应用程序之间导航。在返回时,将创建一个新的应用程序实例,而不是从您离开的地方重新开始。这意味着应用程序处于初始状态,人工智能软件下载,而不是离开时的状态。为了解决这个问题,我们需要在调用之间保持状态。存储用户应用的任何过滤器、搜索选项、交互,然后在返回时重新应用它们。
还没有一个标准的方法来解决这个问题。因此,我们看到和听到UI5开发人员自己解决这个问题的许多不同方法。如果您研究一些标准的SAP应用程序,就可以使用现有的Fiori服务来管理状态。在这个博客里,购物领券,我将强调它是如何工作的,老虎淘客,提供一种使用通用可重用SAP代码自己完成的简单方法。
在后台
在导航之前,应用程序状态将保留在服务器上。
我们可以在下面看到调用API/UI2/INTEROP/GlobalContainers,并将值发布到网关服务器上的分层存储库(LRep)表/uif/lrepdcontcd。
如何执行它有用吗?
2.使用键
3更新URL哈希。导航到另一个Fiori应用程序
4。返回时从URL读取密钥,检索数据并还原应用
您需要考虑这样做的事情,AppState实例是不可变的,意味着密钥将更改,URL可能在哈希中包含路由和参数。
替代方法
过去几个月我一直在帮客户调查并采用SAP Fiori的ABAP编程模型,为其S/4 HANA转换做准备。其中一部分是用sapfiori元素开发应用程序。Fiori元素使用sap.ui.generic.app library,免费大数据,轻淘客旗舰版,它有一个非常易于重用的独立导航处理程序,可以抽象掉很多复杂性。
注意:此选项仅在SDK版本1.36.X及更高版本上可用。在1.34及以下版本中还有其他替代方案,如sap/suite/ui/generic/template/ListReport/nav/NavigationHandler。
实现
1。将导航处理程序导入控制器
2。实例化导航处理程序,为后导航
3提供回调。进行跨应用程序导航
4。恢复应用程序状态
想要更多吗?
视频中的演示应用程序
演示应用程序的源代码
还没有在S/4 Hana上,或者想了解更多关于"SAP Fiori的ABAP编程模型"的信息—在ABAP OData服务之上快速构建元驱动SAP Fiori应用程序的最佳实践?
来参加我在SAP TECHED Las Vegas的课程
在AnyDB上使用SAP Fiori的ABAP编程模型的十个技巧