The transactional behavior of tRFC is enhanced by a serialization mechanism with qRFC. This mechanism can be realized using an outbound queue or an outbound and additional inbound queue.
The following programming example shows qRFC communication with an outbound queue (optional parameters are shown with '*'):
qRFC with Outbound Queue
REPORT rstrfct0. ... CALL FUNCTION 'TRFC_SET_QUEUE_NAME'. EXPORTING QNAME = 'queue1' * NOSEND = ' ' * TRFC_IF_SYSFAIL = ' ' * CALL_EVENT = ' ' * EXCEPTIONS * INVALID_QUEUE_NAME = 1 * OTHERS = 2 . CALL FUNCTION 'rfc_function' DESTINATION rfcdest IN BACKGROUND TASK ( AS SEPARATE UNIT ) EXPORTING ... TABLES ... ... COMMIT WORK.
You can set the queue name for the outbound queue by calling one of the following function modules:
TRFC_SET_QUEUE_NAME_LIST (for multiple queue assignments for each qRFC call)
TRFC_SET_QUEUE_RECEIVER_LIST (for multiple destinations for each qRFC call)
Call tRFC (CALL FUNCTION... IN BACKGROUND TASK)
At the time of the COMMIT WORK, the qRFC manager creates a counter for the LUW .
Serialization is done by a Queue Identifier. This Queue Identifier is made up of the Client, Queue Name, Destination and Queue Counter parameters.
For detailed information on programming the outbound queue, see: