Remote function call
Remote Function Call ( RFC ) is a term from the world of SAP - software (especially the SAP ABAP systems, eg. R / 3 and its successors).
On the one hand, RFC is a synonym for the remote procedure call concept (RPC for short). This refers to processes with which functions are called in a remote system. On the other hand, RFC is also the umbrella term for SAP's own protocols and interfaces for processing such function calls through to their implementation.
Communication is possible both between SAP systems and between an SAP system and a non-SAP system. The latter typically uses an RFC library provided by SAP for the respective runtime environment or programming language.
A distinction is made between the sRFC, which carries out synchronous communication , the tRFC (transactional RFC) for asynchronous communication, and the qRFC ( queued RFC). The qRFC is a further development of the tRFC, which ensures that the processing sequence of individual units defined by the application is retained.
The possible uses are diverse. Data can be transported to or from a SAP system and thus made available in almost any environment. An important application is the processing of transactions across system boundaries, e.g. B. for the replication / synchronization of datasets (see SAP ALE ).
All RFC types are transmitted via the standardized interface CPI-C ( Common Programming Interface Communication ) or TCP / IP . The latter is always used nowadays for communication between different systems. In detail: SAP servers accept RFC connections on TCP ports 33 NM ( NM is the two-digit instance number / system number of the SAP system; entry in the services file: sapgw NM ). That is, the TCP port range from 3300 to 3399 is provided by SAP for this purpose; but there is no IANA registration for this.
See also
Remote Method Invocation - the corresponding counterpart from the Java world