• 明明没有发生超时错误,为什么SAP WebClient UI会显示超时错误提示?


    In my blog Timeout page and WebUI freezing issue – Another cause, the behavior that a time out page is displayed in UI, although there is no time out at all but instead some exception occurred in ABAP backend. From my point of view this time out page is misleading. In that blog I share one of my example how to find the root cause which causes the ABAP exception in an efficient way.
    In this document I will explain to you why the time out page is designed to be rendered after some backend exception occurs.

    First I need to find a scenario which will trigger an ABAP backend exception.

    Fortunately I have already one at hand ( I should not say fortunately since this scenario is responsible by my team and I need to fix it anyway):

    After I click F4 on field Base Category, a popup window is expected to appear.

    However due to a bug in my code, there is one runtime error in ABAP backend:

    And then I see error in UI.

    After I click any place in UI, I see the time out page below.

    How to find the logic why this time out page is chosen and rendered by UI Framework

    In the beginning I am not clear where to set breakpoint to debug as this timeout page rendering is implemented via UI framework.
    So I plan to have a try with HTTP Professional.

    I click “Record” button in toolbar to enable trace mode, and reproduce my operation in UI. Immediately I observed there is HTTP 500 error recorded. The log tells me that it tries to get a popup window but failed with result HTTP/1.1 500 Internal Server Error.

    Right after the 500 error, there is a HTTP 302 redirection and the redirected target is CRM_UI_FRAME/logon_error.htm.

    Click “Content” tab, it also shows error detail including ABAP callstack.

    Now we can start trouble shooting in ABAP side. Quickly I notice the text in timeout page is stored in variable
    application->gv_logon_error_message. Again use Where Used function in ABAP workbench and set breakpoint in hit, then reproduce the scenario one again.

    Break-point is triggered as expected. Here due to 500 error, the popup name could not be got, so a session restart is planned as documented in comment 53.

    I just do not understand why my UI framework colleague choose the OTR text TIMEOUT1. IMHO a text like “Some error happened, restart your session” is perhaps better.

    Then the JavaScript for session restart is filled and redirection is launched as below:

    Put the mouse on hyperlink and we will see redirection Javascript hint:

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

  • 相关阅读:
    切片器化繁为简,盘它 !
    微软连续12年成为Gartner分析和BI平台魔力象限的领导者
    2019微软Power BI 每月功能更新系列——2月Power BI 新功能学习
    DAX创建带有过滤器的超链接
    屏蔽flash地区识别
    关于Windows自动化卸载软件的思路
    拒绝后门程序-Alibabaprotect和AliPaladin
    二叉树的三种遍历
    [灯火阑珊] 关于cmd命令里的findstr匹配多个关键词
    递归函数详解——VS调试教你理解透彻递归
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13613763.html
Copyright © 2020-2023  润新知