📘Background Jobs
Definición de Background Jobs
En SAP, los "background jobs" (o "jobs en segundo plano" / "procesos de fondo") son la columna vertebral de la automatización de tareas en el sistema. Se trata de programas o transacciones que se ejecutan de manera no interactiva, es decir, sin la intervención directa de un usuario, lo que permite que el sistema realice tareas de forma automática.
¿Para qué sirven?
Los background jobs son esenciales para:
-
Liberar los recursos del sistema y los usuarios: Las tareas que requieren mucho tiempo o procesan un gran volumen de datos (como la ejecución de reportes complejos, el cálculo de nóminas o la facturación masiva) no se ejecutan en primer plano. Si un usuario de diálogo intentara realizar estas tareas, bloquearía su sesión y afectaría el rendimiento de todo el sistema. Al pasarlas a segundo plano, los usuarios pueden seguir trabajando en sus tareas diarias sin interrupciones.
-
Automatizar procesos repetitivos: Muchas tareas empresariales deben ejecutarse de forma regular (diariamente, semanalmente o mensualmente). Programar un background job asegura que estas tareas se realicen de manera consistente y sin necesidad de intervención manual.
-
Ejecución en horarios no laborables: Los jobs se pueden programar para que se ejecuten durante la noche o los fines de semana, cuando la carga de usuarios es mínima. Esto maximiza la eficiencia del sistema y reduce la posibilidad de cuellos de botella.
-
Ejecución de tareas de "housekeeping": SAP utiliza background jobs estándar para realizar tareas de mantenimiento del sistema, como la limpieza de logs antiguos, la eliminación de solicitudes de impresión (spool requests) o la optimización de la base de datos.
¿Cómo funcionan?
Un background job es una secuencia de uno o más "pasos" (steps), donde cada paso ejecuta un programa o una transacción específica. El proceso es gestionado por los "work processes" de tipo "Batch" del sistema SAP, que son procesos de trabajo dedicados a esta tarea.
La programación y gestión de estos jobs se realiza principalmente a través de las siguientes transacciones:
-
SM36: Utilizada para definir y programar nuevos jobs. Aquí se le da un nombre al job, se especifican los pasos (programas ABAP, comandos externos, etc.) y se definen las condiciones de inicio (inmediata, en una fecha/hora específica, periódicamente, o tras la finalización de otro job).
-
SM37: La herramienta principal para monitorear y gestionar los jobs existentes. Permite ver el estado de los jobs (liberado, activo, finalizado, cancelado), revisar los logs de ejecución para diagnosticar errores y reprogramar o eliminar jobs.
Estados de un Job
Un background job puede pasar por varios estados:
-
Programado (
Scheduled): El job ha sido creado pero no se ha definido una condición de inicio. -
Liberado (
Released): El job está listo para ser ejecutado tan pronto como se cumpla su condición de inicio (por ejemplo, al llegar la hora programada). -
Activo (
Active): El job se está ejecutando en ese momento. -
Finalizado (
Finished): El job se ha completado con éxito. -
Cancelado (
Canceled): El job ha fallado o ha sido detenido manualmente.


Disponibilidad Laboral: FullTime