Show TOC

Function documentationAsynchronous RFC (aRFC) Locate this document in the navigation structure

 

ARFC are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog. There are three characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:

  • When the caller starts an asynchronous RFC, the called server must be available to accept the request.

    The parameters of asynchronous RFCs are not logged to the database, but sent directly to the server.

  • Asynchronous RFCs allow the user to carry on an interactive dialog with the remote system.

  • The calling program can receive results from the asynchronous RFC.

You can use asynchronous remote function calls whenever you need to establish communication with a remote system, but do not want to wait for the function’s result before continuing processing. Asynchronous RFCs can also be sent to the same system. In this case, the system opens a new session (window). You can then switch back and for between the calling dialog and the called session

To start a remote function call asynchronously, use the following syntax:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

Note Note

The following calling parameters are available:

  • TABLES

    passes references to internal tables. All table parameters of the function module must contain values.

  • EXPORTING

    passes values of fields and field strings from the calling program to the function module. In the function module, the corresponding formal parameters are defined as import parameters.

  • EXCEPTIONS

    See Using Predefined Exceptions for RFCs

End of the note.

RECEIVE RESULTS FROM FUNCTION Remotefunction is used within a FORM routine to receive the results of an asynchronous remote function call. The following receiving parameters are available:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

The addition KEEPING TASK prevents an asynchronous connection from being closed after receiving the results of the processing. The relevant remote context (roll area) is kept for re-use until the caller terminates the connection.