有状态的Fiori/自定义UI5应用

2020-09-02 14:47发布

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

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


尊敬的专家,

希望你做得很好。

当代理通过CTI集成应答电话呼叫时,将从SAP CRM Web UI启动我们的UI5应用程序。 我们希望在客户环境中实现主要用于锁定机制的有状态Fiori应用程序。

在需要互操作性黑白Fiori应用程序和GUI的项目中实施有状态Fiori应用程序是否可行。 为了快速介绍背景知识,我们希望在自定义的Fiori应用程序中具有锁定功能,并且由于oData服务中的会话是无状态的并且请求完成后锁定丢失了,因此我们面临着挑战。 我们尝试将软状态与SICF中提到的超时一起使用,但是这样做的缺点是,当会话在后端超时时,不会通知UI5前端。

也许从oData无状态上下文来看,这是完全可以的,但是从业务用例的角度来看,他们希望Fiori和GUI可以互操作。 我们可能会遇到不同的客户服务代理或后台经理可以同时对来自GUI和Fiori的同一业务合作伙伴/客户进行操作/编辑的情况。

我也理解SAP建议使用草稿文档/耐用锁,但缺点是,那些仅适用于运行== 7.51的客户,我相信并非所有客户都可以使用。

我的客户正在使用集线器部署,同时使用Oracle DB在NW 7.50 SP14上运行集线器和后端。

旁注:

这是否意味着对于需要状态会话和后端紧密耦合的复杂业务交易,我们应该使用符合此目的的WD ABAP框架吗? 我相信并不是一个人在航行,你们中的许多人在您的客户实施项目中可能会遇到这个问题。

如果遇到问题,请在这里回复您的想法。

致谢

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

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


尊敬的专家,

希望你做得很好。

当代理通过CTI集成应答电话呼叫时,将从SAP CRM Web UI启动我们的UI5应用程序。 我们希望在客户环境中实现主要用于锁定机制的有状态Fiori应用程序。

在需要互操作性黑白Fiori应用程序和GUI的项目中实施有状态Fiori应用程序是否可行。 为了快速介绍背景知识,我们希望在自定义的Fiori应用程序中具有锁定功能,并且由于oData服务中的会话是无状态的并且请求完成后锁定丢失了,因此我们面临着挑战。 我们尝试将软状态与SICF中提到的超时一起使用,但是这样做的缺点是,当会话在后端超时时,不会通知UI5前端。

也许从oData无状态上下文来看,这是完全可以的,但是从业务用例的角度来看,他们希望Fiori和GUI可以互操作。 我们可能会遇到不同的客户服务代理或后台经理可以同时对来自GUI和Fiori的同一业务合作伙伴/客户进行操作/编辑的情况。

我也理解SAP建议使用草稿文档/耐用锁,但缺点是,那些仅适用于运行== 7.51的客户,我相信并非所有客户都可以使用。

我的客户正在使用集线器部署,同时使用Oracle DB在NW 7.50 SP14上运行集线器和后端。

旁注:

这是否意味着对于需要状态会话和后端紧密耦合的复杂业务交易,我们应该使用符合此目的的WD ABAP框架吗? 我相信并不是一个人在航行,你们中的许多人在您的客户实施项目中可能会遇到这个问题。

如果遇到问题,请在这里回复您的想法。

致谢

付费偷看设置
发送
6条回答
wang628962
1楼-- · 2020-09-02 15:07

你好 Parabharan Asokan

是的,很遗憾,其中一些最佳功能是

您还可以做一件事,通知UI团队有关软状态会话的时间限制。 因此他们可以在弹出窗口过期之前显示它。 否则,他们可以向后端重新发送虚拟请求,以使软状态保持活动状态。 如果超时前用户未执行任何操作,请让他们自动返回到初始视图(客户视图之外)。

谢谢

Mahesh

compass1988
2楼-- · 2020-09-02 14:56

您好 Parabharan Asokan

有趣的方式。 您可以在UI5中使用javascirpt代码轻松地重写cookie。 您还可以告诉我何时要在ui5中重写cookie ID吗(是在sicf节点中配置的超时时间之后?)

您可以从SICF节点类中引发错误, 但我仍然建议您在ui5级别上进行操作,这将非常简单。 只要将请求发送到后端,只要让ui5家伙重置计时器(您提供的计时器,即软状态渗透timout)即可。 现在,ui5家伙只需要使用setTimeout函数,就可以在达到时间限制后返回初始页面。

还是我在这里错过了一些东西? 请让我知道,如果我什至是合法的,因为我对此领域感到困惑。

谢谢,
Mahesh

哎,真难
3楼-- · 2020-09-02 15:10

您好 Mahesh Kumar Palavalli

只需完成系统中的某些测试(NW 7.50集线器设置)即可。 结果看起来不错,并且数据库锁在同一会话中得到维护。

这个想法是在第一个请求之后重用同一会话。 NW 7.50支持通过请求标头(而不是cookie,因为它有一些限制)来实现软状态,如此处。 因此,在请求从响应标头" sap-context-id"下的第一个请求接收到会话ID之后,然后将标头值从sid-NEW替换为sid-ATT,然后再使用此修改后的标头值进一步请求,从而维护会话和 与之相关的锁。

只要用户在应用程序中处于活动状态,就可以通过从UI5向oData模型实例添加请求标头,向后端发出虚拟请求。 甚至在修改模式期间,直到用户结束修改之前,甚至可以将此修改后的标头用于所有对后端的调用。 这样所有处理都在同一个有状态会话中进行,并使会话保持活动状态。 关键不是,每次触发的oData服务都是相同的。

关于计时器,UI5中的计时器设置为软状态会话超时减去一分钟。 例如:如果后端的软状态会话超时为3分钟,则每2分钟将触发一次虚拟请求。

旁注:

1。如果用户未在应用程序中处于活动状态,请在UI5中找到正确的空闲计时器事件。

2。 如果用户在应用程序中保持不活动状态,则可以选择在超时前通过警告对话框进行提示,并有机会保留会话并重置超时错误。

3。 如果用户关闭应用程序/窗口,则使用HEAD请求通过sap-terminate:会话终止会话,如所述此处

希望这会有所帮助。

致谢

悠然的二货
4楼-- · 2020-09-02 15:19

酷,不知道您可以使用请求标头操纵软状态会话。 您可以撰写有关此内容的博客:),这对正在研究此类情况的很多人都将有所帮助。

再一件事,您可以创建函数导入,并从 ui5及其内部,您也可以调用方法soft_state_session_end来结束会话(如果我输入错了,请纠正我)。

BR,

Mahesh

Baoming ROSE
5楼-- · 2020-09-02 15:05
< p>您好,Mahesh,

是的。 希望如果成功完成UI5集成,我会写一篇文章。

函数导入是一个好主意。 谢谢你的提示。

关于

半个程序猿
6楼-- · 2020-09-02 15:15

您好 Mahesh Kumar Palavalli

感谢您让我知道。 新的SCN使我有些困惑:)

此致

一周热门 更多>