SAP Basis: Connection With Non-SAP RFC Pograms

When a TCP/IP type RFC Destination with Registered Program is setup, the external program gets registered with the gateway.
While creating this kind of RFC Destination, information about the destination is not maintained anywhere.
So how does it establish a connection with the program on external server wihout knowing where the target system is?

Creation of the RFC connection registers the specified Program-ID on the SAP Gateway. The Gateway waits for a request/call from the non-SAP client. The client would be needing the Gateway Host, Gateway Service, User ID/Password details in order logon to the Gateway. If any of this information is incorrect, the RFC connection test fails with the error "program PROGRAM_ID not registered"

The client then logs on to the Gateway once (for registration). The Gateway then starts a process and sets up a TCP/IP connection. This connection info can be seen with SMGW transaction. If this connection gets lost or cancelled by any other program, the client would have to re-establish the connection. This is done automatically. If the RFC connection still shows error, a crude way to re-establish the connection is to restart the RFC service at the client (Target system for SAP) or recreate the RFC connection.

If an XI Communication Channel errors out because of an error with RFC connection, then re-activate the channel.

Data for RFC connections is maintained in RFCDES table.

Comments

Popular posts from this blog

OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

301 Redirect Using SAP Web Dispatcher