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.
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:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
10 | |
10 | |
8 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 |