SAP WebClient UI的会话重启原理

简介: SAP WebClient UI的会话重启原理

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

image.pngDo 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:



image.png

image.pngIn 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.


image.png

image.pngLater on the navigation handling method this flag will be evaluated:

image.pngAnd 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:

image.png

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


image.pngHow 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.



image.png

image.pngBefore 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.



image.png

image.pngYou can of course debug this JavaScript function in Chrome:

image.pngWhen a new session is successfully launched, all previous stored information are now restored:image.pngHow 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.


image.png

image.pngHow 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:



image.png

相关文章
|
6月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
6月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
6月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
|
6月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
|
5月前
|
存储 开发框架 JavaScript
深入探讨Flutter中动态UI构建的原理、方法以及数据驱动视图的实现技巧
【6月更文挑战第11天】Flutter是高效的跨平台移动开发框架,以其热重载、高性能渲染和丰富组件库著称。本文探讨了Flutter中动态UI构建原理与数据驱动视图的实现。动态UI基于Widget树模型,状态变化触发UI更新。状态管理是关键,Flutter提供StatefulWidget、Provider、Redux等方式。使用ListView等可滚动组件和StreamBuilder等流式组件实现数据驱动视图的自动更新。响应式布局确保UI在不同设备上的适应性。Flutter为开发者构建动态、用户友好的界面提供了强大支持。
90 2
|
6月前
|
监控 测试技术
SAP 电商云修改 Product Catalog Staged 版本数据后,同步到 online 版本的 UI 操作
SAP 电商云修改 Product Catalog Staged 版本数据后,同步到 online 版本的 UI 操作
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
|
6月前
|
Web App开发 开发框架 前端开发
Open UI5 前端开发框架配套的 Mock Server 工作原理解析
Open UI5 前端开发框架配套的 Mock Server 工作原理解析
|
6月前
|
前端开发 Java Android开发
Android UI底层绘制原理
Android UI底层绘制原理
47 0
|
6月前
|
开发者 UED
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
关于 SAP UI5 sap.m.Column 的 demandPopin 属性