on 01-20-2014 12:27 PM
Hello experts,
My current requirement is to implement a customer-specific error page for timeouts.
The SICF allows two possibilities, either to redirect to another URL or to create an explicit page:
The requirement here is to create an explicit error page, but only for the timeouts. The SICF treats both the short dumps and the timeouts as application errors.
I've tried to different possibilities:
1. I've redirected the error to another URL, where I've tested the system tags (like <%=MESSAGE%>) and, in case of timeouts, redirected to another page (something with a message "You're application was idle for too long.." and a big "Refresh" button), or for regular errors, redirected to the standard error page from SAP.
This solution seems to work fine, but I didn't found a way to also enabled the F5 functionality (Refresh), as it will reload the current, timeout, page.
2. On the other hand, if I create an explicit page directly in the SICF, I found that it is not possible to insert JavaScript functionality, so you cannot really switch between pages... even though it works with HTML+CSS. The explicit page would be a much better solution, as it also enables F5.
I tried a work-around by creating an iFrame with the same size as the screen, and inside this iFrame, embed the solution from the first point (1.). The problem here is, for my version of IE, I have to press "Enable content" otherwise it will treat the iFrame as a security breach. Also, I cannot set the system domain as a trusted site, because afterwards I will have to do the same for every users.
If somebody has another idea, please feel free to share it!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tudor,
I am new to BSP application. can you explain how you managed to get the system tags in the redirected url. I have created a simple bsp page and assigned it to the SICF node. During debug I am not getting any system tag in my case.
:
1. I've redirected the error to another URL, where I've tested the system tags (like <%=MESSAGE%>) and, in case of timeouts, redirected to another page (something with a message "You're application was idle for too long.." and a big "Refresh" button), or for regular errors, redirected to the standard error page from SAP.
This solution seems to work fine, but I didn't found a way to also enabled the F5 functionality (Refresh), as it will reload the current, timeout, page.
Regards,
Vivek
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vivek,
The redirect to BSP application was my first attempt to achieve this functionality. Unfortunately, the F5 refresh doesn't work. And even if you manage to catch the event somehow using JS, you still have no guarantee that it will work in all browsers...
Please check my solution above, using the inserted code in CL_WDR_CLIENT_ABSTRACT_HTTP.
As for getting the tags in BSP, you need to add them as a query to the redirect URL.
https://..../<complete_path_to>/<your_bsp_application>/<your_bsp_page>.htm?message=<%=MESSAGE%>
, where "message" is declared in the attributes tab of the BSP page.
Best regards,
Tudor
Dear Tudor,
I think you can use TimedTrigger UI Element and Window Exit Plug to call Time out page.
Please look at this link.
http://scn.sap.com/thread/127416
http://scn.sap.com/message/14275799#14275799
Thanks,
Naga
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tudor,
I suggest you to go ahead with option 1
1. I've redirected the error to another URL, where I've tested the system tags (like <%=MESSAGE%>) and, in case of timeouts, redirected to another page (something with a message "You're application was idle for too long.." and a big "Refresh" button), or for regular errors, redirected to the standard error page from SAP.
But for the functionality of REFRESH(F5)
This solution seems to work fine, but I didn't found a way to also enabled the F5 functionality (Refresh), as it will reload the current, timeout, page.
Let us say, you have redirected the user to page ".... idle for too long" & has a button REFRESH
Now, On action of REFRESH button we need to call the original application
You can proceed as below
Please refer the below link for redirecting to an URL. Exit plugs in Webdynpro ABAP
Some other option
lv_name = 'rdisp/plugin_auto_logout'.
CALL 'C_SAPGPARAM' ID 'NAME' FIELD lv_name
ID 'VALUE' FIELD lv_value.
For more details - refer the link: SessionTime out in WDA
Hope this helps you.
Regards,
Rama
Hello Ramakrishnappa,
Thank you for your answer!
The only problem is that I don't want to use this "timeout page" feature just in my own application, I want to use it for all web applications in SAP. This means, for both the standard and the Y*/Z*... and of course, I don't want to enhance all WD apps in my system.
The "Refresh" button is implemented in HTML with a simple "history.go(-1)" action, which seams to work both in IE and NWBC. And by the way, my redirect, timeout and standard error pages are implemented inside a BSP application.
I guess the optimum solution would be to do all the logic directly in the SICF, but I have no idea why SAP wouldn't allow JavaScript in the explicit html page.
Thank you!
Tudor
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.