In this blog we see in detail about timeout parameter for ICM and SAP Web Dispatcher with configuration

  •  ICM and its timeout parameter

The Internet Communication Manager (ICM) enables communication between your SAP system and the Internet using the HTTP or HTTPS protocols for the Business Client applications. The ICM can forward incoming HTTP connections to the SAP Web Application Server for processing. The ICM then serves as the HTTP server. The ICM can also forward outgoing HTTP connections from the SAP Web Application Server to other HTTP servers. The ICM then serves as the HTTP client.

** Available parameters that control ICM timeouts:

icm/conn_timeout
icm/keep_alive_timeout
icm/server_port_< n >

** The parameters icm/conn_timeout is used to set the timeout when setting up the connection. If the timeout is exceeded, an error page is generally displayed with the information “404 Resource not found” “Partner not reached”.
Therefore, exceeding the icm/conn_timeout does not lead to a “500 Connection timed out” error message.

** The parameters icm/keep_alive_timeout define the keepalive timeout.
The keepalive timeout specifies how long the network should remain open after a request has been processed successfully so that the TCP/IP connection does not have to be reestablished if additional requests are received.
When we set the keepalive timeout, this does not normally lead to timeout errors. We should set the keepalive timeout high enough that the connection does not have to be reestablished for requests that are sent within a short time of each other, but low enough that the number of unused open TCP/IP connections is not unnecessarily high. Exceeding the Keepalive timeout should never cause an error.

** The parameters icm/server_port_< n > define the processing timeout.
The processing timeout is the timeout between the HTTP request being issued and the HTTP response being received.
If the ICM acts as a server for the relevant HTTP request (that is, if it forwards an incoming request to SAP NetWeaver AS), the processing timeout specifies the time that the ICM will wait until a response is received from the SAP Web Application Server (AS ABAP or AS Java). This time my be exceeded in the case of long-running applications in AS ABAP or in AS Java (up to 6.40 “J2EE Engine”).

If the processing timeout is exceeded, the ICM sends the client an HTTP response with the error code “500 Connection timed out”.
If the ICM serves as a client for the relevant HTTP request (that is, when it forwards outgoing requests from the SAP NetWeaver Application Server), the processing timeout states the amount time that the ICM waits until a response is received from the network. This interval may also be exceeded in the case of long-running applications in the network.

  • Configuration of the ICM parameters for the processing timeout and the keepalive timeout

For the ICM, the parameters mentioned here are in the instance profile.

The processing timeout is set for individual services using the following parameter:
icm/server_port_ < n > = …,PROCTIMEOUT=< s >
The keepalive timeout can be set globally for all services of the ICM using the parameter icm/keepalive_timeout.
You can also set it for individual services by using the following parameter:
icm/server_port_ < n > = …,TIMEOUT=< s >
If you set this parameter, it overwrites parameter icm/keepalive_timeout for the specified service.

* Even if the ICM serves as client for a request, the TIMEOUT and PROCTIMEOUT parameters of icm/server_port_ < n > control the timeouts for the relevant protocol, provided that you have set TIMEOUT or PROCTIMEOUT. However, it is possible for a client to explicitly set the timeout in IF_HTTP_CLIENT, method SEND.

* If you have not set the PROCTIMEOUT parameter, TIMEOUT (or icm/keepalive_timeout) defines both the processing timeout and the keepalive timeout. In addition, as of release 6.40, the keepalive timeout is limited to a maximum of 60 seconds.

* In a system where the default timeout settings of 60 seconds for the keepalive timeout and the processing timeout are insufficient because of long-running applications, its recommend that you set the TIMEOUT and PROCTIMEOUT parameters for the relevant services so that you can configure them independent of each other. In addition, its recommend that you do not set the TIMEOUT value higher than necessary, for example, to the usual default value of 60 seconds.

* for example, the following settings:
icm/server_port_0 = PROT=HTTP,PORT=1080,TIMEOUT=60,PROCTIMEOUT=600
to allow a maximum processing time of 10 minutes.

  • Timeout parameter in the SAP Web Dispatcher

* The same timeout parameters are available for the SAP Web Dispatcher as for the ICM. You can change them in the profile file of the SAP Web Dispatcher (for example, sapwebdisp.pfl). Its always recommended that you set the same parameters in the SAP Web Dispatcher and ICM.

* In Release 7.00 and later releases, there are no known errors in ICM and Web Dispatcher Timeout Handling.
Known Internet Explorer errors in the keepalive timeout handling

* Known errors in the keepalive handling from Internet Explorer are described in Note 900804. However, these errors are not usually displayed as timeout errors.

  •  In SMICM screen we see many field, so brief definition of them also.

SMICM, ICM,TIMEOUT

Keep Alive–>
If no data is exchanged on an existing connection for this period of time, the network connection is terminated.

PROCTIMEOUT (Processing timeout)-->
If you try to open an ABAP Webdynpro application, browser waits till application returns response. If it doesnt respond within the time specified at PROCTIMEOUT, ICM will send time out error message to browser. This is when you will see ICM timeout screen.

External Binding Program –>
When you define the service, if you select the ‘Use external binding program’ checkbox, an ‘X’ is displayed in this column.
Using the external binding program icmbind (or icmbind.exe in Windows), in Unix you can bind ports with numbers less than 1024 without having to run the SAP kernel (that starts the ICM) or the message server with superuser authorization.

ACL File –>
The ACL file (access control list) specifies which hosts are permitted to open a connection to this port.
You can find the syntax description in the documentation for data element NIACLENTRY.

Actv–>
This implies whether service is activated or not, if it tick in green then its highlighted.

Leave a Reply

Your email address will not be published. Required fields are marked *