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

引起SAP WebClient UI页面出现超时(time out)错误的另一个原因

阅读更多

Sometimes you would see the following page if you are clicking anywhere in a page which is idle for quite a long time.

 

 

However, there are definitely some other causes which would also lead to this timeout page – the session itself is not timeout, instead within the session, there are some exceptions raised in the backend and caught by the UI framework. As a result you could not see any dumps in ST22, and this timeout page would sometimes lead you to the wrong way of trouble shooting. For example in this thread, some friend is suggesting to enlarge the related timeout profile in RZ10. For sure that would definitely not work, since the issue in the thread is nothing to do with the real timeout issue, but instead the exception caused by a custom enhancement.

I would share with you my example how to find the root cause of this kind of I call it “pseudo” time out issue in an efficient way:

My example

click the Service Order ID for the first time, nothing happened. Click it again( or any other clickable part in the UI), I get the above timeout page.

 

 

How to figure out the root cause

I have two different approaches. The first one will take several minutes to find the root cause via debugging.

(1) Create a breakpoint based on exception class CX_ROOT( for detail see this blog )

Launch UI and click hyperlink for the first time, the breakpoint is triggered and debugger stopped. In the status bar we get the hint that exception CX_BSP_WD_EXC_WRAPPER occurs. Set another breakpoint in its CONSTRUCTOR method.

 

 

(2) Relaunch the UI, the breakpoint in exception class CONSTRUCTOR is triggered, telling us there is something wrong with a custom UI component ZCUSTOM/MainWindow. In line 51 we know the exception class CX_BSP_WD_INCORRECT_IMPLEMENT. Set the breakpoint in its CONSTRUCTOR again.

 

 

(3) Relaunch the UI, now we find root cause: The overview page tries to display the view defined in ZCUSTOM/MainWindow, however it is not in the parsed component usage repository table ( me->usages in line 4)

 

 

Double check it in UI workbench it is because the custom UI component is added as component usage based on enhancement set A, however currently enhancement set B is active in current client.

 

 

The second approach is even more efficient. You could enable the UI framework to persist the exception which are raised and caught somewhere for example your own Z table with little effort so that it is convenient for you to check them afterwards. For detail steps please see my blog How to persist the UI exception so you can view them later.

In my example, I could immediately know this issue is caused by incorrect component usage with the exact usage name without debugging.

 

 

If you would like to know why timeout page is always displayed, although it is not a timeout issue at all, please find reason here.

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

0
1
分享到:
评论

相关推荐

    CRM7.0 WebClient UI config

    WebClient UI是SAP CRM的一个核心组件,提供了一个基于Web的交互界面,使得用户能够访问和操作CRM系统功能,无论他们身处何地。 首先,我们要理解UI Guidelines的重要性。"UI Guidelines for CRM WebClient User ...

    关于System.Net.WebException The operation has timed out,即网络操作超时的异常

    绝大部分异常信息为:System.Net.WebException: The operation has timed out,即网络操作超时的异常

    WebClientDemo_webclient_

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

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

    Subject: 为什么design time时候看到的是ICQR,点了service之后看到02QR的代码被call到 这是cross component navigation在起作用。 Result list是model在ICQR里面,如果点service,会navigate到service detail page...

    WebClient下载文件展示进度条

    下面是一个完整的示例,展示了如何在WinForms应用程序中创建一个简单的进度条,并使用WebClient下载文件: ```csharp public partial class MainForm : Form { private WebClient webClient; private long ...

    C#中WebClient实现文件下载

    你可以通过调用其`DownloadFile`方法来下载一个文件,该方法接受一个URL和本地文件路径作为参数。例如: ```csharp using (WebClient wc = new WebClient()) { wc.DownloadFile("http://example.com/file", ...

    WebClientDemo

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

    SAPCRM基础培训.doc

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

    C# WebClient 上传文件

    ### C# WebClient 上传文件知识点解析 ...最后,虽然`WebClient`类提供了一个简单易用的接口,但在某些场景下,可能需要更复杂的控制和配置,这时可以考虑使用`HttpClient`等更现代的API来进行文件上传。

    Creating a Dropdown in SAP CRM WebUI.docx

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

    WebClient访问间歇性返回403解决方案.docx

    WebClient 是一个常用的网络访问类,它可以模拟浏览器的行为来访问网页。然而,在某些情况下,WebClient 访问间歇性返回 403 错误,这种情况非常让人讨厌。 分析错误信息,我们可以发现,403 错误是由于权限设置...

    UI Guidelines for CRM WebClient User Interface

    UI Guidelines for CRM WebClient User Interface

    SAPCRM基础培训教材.doc

    其中,L-Shape是一种固定格式的用户操作界面设计,它提供了一个快捷的入口,让用户能快速访问常用功能。此外,导航条可以包含应用程序搜索、URL链接、SAP BI报告和分析,以及链接到其他系统的功能,极大地提高了工作...

    C#通过webclient下载demo

    总的来说,`WebClient`是一个方便的类,可以轻松实现文件的下载并提供进度显示功能。在实际项目中,开发者可以根据需求进行定制,比如添加断点续传、多线程下载等功能。理解并熟练掌握`WebClient`的使用,对提升.NET...

    C# 使用WebClient类 下载网络指定资源

    在本教程中,我们将深入探讨如何使用WebClient类来实现一个功能完善的网络资源下载器,包括实时显示下载速度和进度,并在下载完成后提供提示。 首先,让我们了解WebClient类的基本用法。WebClient是System.Net命名...

    通过WebClient的Postdata将上传文件功能放到另一个网站上去操作

    本篇文章将深入探讨如何利用`WebClient`的`UploadData`方法来实现在一个网站上通过POST数据上传文件,并将该功能集成到另一个网站的操作中。 首先,我们需要了解`WebClient`类的基本用法。`WebClient`是一个异步的...

    WebClient 上传文件到 iis

    这个方法接受两个参数:一个是目标URL,另一个是本地文件的路径。例如: ```csharp using System.Net; WebClient client = new WebClient(); client.UploadFile("http://example.com/upload", @"C:\local\file.txt...

    WebClient上传下载文件

    `UploadFileAsync`方法接受两个参数:一个是服务器上的目标URL,另一个是本地要上传的文件路径。完成上传后,该方法会触发一个事件,如`UploadFileCompleted`,你可以在此事件中处理上传的结果。 例如,以下代码...

    SAP_CRM中文自学笔记

    SAP CRM是德国SAP公司提供的一个全方位客户关系管理解决方案,广泛应用于市场营销、销售和服务等领域,支持企业通过多种交互渠道与客户进行沟通。CRM系统能够处理从客户数据的收集、管理到客户交互过程中的订单处理...

Global site tag (gtag.js) - Google Analytics