Start of Content Area

Component documentation The qRFC Communication Model  Locate the document in its SAP Library structure

Purpose

Communication within an SAP system or with a remote system can take place using Remote Function Call (RFC). This enables the following scenarios:

·        Communication between two independent SAP systems

·        Communication between a calling SAP system and an external receiving system

·        Communication between a calling external SAP system and an SAP system as the receiving system

 

Implementation Considerations

The following communication model shows how these communication scenarios can occur in practice. tRFC (transactional Remote Function Call) is still responsible for actually sending communications. tRFC is preceded by inbound and outbound queues, which have led to the name qRFC (queued Remote Function Call). The sending system is called the client system, and the target system represents the server system.

 

There are three data transfer scenarios:

This graphic is explained in the accompanying text

 

Scenario 1: tRFC

This scenario is suitable if the data being sent is not interrelated. A calling application (or client) in system 1 uses a tRFC connection to a called application (or server) in system 2. In this scenario, the data is transferred using tRFC. This means that each function module sent to the target system is guaranteed to be processed once. The order in which the function modules are executed, and the time they are executed, cannot be determined. If a transfer error occurs, a background job is scheduled that resends the function module after a defined period of time.

 

Scenario 2: qRFC with Outbound Queue

In this scenario, the sending system uses an outbound queue to serialize the data being sent. This means that mutually dependent function modules are placed in the outbound queue of the sending system and are guaranteed to be sent in the correct sequence, and only once, to the receiving system.  The called system (server) has no knowledge of the outbound queue in the sending system (client). Using this scenario, every SAP system can communicate with a non-SAP system (the program code of the server system does not need to be changed, but it must be tRFC-compliant).

 

Scenario 3: qRFC with Inbound Queue (and Outbound Queue)

In this scenario, in addition to the outbound queue in the sending system (client), there is also an inbound queue in the target system (server). qRFC with an inbound queue always means that an outbound queue exists in the sending system. This guarantees that the sequence of communications is preserved, and at the same time the resources in the client and in the server system are controlled efficiently.  The inbound queue is processed using an inbound scheduler, which only processes as many queues in parallel as the current resources in the target system (server) will allow, This prevents a server from being blocked by a client.

 

Features

Features of the Three Communication Types

To help you decide which communication types you need to implement according to your system landscape and your requirements, the advantages of the three types of communication are explained below:

...

·        tRFC
Suitable only for independent function module calls; the sequence of the calls is not preserved

·        qRFC with outbound queue
Function modules in a queue are guaranteed to be processed only once and in sequence (serialization). Also suitable for communication with non-SAP servers.

·        qRFC with inbound queue
The function modules created in the outbound queue are transferred from the outbound queue to the inbound queue; the sequence of the function modules is preserved. An inbound scheduler processes the inbound queues in accordance with the specified resources. Both the client and the server system must be SAP systems.
One work process is used for each inbound queue.

 

 

 

End of Content Area