前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP CRM WebClient UI的Delta处理机制介绍

SAP CRM WebClient UI的Delta处理机制介绍

作者头像
Jerry Wang
发布2020-08-06 19:43:57
3610
发布2020-08-06 19:43:57
举报

A real case which is related to Automatic Delta Handling

I use a ticket which I am struggling with recently to start this blog. It took me almost the whole day to dig out the root cause. How to reproduce the issue – Just create a new Product by clicking new Product button:

The strange thing is, after button is clicked, I didn’t see the expected new product creation page. Instead, I saw the weird page below: the whole UI area almost kept unchanged except the page title changed from “Search:Products” to “Product: New”. Why the left product creation page failed to be rendered???

How I find the root cause

Since the UI page didn’t crash, there is no surprise that I didn’t find any related dumps in ST22.

I am 100% sure that there must be some exception occurred in the backend and caught by framework, but unfortunately without any message raised out in UI. So I use the tip described in my blog to start debugging. Several minutes later, I felt really frustrated since the breakpoint for ABAP keyword CATCH is triggered so frequently in UI framework processing. I was completely lost in the debugging. ( At that time I didn’t try conditional breakpoint group since I am not sure whether it could help) Then I asked for help from one colleague who is an UI expert. He suggested:” Hey, try to switch off delta handling and try again”. Wait, what is the delta handling? After exploring for quite a time I switched it off and retry, here below is the result under delta handling off mode:

Bingo! This time the framework did provide quite useful information to me – something wrong in overview page toolbar processing. I looked into GET_BUTTONS method and found there is a case that one initial reference variable is being used.

Once that line is executed,

The exception is caught by UI framework.

Here below is something more I want to share with you regarding Automatic delta handling

What is Delta Handling mechanism in Webclient UI?

The Delta Handling is a collection of mechanisms to reduce the rendering time on the client and the network load when transporting the request and response between server and client. It consists of Manual delta handling ( out of scope of this blog) and Automatic delta handling. The Manual Delta Handling bases on the tag library TAJAX. With this library we can define areas on views and rules for updating these areas basing on events.

In most of the case Automatic Delta Handling (ADT) is used. The ADH uses also the technique provided by the tag library TAJAX. Instead of defining complex rules for dependencies between TAJAX-areas, when the page is being prepared for the rendering, ADH detects which areas (e.g. views) of the page have changed. Only such changed areas are then redrawn in the browser. It is nearly transparent for we application developer, as long as there is no too complicated JavaScript used in the UI page. If you are interested with this, you could read the comment on method CL_AJAX_UTILITY->SHOULD_RENDER and debug it.

Where is ADT mode configured

Suppose I log on to UI via business role TPM_PRO, which has DEFAULT as the technical profile:

In the SPRO customizing Customer Relationship Management->UI Framework->Technical Role Definition->Define Technical Profile Here we can enable or disable the ADT:

How to switch off ADT temporarily

Tcode: SU3, select “Parameters” TAB, and add the following user parameter “CRM_TAJAX_DH_MODE” and set it to “OFF”

Make sure you close the browser and open a new one after the change.

How can I permanently switch off my view for ADH

All UI component views which are not supported for ADH are centrally maintained in view BSPWDV_ADH_DSBL via SM31:

My colleague gave me such suggestion: When you find your UI component works abnormally, it could be helpful to run your UI component with ADT switched off, which sometimes can give you some hint.

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • A real case which is related to Automatic Delta Handling
  • How I find the root cause
  • What is Delta Handling mechanism in Webclient UI?
  • Where is ADT mode configured
  • How to switch off ADT temporarily
  • How can I permanently switch off my view for ADH
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档