Skip to Content

Types of RFC's


Can any one please tell me the types of RFC's and the difference between them.


Subba Rao ILam

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

4 Answers

  • Posted on Dec 05, 2007 at 10:00 AM


    there are five types of rfcs

    synchrnous rfc

    asynchronous rfc

    transactional rfc

    queue rfc

    parallel rfc



    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2007 at 10:02 AM

    Hi subbu ilam

    r u sure whether u r asking types of function module or types in RFC?

    RFC fm is calling a function module in remote server.



    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2007 at 10:05 AM

    Synchronous RFC (Stop the target program, and execute the destination program , once it is finished, then come to target program and continue the steps)

    Asynchornous RFC ( Parellell execution of Target & Destination program)

    Transactional RFC ( Its a Batch execution of the destination program , whenever the dest. program available it will get executed and the results will be sent to target program)

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2007 at 10:12 AM




    The called function module is executed exactly once in the RFC server system. The remote

    system need not be available at the time when the RFC client program is executing a tRFC. The

    tRFC component stores the called RFC function together with the corresponding data in the R/3

    database, including a unique transaction identifier (TID).

    If a call is sent, and the receiving system is down, the call remains in the local queue until a later

    time. The calling dialog program can proceed without waiting to see whether or not the remote

    call was successful. If the receiving system does not become active within a certain amount of

    time, the call is scheduled to run in batch.

    Transactional RFCs use the suffix IN BACKGROUND TASK.


    The characteristics of qRFC with send queue are:

    Queued RFC with send queue enforces a serialization on the side of the send system. The

    target system has no information about the serialization in the send system. This allows

    communication with any R/3 target system as of Release 3.0.

    qRFC with send queue is an enhancement of tRFC. It transfers an LUW (transaction) only if

    it has no predecessors (in reference to the sequence defined in different application

    programs) in the participating queues. In addition, after executing a qRFC transaction, the

    system tries to start all waiting qRFC transactions automatically according to the sequence.

    For queue administration, the system needs a queue name and a queue counter for each

    qRFC transaction. Each tRFC call to be serialized is assigned to a queue name that can be

    determined by the application. The application passes the queue name with the call of

    function module TRFC_SET_QUEUE_NAME. This function module is called immediately

    before each tRFC call to be serialized. See also Programming Serialization [Page 28].

    A queue name is a text of up to 24 bytes length. You can choose any text, but you must not

    use * (asterisk).


    Asynchronous remote function calls (aRFCs) 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


    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 (or window) and allows you to switch back and forth 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 ...


    TABLES ...


    Have a look at the following document which was published recently in the SDN:



    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.