In contrast to the normal function module call, the following restrictions apply to an RFC:
· For each call that is made using synchronous RFC, a database commit is performed. For this reason, a synchronous RFC must not be used between Open SQL statements that open or close a database cursor.
· In a function module that is called remotely, you must not use statements that close the current context and therefore the connection. An example of this is the statement LEAVE PROGRAM, or SUBMIT without the addition RETURN.
· In the case of a synchronous RFC, dynpros and selection screens that are called in a remotely-called function module are displayed in the calling system if the calling program is executed in dialog processing, and if the user defined in the destination has dialog authorization. The screen data is transmitted by the RFC interface to the calling system. In this particular case, you can display lists that are written in a remotely-called function module by using LEAVE TO LIST-PROCESSING.
· 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.
· Information messages are warnings are handled in the same way as status messages.