-
Request for existing cases, user IDs, Portal navigation support and more
bgRFC Channel
The Background RFC (bgRFC) is offered as a replacement for the classic tRFC and qRFC. It is available with SAP NetWeaver 2004s (SAP Basis 7.0). bgRFC is a superordinate term for the new version of tRFC and qRFC. A parallel run of classic tRFC/qRFC and bgRFC is possible.
The Background RFC works on the basis of units and performs better compared to the classic tRFC and qRFC versions. It comes with a new Application Programming Interface (API) and a new data model.
Terminology:
- The term unit for the bgRFC can be compared with the term Logical Unit of Work (LUW) for classic tRFC/qRFC.
- A unit is a recorded sequence of collected function calls to be performed remotely.
- The recorded unit data is persisted in the database at COMMIT WORK.
- A unit can be locked. Such a locked unit cannot be processed until it is unlocked again.
- The term destination for a bgRFC unit defines either a remote system for outbound scenarios, or a distinct name for an application in an inbound scenario.
- Outbound destinations are maintained via the standard transaction SM59.
- Inbound destinations are maintained via the specific transaction SBGRFCCONF.
The bgRFC is based on a scheduler-driven queuing framework. This means that remote function calls are recorded, and execution takes place at a later point in time, which is controlled automatically by a scheduler process. Several schedulers can be started to process bgRFC units.
It supports the following scenarios:
- Processing on a remote system (outbound scenario)
- Use case: Asynchronous transactional processing of function calls in a remote system; processing is controlled by the caller system (inter-system communication for SAP to SAP and SAP to non-SAP)
- Processing remotely by the inbound scheduler (outbound-inbound scenario)
- Use case: Asynchronous transactional processing of function calls in a remote system; processing is controlled by the receiver system (inter-system communication for SAP to SAP)
- Processing on the same system (inbound scenario)
- Use case: Asynchronous transactional processing of function calls in the same system (intra-system communication = same system and same client)
In addition, there is a successor to the qRFC's No-Send scenario, where outbound calls are recorded, but not sent by the outbound scheduler (pull principle). Instead, the receiving system is supposed to fetch its RFC records itself. In the bgRFC context this is called Local Data Queue (LDQ).
The bgRFC provides two qualities of service (QoS) for remote function calls, offering an asynchronous transactional system-to-system communication:
- exactly once (EO) => transactional units (like the classic tRFC): Each unit is an independent thread
- exactly once in order (EOIO) => queue units (like the classic qRFC): Units with sequence dependencies
To monitor bgRFC destinations and queues you can use the transactions SBGRFCMON (bgRFC Monitor), SBGRFCHIST (bgRFC Unit History), SBGRFCPERFMON (bgRFC Performance Monitor) and SLDQMON (LDQ Monitor).
Quality of Service | Outbound | Outbound-Inbound | Inbound | No-Send |
---|---|---|---|---|
tRFC (EO) | x | - | x | - |
qRFC (EOIO) | x | x | x | x |