Application Development and Automation 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: 
Read only

Difference Between QRFC and TRFC

Former Member
13,086

hello,

what is the difference between Qrfc and Trfc ?any links or material for this topic will be helpfull.

cheers

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,117

Hi

Transactional RFC (tRFC) and Queued RFC (qRFC). tRFC is used mainly to

transfer ALE Intermediate Documents (IDocs).

<b>Transactional RFC</b>

If an error occurs during a synchronous remote function call, the system cannot tell at what point the error occurred (most crucially, whether the function module was actually processed in R/3 before the operation failed). Restarting a failed call is therefore a dangerous thing to do, since you risk duplicating a completed function call.

To alleviate this problem, you can use transactional RFC, which guarantees that each function call you issue will only be executed once, even if you submit it repeatedly to the R/3 System. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit. When you attempt to process the transaction, the system checks whether that TID has already been processed. If it has, the transaction is ignored.

<b>

Queued RFC</b>

When you use transactional RFC, you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). For cases where you need to specify a particular processing order, you can use queued RFC, which is an extension of transactional RFC. In qRFC, you place each function call in a logical queue. A function call cannot be executed until all of its predecessors in the queue have been processed. Queued RFC calls are processed asynchronously.

refer

http://johnv.sapgenie.com/docs/RFC.pdf

http://zerone.samcheok.ac.kr/Asp_pr/Language/.%5Cuploadfile%5CJCo%20Tutorial-1.pdf

www.sapgenie.com/sapgenie/docs/SAP%20Connectors.doc

regards

kishore

hello,

what is the difference between Qrfc and Trfc ?any links or material for this topic will be helpfull.

cheers

9 REPLIES 9
Read only

Former Member
0 Likes
2,117

Hi,

Data can be transferred between two R/3 Systems reliably and safely via transactional RFC (tRFC).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 .

To guarantee an LUW sequence dictated by the application, the tRFC is serialized using queues. It is therefore called queued RFC (qRFC). Due to the serialization, in R/3 a send queue for tRFC was created. This results in the general term qRFC with send queue.

regards

austin

Read only

Former Member
Read only

Former Member
0 Likes
2,117

hi Ranjini,

the difference is explained <a href="http://help.sap.com/saphelp_nw04/helpdata/en/62/73241e03337442b1bc1932c2ff8196/content.htm">here</a>..

regards

satesh

Read only

Former Member
0 Likes
2,118

Hi

Transactional RFC (tRFC) and Queued RFC (qRFC). tRFC is used mainly to

transfer ALE Intermediate Documents (IDocs).

<b>Transactional RFC</b>

If an error occurs during a synchronous remote function call, the system cannot tell at what point the error occurred (most crucially, whether the function module was actually processed in R/3 before the operation failed). Restarting a failed call is therefore a dangerous thing to do, since you risk duplicating a completed function call.

To alleviate this problem, you can use transactional RFC, which guarantees that each function call you issue will only be executed once, even if you submit it repeatedly to the R/3 System. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit. When you attempt to process the transaction, the system checks whether that TID has already been processed. If it has, the transaction is ignored.

<b>

Queued RFC</b>

When you use transactional RFC, you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). For cases where you need to specify a particular processing order, you can use queued RFC, which is an extension of transactional RFC. In qRFC, you place each function call in a logical queue. A function call cannot be executed until all of its predecessors in the queue have been processed. Queued RFC calls are processed asynchronously.

refer

http://johnv.sapgenie.com/docs/RFC.pdf

http://zerone.samcheok.ac.kr/Asp_pr/Language/.%5Cuploadfile%5CJCo%20Tutorial-1.pdf

www.sapgenie.com/sapgenie/docs/SAP%20Connectors.doc

regards

kishore

Read only

Former Member
0 Likes
2,117
Read only

Former Member
0 Likes
2,117

Hi kumar,

FIRST IN - FIRST OUT

-


1. COMMON THING :

Both work asynchronously.

2. First TRFC was there.

3. Then came the concept of QRFC.

4. Why ?

5 BCOS, suppose many TRFC are called (eg. 10)

6. Now they execute (in the target server)

INDEPENDENTLY

7. Hence, we cannot have CONTROL

over the SEQUENCE of 10 rfc.

8 To over come, (as the name suggests)

QRFC came into picture.

9. FIRST IN - FIRST OUT

The SEQUENCE , in which RFC are called,

in that same sequence, they will get

executed in the target server.

regards,

amit m.