En proyectos ABAP es muy común encontrarse con procesos que consumen tiempo: generación de documentos, envío de correos, integraciones, cálculos masivos…
Si estos procesos se ejecutaran en la misma transacción, el usuario tendría que esperar hasta que todo termine, lo que afecta la experiencia y el rendimiento del sistema.
Para solucionar esto, SAP ofrece distintas alternativas:
- Jobs en background (SM36/SM37).
- Update tasks (
CALL FUNCTION ... IN UPDATE TASK). - RFC asíncronas (
CALL FUNCTION ... STARTING NEW TASK). - Y la tecnología más moderna: las Background Units (bgRFC).
¿Qué es una Background Unit?
Una Background Unit o bgRFC, es una forma moderna y más eficiente de ejecutar tareas de forma asíncrona en segundo plano, es decir, permiten que ciertas tareas se ejecuten en paralelo o diferidas, pero sin que el usuario tenga que esperar a que terminen.
La gran ventaja es que:
- El usuario no tiene que esperar a que termine.
- El sistema lo gestiona como parte de la misma sesión, no como un job aparte.
- Puedes hacer que tareas “pesadas” (cálculos, llamadas RFC, procesamiento de datos…) no ralenticen la experiencia del usuario.
Cómo se utiliza una Background Unit en ABAP
La sintaxis básica es muy parecida a la de otras llamadas en background, pero con algunas diferencias importantes.
Ejemplo simplificado:
CALL FUNCTION ‘Z_MI_FUNCION’
IN BACKGROUND UNIT lo_unit
EXPORTING
iv_param = lv_value.
El objeto lo_unit representa la unidad bgRFC que has creado previamente y que contiene la configuración necesaria (destino, cola, etc.).
👉 Aquí no vamos a entrar en detalle sobre cómo instanciar esa unidad paso a paso, porque requiere trabajar con clases como CL_BGRFC_DESTINATION_INBOUND y CL_BGRFC_UNIT_FACTORY.
Ventajas de usar Background Units
Lo que diferencia a las bgRFC de otras formas antiguas de hacer lo mismo (tRFC, qRFC, update task) es que son más fáciles de usar y más seguras:
Limitaciones y puntos a tener en cuenta
No todo son ventajas. Cuando trabajes con Background Units debes tener presentes estas consideraciones:
Casos habituales de uso
Algunos escenarios donde las bgRFC se utilizan especialmente:
- Procesar integraciones vía IDocs o servicios OData en background.
- Generar documentos (Smartforms, Adobe Forms) sin bloquear al usuario.
- Procesar grandes cantidades de datos (batch input, migraciones).
- Enviar correos o notificaciones en paralelo al usuario.
Opciones de configuración
Aunque a nivel de código la llamada parece sencilla, SAP ofrece varias posibilidades de configuración:
- Destinos RFC: definidos en
SM59y vinculados enSBGRFCCONF. - Colas: para asegurar un orden de ejecución o permitir paralelismo.
- Separación de update tasks: mediante métodos de la unidad, como
SEPARATE_FROM_UPDATE_TASK. - Monitorización y reintentos: con
SBGRFCMONpuedes ver las unidades pendientes, ejecutadas y con error.
Las Background Units son una de las formas más modernas y recomendadas de ejecutar procesos en segundo plano en ABAP.
Aportan flexibilidad, robustez y mejoran la experiencia del usuario, eliminando los problemas que tenían tecnologías más antiguas como tRFC y qRFC.

