`
JerryWang_SAP
  • 浏览: 1032295 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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的原创文章,请关注公众号"汪子熙":

0
0
分享到:
评论

相关推荐

    CRM7.0 WebClient UI config

    在SAP CRM 7.0版本中,WebClient UI配置是一项关键任务,它涉及到了用户界面的定制和优化,以提升用户体验和业务效率。WebClient UI是SAP CRM的一个核心组件,提供了一个基于Web的交互界面,使得用户能够访问和操作...

    SAP_CRM中文自学笔记

    SAP CRM的基础知识通常包括对于其核心组件的理解,包括主数据(如账户、组织模型、产品等),交易处理、定价、开票、CRM中间件以及CRM WebClient UI。CRM中间件主要负责不同系统组件之间的信息交换,而CRM WebClient...

    Creating a Dropdown in SAP CRM WebUI.docx

    在SAP CRM WebUI中创建下拉列表是一个关键任务,特别是在设计用户界面以提供更高效、用户友好的交互时。本教程将引导你通过一系列步骤来实现这一目标,特别是针对SEX(性别)属性创建一个下拉框。 首先,你需要获取...

    SAP CRM WebClient UI cross component跳转的一个具体例子

    Sent: Thursday, April 18, 2013 3:59 PM Subject: 为什么design time时候看到的是ICQR,点了service之后看到02QR的代码被call到 这是cross component navigation在起作用。 Result list是model在ICQR里面,如果点...

    SAPCRM基础培训教材.doc

    《SAP CRM基础培训教材详解》 ...总结来说,SAP CRM的基础培训涵盖了WebClient UI的演变及其丰富元素,以及CRM与ERP的集成策略。了解这些知识,有助于更好地理解和使用SAP CRM系统,提升企业的运营效率和服务质量。

    SAP CRM WebClient UI ON_NEW_FOCUS的用途

    Sent: Thursday, May 9, 2013 6:30 PM Subject: ON_NEW_FOCUS的用途 ROOT ———————————— Product ID PRODshortText ———————————— Product Description Genil Model hierarchy

    UI Guidelines for CRM WebClient User Interface

    UI Guidelines for CRM WebClient User Interface

    SAPCRM基础培训.doc

    在SAP CRM基础培训中,WebClient UI(Web客户端用户界面)是一个重要的学习焦点,它是用户与系统交互的主要界面。下面我们将深入探讨WebClient UI的相关知识点。 WebClient UI的发展历程是从GUI(图形用户界面)...

    sap 简介及关键提示

    产品建议不仅能在标准订单等销售事务中应用,还能在CRM WebClient UI(交互中心)和Web渠道中实时呈现,帮助销售人员在与客户的互动中快速响应并提供个性化建议。 通过灵活地配置产品联想规则,企业可以设定复杂的...

    WebClient下载文件展示进度条

    本篇将详细介绍如何使用WebClient下载文件并同时显示进度条。 首先,我们需要了解WebClient类的基本用法。WebClient类提供了DownloadData、DownloadFile等方法来下载数据或文件。例如,下载文件到指定路径可以使用...

    WebClientDemo_webclient_

    【WebClientDemo_webclient_】项目是一个C#编程示例,展示了如何使用`WebClient`类来实现文件的下载功能。在.NET Framework中,`WebClient`是System.Net命名空间下的一个类,它提供了一种简便的方法来上传和下载数据...

    C# WebClient 上传文件

    本文将详细介绍如何使用`WebClient`类上传文件,并对代码进行深入解析。 #### 二、`WebClient`类简介 `WebClient`是.NET Framework中的一个类,用于简化HTTP请求与响应处理。通过这个类可以很容易地从Web获取数据...

    C#中WebClient实现文件下载

    在C#编程中,WebClient类提供了一种简单的方式来实现文件下载。WebClient是一个高度封装的网络通信类,主要用于HTTP协议交互,包括...在实际应用中,还要考虑错误处理和异常恢复机制,以提高程序的稳定性和用户体验。

    WebClient-2.2.5.exe

    WebClient安装文件。 ...比较三种流行的HTTP客户端:...WebClient的主要优点是它的非阻塞和反应式的特性,这使得它在处理大量并发请求时能够保持高性能。此外,由于它是Spring的一部分,所以它与Spring框架的集成非常好。

    WebClient用法

    ### WebClient用法详解 在C#编程语言中,`WebClient` 类是处理网络操作的一种简单方式,尤其适用于HTTP协议的交互。...以上就是关于`WebClient`在C#中的基本使用方法及相关知识点的详细介绍。希望对你有所帮助!

    C#通过webclient下载demo

    - **错误处理**:`WebClient`的下载方法可能会抛出异常,如`WebException`,因此在实际应用中,应添加适当的异常处理代码。 - **取消下载**:可以通过调用`WebClient`的`CancelAsync()`方法取消正在进行的下载任务...

    WebClient上传下载文件

    在C#编程环境中,`WebClient`类为我们提供了一种简单易用的方式来实现文件的上传和下载。这个类是.NET框架的一部分,它封装了HTTP协议的基本操作,使得开发者可以方便地处理HTTP请求。本篇文章将深入探讨如何使用`...

    C#使用WebClient获取网页源文件例子

    在这个“C#使用WebClient获取网页源文件例子”中,我们将深入探讨如何利用`WebClient`来下载网页源代码,并进行UTF8编码的解码处理。 首先,`WebClient`类是`System.Net`命名空间的一部分,它提供了一个简洁的接口...

    webclient程序源码

    如果Webclient需要同时处理多个连接,可以使用C语言的多线程(`pthread`库)或异步I/O(如select、poll、epoll等机制)来提高效率和响应速度。 7. **安全性考虑**: 当涉及到HTTPS时,Webclient需要处理SSL/TLS...

    WebClientDemo

    【WebClientDemo】是一个示例项目,展示了如何在Eclipse集成开发环境中使用`WebClient`进行网络通信。`WebClient`是Java中的一个类,主要用在Spring Framework的WebFlux模块,它允许开发者发送HTTP请求并处理响应,...

Global site tag (gtag.js) - Google Analytics