cancel
Showing results for 
Search instead for 
Did you mean: 

BSP Timout for long running processes

Former Member
0 Kudos

I have BSP application which is using a RFC connection to another R/3 system. Usually if the process runs longer than 20 seconds the web page time-outs. Is there a way to prevent the web page timeout. I've already the FAQ section on the Web Application Server and mentioned such a situation but didn't provide an example or snippet of code. Any help on this issue would be appreciated.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

What we did was up the overall system time-out for BSP. We especially had the problem in Development where we were often debugging applications. It didn't take long to time-out the BSP while debugging even locally. Look at the following profile parameters:

icm/keep_alive_timeout

icm/conn_timeout

Former Member
0 Kudos

Thomas Jung, Thanks for the tip. Just to be clear on things you mean go to transaction SICF and click on my BSP service and here is where I change session time-out parameter. Is this correct? This is what I did and it hasn't timed out since but I just wanted to be sure. Also how did you handle closing the R/3 session if the user just closed the browser window and not clicking a logoff button to close the actual session. Because what's happening is the users will log-on the application but won't click the log-off button they just close the browser window. And if you go-to transaction SM04 you can see that the session is still open. Do you have any suggestions on the issue?

Former Member
0 Kudos

Might sound very basic, but unless there is a critical requirement to create a stateful application, we should stick to developing stateless apps. Consider switching to stateless mode unless it has already been ruled out.

Former Member
0 Kudos

Parminder Sikka, yes I did consider creating the application as stateless. The reason I decided to use a stateful application is due to the database-intensive selections and updates. I was thinking it would be considerably better performance compared to a procedure where identical read operations have to be executed for every request using stateless apps. Thanks for your advice.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

You can set indivual time-outs in SICF. However we increased the overall time-out using the Instance profile. Take a look at transaction RZ10. As far as closing the connection, we are using some code provided by SAP. Look at the SYSTEM bsp application. In it you will find a session_buffered_frame.htm and session_single_frame.htm. I copy one these into my application and make them the starting point. Therefore some JavaScript is execute if the user closes the browser or navigates away from your page. The only thing it doesn't catch is if the browser crashes. But IE never crashes

Former Member
0 Kudos

Thios is how it works:

-Transaction SMICM

- Goto ? SERVICES

- Mark the HTTP Service

- Goto SERVCE-CHANGE

- change Keep Alive (seconds)

This only works if you have the problem that you have a RFC Function which takes too long for processing and when it comes back it shows the timeout