Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

does asynchronous has same meaning in r/3 system.

Former Member
0 Kudos

what are all communication metheds we have in RFC?

is asynchronous RFC has diffrent meaning in r/3 system?

why we say transactional RFC is of the type aRFC?

in general what is sRFC and aRFC?

can i say asynchronous RFC in r/3 system is equal to general definition of a aRFC?

5 REPLIES 5

Former Member
0 Kudos

Hi,

There is a excellent article which explains the different kinds of RFC's in detail.

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c7567...

As such Asynchronous, the meaning does change in R/3 system.

Regards,

Ravi

Note - Please mark all the helpful answers

Former Member
0 Kudos

HI

good

go through this link, which llgive you detail idea about RFC

http://help.sap.com/saphelp_nw04/helpdata/en/22/0424fe488911d189490000e829fbbd/frameset.htm

THANKS

MRUTYUN^

Former Member
0 Kudos

We use two communication methods.

1.Synchronous communication

2.Asynchronous communication.

For RFC & aRFC the communication methods are same but the processing is different.

similarly for tRFC & qRFC the communication is same i.e asynchronous communication but the processing method is different.

the processing methods are.

1.Synchronous processing

2.Asynchronous processing.

RFC follows synchronous processing & aRFC follows Asynchronous processing

Hope u understood.

anversha_s
Active Contributor
0 Kudos

hi,

Have a look at below link. It gives you a PDF which contains all the details abt RFC.

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf

<u><b>TRFC:</b></u>

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.

<u><b>QRFC:</b></u>

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).

<u><b>ARFC:</b></u>

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

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 (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 ...
EXPORTING...
TABLES ...
EXCEPTIONS...

I hope it helps.

Regards,

Anver

Former Member
0 Kudos

Hi,

the communication methods in RFC are

1.Remote function Call [RFC]

2.Transactional Remote function Call [TRFC]

3.Queued Remote Functional Call [QRFC]

4.Asynchronous Remote Function Call [ARFC]

5.PARALLEL RFC [ITS AN ADVANCED VERSION OF ARFC]

HERE 1 AND 3 ARE SYNCHRONOUS RFC

2 AND 4 ARE ASYNCHRONOUS RFC .

SRFC AND ARFC DIFFERS FROM TRHE PROCESS AS IT LIKE AN SYNCHRONOUS AND ASYNCHRONOUS UPDATION .

ASYNCHRONOUS RFC is be called as ARFC.