Skip to end of metadata
Go to start of metadata

How to set connection/processing timeout period for ICF services

Session Timeout

While the SAPGUI is directly connected to the Application Server using a socket the Application Server can frequently check this socket and verify if the GUI is still alive. Web services are connected only while a HTTP request is received/send and therefore it is not possible to check if the browser GUI is still alive or not. As long as the web service is not stateful the backend does not hold resources and a cleanup is not necessary. For stateful web services the backend holds the session context and this resource has to be deleted when a timeout is reached.

There are a couple of ideas to inform the Application Server about the status of the browser GUI, - e.g. through automatically sending a ping request every 5 minutes using JavaScript to reset the timeout counter, or e. g. sending a close request to the Application Server if the browser GUI is closing to inform the Application Server to cleanup resources immediately instead of holding unneeded resources until the timeout happens.
Depending on the strategy the application has chosen you should set the timeout to a shorter or longer period.

General/Default session timeout setting within the SAP kernel:
rdisp/gui_auto_logout
rdisp/plugin_auto_logout

The SAP kernel regularly checks whether a session is still in use. Any session that is no longer in use is removed. If the parameter rdisp/plugin_auto_logouts set, this timeout also applies to HTTP sessions as well as GUI sessions. If you want to reduce the timeout for the HTTP sessions, you can do so using the parameter rdisp/plugin_auto_logout.
To reduce the session timeout in general for all HTTP sessions, set a shorter timeout than for the other SAP GUIs with the parameter rdisp/plugin_auto_logout.

Sample:
rdisp/plugin_auto_logout 3600
rdisp/gui_auto_logout 14400

SAPGUI sessions will be closed after 4 hours (14400 seconds) while HTTP sessions are already terminated after 1 hour (3600 seconds) of inactivity. (Please use transaction RZ11 for detailed parameter description)

It is possible to overwrite this general timeout setting in transaction SICF for each individual service by specifying a different timeout for a specific service. However, the rdisp/gui_auto_logout parameter always offers the longest possible timeout value by default, so that the session is terminated in any case when this value is exceeded.

Setting service specific session timeout within transaction SICF:

Navigate within the transaction SICF to the specific service or to a specific service tree, double click to get to the service settings and change the session timeout to any value shorter than the general setting of parameter rdisp/plugin_auto_logout.

Processing /Connection Timeout

It may happen that you get a 'Connection Timed out' page as an answer a long time before your configured session timeout limit is reached. Usually this timeout is raised because of a processing timeout, which happens if you have long running applications.


Connection timeout, <x> displays the current configured processing timeout

The processing timeout period is configured in the ICM component and defines a timeframe in which the called ICF web service, the application, has to return a result page. If the ICM component does not receive a result page from the application within the configured time period, the ICM itself is sending the 'Connection timed out' page to the browser GUI.
The processing timeout time can be configured differently for each server port, using the kernel parameter: icm/server_port_<X>:

Sample:
icm/server_port_0 = PROT=HTTP, PORT=1080, PROCTIMEOUT=60

This sample setting means, that all HTTP requests received at port 1080 and forwarded to the ICF framework have to return within 60 seconds (this is the default value) otherwise the ICM component will send a 'Connection timed out' page as a response to the browser - the application has 600 seconds time to send a response/result page. If the application needs more time to process the request, the user will see the 'Connection timed out' page instead of the real result page. This processing time out frequently happens, for example, if ABAP sources have to be compiled first.
Setting the PROCTIMEOUT to -1 means the maximum processing time is not checked at all.
The configured processing time can be displayed and changed using transaction SMICM -> Goto -> Services:

The processing timeout value cannot be specified on a per service basis. Configure an additional virtual host if you have the need to set a specific processing timeout value for a group of services.

For more details regarding the ICM timeout settings see SAP Note:
824554  ICM and SAP Web Dispatcher Timeout Parameter

 

 

<back to FAQ section>