cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Connection

Former Member
0 Kudos

Hi

Whats the difference between connection types T and 3 in RFC destination. We define T in Idoc and 3 in RFC while we use both to connect SAP back end system. Why is that different ?

Can anyone explain this to me ?

Thanks

Radhika

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Radhika,

There are 8 possible ways of defining Destinations using SM59 and each type has its own unique functionality

In brief to answer your queries

Type 3 - ABAP connections

This type specify ABAP systems. When you create a ABAP Connection, you must give the host name and communications service. You can, however, specify logon information if desired. With the lastest releases you can also specify the load-balancing option if desired.

For example, any SAP ABAP based systems you can connect using this method.

Type T - TCP/IP Connections

Type T destinations are connections to external programs that use the RFC API to receive RFCs. The activation type can be either Start or Registration.

For example, in PI we have SAPSLDAPI, LCRSAPRFC, SLD_UC these rfc are APIs and contains a registered Program ID in the definition of these RFCs.

I hope this helps you understand the difference.

Regards

Sekhar

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Rfc means Remote Function Call. Their are number of type to communication through the RFC.

Type T destinations are connections to external programs that use the RFC API to receive 'Remote Function Calls'.

You must specify the host name and the pathname of the program to be started. The communication method depends on how you select the program location:

  • 'Explicit' selection:

In this case, the program is started either by the standard gateway program for the system or by the explicitly specified gateway (gwrd) via 'remote shell'.

Ensure that the computer with the gateway process can access the specified computer by entering '/etc/ping <host name>'.

In order to be able to start a program on another computer using 'remote shell', the target system must fulfil certain conditions. The user ID of the gateway process must exist and a file called .rhosts must also be present in the user's home diretory. The file .rhosts must contain the name of the calling computer. To check this, logon to the computer containing the gateway process with the appropriate user ID and enter the command 'remsh <host name> <program name>'. The <host name> and <program name> must be the same as in SM59. (If you call an RFC server program without any parameters, the RfcAccept call always returns an error code (RFC_HANDLE_NULL) and the program terminates at once.)

  • Server

By entering the 'server', you start the program from the SAP application server.

First, ensure that the program can be accessed from the SAP application server and that the SAP application server has the authorization to start the program.

To check this, logon with the user ID of the SAP application server (e.g. c11adm). If possible, go into the 'work' directory of the SAP application server ('/usr/sap/.../D.../work') and try to start the RFC server program manually from there. (As in the above case, if you call an RFC server program without parameters, the RfcAccept call always returns an error code (RFC_HANDLE_NULL) and the program terminates at once.)

*User:

By entering the 'user', the program is started by 'SAPGUI', i.e. under the user's ID and environment.

Ensure that you can access the program with 'SAPGUI'/'SAPTEMU'.

Ensure that 'SAPGUI' has the authorization to start the program.

To check this, simply call the RFC server program in your environment.

The function call can also be asynchronous (CALL FUNCTION ... IN BACKGROUND TASK DESTINATION ...).

Type 3 destinations refer to another R/3 System. You must specify the host name and the SAP system number of the target system.

Thanks,

Atul Amrutkar.

Former Member
0 Kudos

Hi,

when youa re trying to connect to any SAP system you use connection type 3. When you are trying to connect to any external application SAP provies you with connection type TCP/IP which works on identifier which is nothing but your program id. The connection is uniquely identified using this proam id.

In case of RFC connection between SAP system and SAP PI it uses TCP/IP because of the way it internally connects to SAP. thats the reason we say that RFC adapter is not on ABAP layer but Java layer and IDoc adapter is on ABAP layer.

Regards

Vijaya

Former Member
0 Kudos

Hi Radhika,

1) Type T destinations are connections to external programs that use the RFC API to receive 'Remote Function Calls'. You must specify the host name and the pathname of the program to be started. The communication method depends on how you select the program location:

'Explicit' selection

In this case, the program is started either by the standard gateway program for the system or by the explicitly specified gateway (gwrd) via 'remote shell'.

Ensure that the computer with the gateway process can access the specified computer by entering '/etc/ping <host name>'.

In order to be able to start a program on another computer using 'remote shell', the target system must fulfil certain conditions. The user ID of the gateway process must exist and a file called .rhosts must also be present in the user's home diretory. The file .rhosts must contain the name of the calling computer. To check this, logon to the computer containing the gateway process with the appropriate user ID and enter the command 'remsh <host name> <program name>'. The <host name> and <program name> must be the same as in SM59. (If you call an RFC server program without any parameters, the RfcAccept call always returns an error code (RFC_HANDLE_NULL) and the program terminates at once.)

'Server'

By entering the 'server', you start the program from the SAP application server.

First, ensure that the program can be accessed from the SAP application server and that the SAP application server has the authorization to start the program.

To check this, logon with the user ID of the SAP application server (e.g. c11adm). If possible, go into the 'work' directory of the SAP application server ('/usr/sap/.../D.../work') and try to start the RFC server program manually from there. (As in the above case, if you call an RFC server program without parameters, the RfcAccept call always returns an error code (RFC_HANDLE_NULL) and the program terminates at once.)

'User'

By entering the 'user', the program is started by 'SAPGUI', i.e. under the user's ID and environment.

Ensure that you can access the program with 'SAPGUI'/'SAPTEMU'.

Ensure that 'SAPGUI' has the authorization to start the program.

To check this, simply call the RFC server program in your environment.

The function call can also be asynchronous (CALL FUNCTION ... IN BACKGROUND TASK DESTINATION ...).

2) Type 3 destinations refer to another ABAP system. You must specify the host name and the SAP system number of the target system.

Regds,

Pinangshuk.