A qRFC call is executed in different variants. To ensure efficient qRFC communication it is important that the data is assigned to a correct queue.
The following qRFC variants are possible:
● A LUW contains qRFC calls with the same destination.
● A LUW contains qRFC calls with the different destinations.
● A LUW contains both qRFC and tRFC calls with the same or different destinations (mixed mode).
● A LUW contains qRFC calls that are not sent but are to be called at a specific time by a local or remote application (NOSEND scenario).
● Note the following to ensure that the LUW is assigned correctly for each of these variants:
● Each application LUW begins with the first (CALL FUNCTION … IN BACKGROUND TASK) (tRFC call) and finishes with the first COMMIT WORK
● Each LUW can contain various sub-LUWs.
● A sub-LUW contains:
○ A tRFC call if the AS SEPARATE UNIT statement was used.
Take care when using a tRFC call with the AS SEPARATE UNIT statement. Each tRFC call with this option represents an independent LUW and does not have its own context.
○ An own transaction ID (TID).
● The qRFC Manager groups the LUWs together by destination, and processes them independently of each other. If a qRFC call contains LUWs with different destination, these are assigned different sub-LUWs. No serialization takes place between the individual sub-LUWs in this case.
A serialization only takes place when multiple LUWs are assigned to the same destination and the same queue name.
● A LUW can contain both tRFC calls and qRFC calls (mixed mode).
● A transaction can contain both dialog steps and update tasks. This affects the serialization behavior.
For more information on qRFC variants: