RFC Restrictions
Calling an RFC is different to a "normal" call of function modules, insofar the following restrictions apply:
- At every call via synchronous and asynchronous RFC, a
database commit is issued. For this reason, synchronous or asynchronous RFC must not be used between Open-SQL statements that open or close a
database cursor.
- It is not allowed to use statements that close the current
context and, in doing so, the connection (within a remotely called
function module). These are, for the example, the statements LEAVE
PROGRAM or SUBMIT without the RETURN addition.
- Screens and
selection screens Which are called
in an remotely called function module, are displayed in the calling system with synchronous RFC if the calling program is executed in the dialog processing, and if the user specified in
destination has the authorization for
dialog. The screen data is transferred from the RFC interface to the calling system. In this case, lists
can be displayed with LEAVE TO LIST-PROCESSING that are written in an remotely called function module.
- As RFC only performs "pass by value", you can never access interim results if an exception occurs (also not with synchronous RFC).
- When transferring character-type data, in general there is a conversion between the participating
codepages. At the transfer between
MDMP systems and
Unicode systems, the allocation might possibly not be clear. With structures defined in the ABAP Dictionary, the
text language is evaluated (since Release 6.20).