SAP RFC LIMITATIONS



Get Example source ABAP code based on a different SAP table
  



ABAP_RFC - Restrictions
In contrast to the regular 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 is used implicitly for RFC.
The formal parameter of a remote-enabled function module must be typed using data types from the ABAP Dictionary or using built-in ABAP types. Data types from type pools cannot be specified.
No reference variables can be passed in RFCs. The formal parameters of a remote-enabled function module cannot, therefore, be typed using a reference type.
A database commit is triggered in every call that uses synchronous and asynchronous RFC. For this reason, synchronous or asynchronous RFC must not be used between AB-SQL statements that open or close a database cursor. Exceptions to this are:
During updates , sRFC and aRFC do not cause a work process switch or a database commit.
During background processing, a database commit is triggered, but the database cursor is kept open.
In a remotely called function module, no statements can be called that close the current RFC session and hence the connection. An example of this is the statement LEAVE PROGRAM or SUBMIT without the addition RETURN.
Since only pass by value takes place in RFC, when exceptions do occur, intermediate results can never be accessed 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 contained 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 code pages involved. When data is passed between MDMP systems and Unicode systems, the mapping might not be unique. For structures defined in the ABAP Dictionary, the text language is evaluated when the binary RFC protocol is used.
Information messages and warnings are handled like status messages.
In background RFC calls (bgRFC and the obsolete tRFC and qRFC), the statements COMMIT WORK and ROLLBACK WORK must not be executed within a Unit/LUW. In addition, no implicit database commit can be triggered there.