For each business role we can assign a technical profile to it.

Do you know the meaning of the Memory Threshold configured here?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t03D5Agv-1598016586314)(https://upload-images.jianshu.io/upload_images/2085791-e3db0d2882c875cf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

If not, you can set a very low value to it for example 10MB, and go back to your system to observe the session restart behavior.

How the need of session restart is detected

Every time we switch among different work centers, the necessity of session restart is checked:

In handle_restart method, for Non-external navigation ( navigation between WebUI work centers ), BOL reset is by default considered as necessary – gv_bol_reset_requested is set as true in line 18.

Later on the navigation handling method this flag will be evaluated:

And the check about whether the current memory consumption has exceeded the threshold configured in technical profile is performed in line 23, method query_session_reset.
The check logic done in below method:

Once it is determined to restart the current session, a flag gv_restart_cause is set with corresponding reset reason.

How the session restart is implemented

If the method is_session_restart_required discussed in previous chapter returns true, it is now ready to prepare Javascript code to restart the session.

Before restart, all current user data are stored via server side cookie.
From the implementation of GET_RESTART_SCRIPT you can find the Javascript code for restart.

You can of course debug this JavaScript function in Chrome:

When a new session is successfully launched, all previous stored information are now restored:

How Memory Threshold set in Technical profile is loaded by UI framework

This is pretty easy to find, in constructor of CL_CRM_UI_MEMORY_UTILS.

How to view session restart log

Activate log setting in tcode SAAB, log point id: BSP_WD_MEM_TRACE
After that once session restart and restore occurs, it will be recorded and displayed in SAAB:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

SAP WebClient UI的会话重启原理相关推荐

  1. SAP WebClient UI开发工具中attribute文件夹展开的实现原理分析

    For project reason I need to figure out the logic how the field list is assembled when folder " ...

  2. SAP WebClient UI和business switch相关的逻辑介绍

    Do you know the meaning of these two checkboxes in F2 popup? Let's first learn some prerequisite kno ...

  3. 在SAP WebClient UI里使用AJAX进行异步数据读取

    For POC purpose I need to implement the AJAX functionality in Webclient UI component. The UI compone ...

  4. SAP WebClient UI界面元素ID生成的逻辑分析

    If we open a WebClient UI page with Chrome and inspect its UI element via Chrome development tool, w ...

  5. 在SAP WebClient UI里显示倒数计时的UI

    First let's have a look at what is achieved: Once you click work center "Jerry count down" ...

  6. SAP Webclient UI和Fiori UI的混搭

    CRM UI的作用简单来说就是定义report. HANA那边定义了VDM和Query哪些,但是Fiori这边不直接访问HANA,所以CRM这边的UI可以创建report把HANA的那个信息存在rep ...

  7. SAP CRM WebClient UI data loss设计原理

    Sent: Thursday, July 5, 2012 12:19 PM Subject: [Knowledge share]A follow up for data loss discussion ...

  8. SAP WebClient UI drop down list(下拉列表)的一个故障和解决方法

    Issue description Today I received a ticket with priority very high complaining that the drop down l ...

  9. SAP WebClient UI页面标签的决定逻辑介绍

    In this blog we have discussed the logic how the correct UI view configuration is chosen by framewor ...

最新文章

  1. 优雅地处理重复请求(并发请求)——附Java实现
  2. 热度直逼TensorFlow的深度学习框架,我用它画下女朋友最美的脸
  3. 6、Hive的特殊分隔符处理
  4. DBA工具——DMV——通过sys.dm_exec_procedure_stats查看存储过程执行信息
  5. 【杂谈】来自一个懵懂青年的表白!
  6. Java Integer.compareTo()比较大小
  7. 百度进军游戏;腾讯起诉抄袭者;苹果急撤 watchOS 5.1 更新 | 极客头条
  8. MyEclipse使用总结——在MyEclipse中新建Maven框架的web项目[转]
  9. 散列表碰撞处理、开链法、HashTable散列
  10. 二维码制作软件生成二维码时的参数设置
  11. Tungsten Fabric解决方案指南-Kubernetes集成
  12. Description 对于一本共有n页的书,它的页码从1开始编号,一直到n,页码中没有无用的0,则该书页码中分别共用到了多少个0,1,2,3,4,5,6,7,8,9?
  13. 面经:阿里一面自我剖析---Java岗(40分钟)
  14. Shell批量重命名文件,使得在在移动设备中排序正确
  15. 人车交叉作业预警系统
  16. 微信小程序 上传多张图片
  17. netty实现 socket demo
  18. 深入剖析智能仓储管理(WMS)应用价值与应用场景
  19. 先锋机器人学习笔记_1-4 Pioneer SDK与VS2010编程配置
  20. Matlab画柱状图(二维)

热门文章

  1. Python中的 optparse模块
  2. 常用的rpm和yum的一些命令
  3. SPARK安装二:HADOOP集群部署
  4. WebService系列(三)--创建自己的WebService
  5. CodeForces999E 双dfs // 标记覆盖 // tarjan缩点
  6. get和post有什么区别
  7. Mybatis中typeAliases的使用
  8. (四)Struts2 架构
  9. ES5中新增的Array方法详细说明
  10. socket 多线程安全、粘包问题