Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Data Interfaces and Communication Interfaces →  RFC - Remote Function Call →  RFC Overview 

RFC Restrictions

In contrast to the normal function module call, the following restrictions apply to an RFC:

  • Pass-by value must be selected for the IMPORTING, EXPORTING, and CHANGING parameters of a remote-enabled function module. This cannot be specified explicitly for TABLES parameters, but are used implicitly for RFC.
  • A database commit is performed in every call that uses synchronous and asynchronous RFC. For this reason, synchronous or asynchronous RFC must not be used between Open SQL statements that open or close a database cursor. An exception to this are updates. When updates are running, sRFC and aRFC do not cause work processes to be switched or database commits to be executed.
  • In a remotely called function module, you cannot use statements that close the current context and, in doing so, the connection. An example of this is the statement LEAVE PROGRAM, or SUBMIT without the addition RETURN.
  • As only pass by value is used for the RFC, when exceptions do occur, you can never access interim results when a synchronous RFC is made. TABLES parameters are an exception to this. When the exception SYSTEM_FAILURE is raised, these parameters behave in the same way as when the function module is executed locally, in which case they are passed by reference. The data held by a parameter of this type before the exception is passed to the client.
  • When passing character-like data, there is usually a conversion between the participating code pages. When data is passed between MDMP systems and Unicode systems, the mapping might not be unique. For structures defined in ABAP Dictionary, the text language is evaluated when the binary RFC protocol is used.

Other versions: 7.31 | 7.40 | 7.54