Error During connecting external RFC Connection or Program by RFC Connection
The connection to an external RFC server program cannot be set up within the configured time interval. This problem is not caused by an error in the gateway or RFC, but by an incorrect configuration or a network error.
This problem affects destinations that are configured with "Start on ..." as the "Activation type" on the "Technical Settings" tab page in transaction SM59. For destinations that are configured as "Registered Server Program", the system issues a similar message ("timeout during allocate of registered program").
There can be different error scenarios:
- The external RFC server program contains errors.
- The destination is configured incorrectly.
- For the timeout interval, a value has been configured that is too small.
- Due to network problems, the connection cannot be set up.
1. You must check whether the external RFC server program works correctly. To check the functioning of the external RFC server program, register this program at the gateway in accordance with Document 63930 and set the destination to "Registered Server Program" in transaction SM59. After you successfully performed the registration at the gateway, the connection must work without any errors. Otherwise, there is an error in the external RFC server program.
The registration is a workaround if you do not start the RFC server program in the front-end workstation and the application-specific scenario permits a permanent registration.
Furthermore, an external RFC program contains errors if it does not call the RFC API RfcAccept first:
a) Copy the program RFCEXEC from the RFC SDK to the directory that contains the external RFC server program.
b) Copy the affected RFC destination.
c) In the RFC destination that was copied, enter the same program name as the "Program ID" under which you registered the test program RFCEXEC on a SAP gateway.
d) Perform the connection test.
If the connection test is successfully performed, this indicates that an error occurs in the RFC server program.
2. Check the destination settings.
a) Is the used host name resolved correctly to the IP address of the host on which the external RFC server program should be started?
b) Are the program path and the program name correct?
3. The configuration of the timeout interval must correspond to the system performance. For this, you must take the entire system landscape between the RFC client and the RFC server into account. The interval must be sufficiently long so that the connection to the RFC server program can be set up within the timeout interval, even if the load (network, server) is high.
If the external RFC server program is started on the application server, you must refer to Note 638701.
For information about the analysis of the time consumption during the start process, see Note 944792; for information about the analysis of the network performance, see Note 500235.
4. Furthermore, the error situation may be caused by network errors (see Note 500235) or an incorrect network configuration:
a) If packages are lost while a connection is set up between gateways, the connection can no longer be used. To identify connections that cannot be used for this reason, call transaction SMGW and choose the menu option "Goto -> Logged on systems" (up to 4.6B) or "Goto -> Logged on Clients" (as of 4.6C): Connections that cannot be used have the system type UNDEF_TYPE. This type should exist for a few seconds only while the connection is set up. For more information, see Note 566566.
b) For the configurations described in Notes 21151 and 1033987, refer to Note 211365.
If none of these proposed solutions removes the error message, you require RFC traces for further analysis (as described in Note 878860).