在网关中可以使用单例类吗?

2020-09-07 02:03发布

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

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


专家们,

我有一个问题,

我们有一个Fiori App,其中使用了一个valuehelp,当您打开它时会显示一些值。 (0 ... 1000个值)

值帮助上还提供了一个搜索字段。

每次搜索都必须加载整个值集(因为我们必须进行过滤...)

现在,每次您在搜索字段中输入一个字符时,都会花费一段时间。

因此,我们将使用单例类将整个valuehelp数据集存储在其中。

但是,看起来每次调用服务时,signleton类都是初始的。

是否可以在网关服务中使用signleton类?

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

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


专家们,

我有一个问题,

我们有一个Fiori App,其中使用了一个valuehelp,当您打开它时会显示一些值。 (0 ... 1000个值)

值帮助上还提供了一个搜索字段。

每次搜索都必须加载整个值集(因为我们必须进行过滤...)

现在,每次您在搜索字段中输入一个字符时,都会花费一段时间。

因此,我们将使用单例类将整个valuehelp数据集存储在其中。

但是,看起来每次调用服务时,signleton类都是初始的。

是否可以在网关服务中使用signleton类?

付费偷看设置
发送
2条回答
Baoming ROSE
1楼-- · 2020-09-07 02:29

单例将不起作用,因为每个后端访问都会创建一个新的ABAP会话,因此单例不再可用。 因此它将创建一个新的单例。

如果搜索值集需要大量的性能,则可以在创建服务后对服务的单例进行序列化,并在下一次调用时反序列化该服务。 (请参见序列化 ABAP类实例)。

现在,问题是您要多久刷新一次此"缓冲"单例? 您可能需要编写一个后端报告以清除此缓冲区并将其作为作业进行计划。

BR,苏哈斯

PS-您确定SAPUI5框架没有缓冲此类数据的机制吗?

哎,真难
2楼-- · 2020-09-07 02:46

嗨,Vincent。
事实是,每次对后端的调用(也就是您的类)都会创建一个新的LUW,因此该类始终为空。

A 我针对类似问题采取的解决方案是,首先将数据加载到搜索帮助中,然后将其存储到UI5对象中,然后使用该对象,而无需调用后端即可完成所有操作。

我猜 这些不是一遍又一遍的交易数据,对吧?

一周热门 更多>