Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Data Interfaces and Communication Interfaces →  RFC - Remote Function Call →  CALL FUNCTION - RFC 

CALL FUNCTION - IN BACKGROUND UNIT

Quick Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


CALL FUNCTION func IN BACKGROUND UNIT oref 
                   parameter_list.

Effect

Background Remote Function Call (bgRFC) of a remote-enabled function module specified in func using the RFC interface. Here, oref is an object reference variable pointing to an object whose class implements the interface IF_BGRFC_UNIT.

The object contains all the information required for the Remote Function Call, including the destination, whether to execute a transactional or queued call and, if required, the quantity of queues. If the same object is used for multiple calls, all called function modules are executed in one unit. Conversely, multiple objects of this type can be used in parallel in one internal session, which enables parallel processing.

Parallel processing is executed if queues or destinations in the used objects have different names. If, in successive calls, different objects are used for which the same queues and destinations are specified, they are processed in the same queue one after the other.


Note

Background RFC (bgRFC) is the enhanced successor technology of transactional RFC (tRFC) and makes this technology obsolete. It is strongly recommended to use bgRFC instead of tRFC.

More Information

More information about bgRFC can be found in the RFC documentation on SAP Help Portal.


Notes

  • Before the introduction of bgRFC, the parallel processing of multiple function modules was only possible using the addition AS SEPARATE UNIT of the statement CALL FUNCTION IN BACKGROUND TASK. This same functionality is provided by the parallel use of multiple objects, which means this addition is no longer necessary.
  • If, within the same SAP LUW, bgRFC units and also updates are executed, the bgRFC units are dependent on the update. Only after the update has been processed can the associated bgRFC also be processed. When an incorrect update record is deleted, the corresponding bgRFC units are also deleted. The linkage of bgRFC with the update can be removed using the interface method IF_BGRFC_UNIT~SEPARATE_FROM_UPDATE_TASK of the bgRFC object.
  • bgRFCs registered in a dialog module that were not started there using COMMIT WORK are not executed by the COMMIT WORK of the caller either.
  • The statements COMMIT WORK and ROLLBACK WORK may not be executed in a unit. In addition, no implicit database commit can be triggered there.

Exceptions

Handleable Exceptions

CX_BGRFC_INVALID_UNIT

  • Cause: oref points to an invalid object.

Continue

CALL FUNCTION - IN BACKGROUND parameter_list