
1. Formas de ejecución de un programa ABAP
En SAP, un programa ABAP puede ejecutarse de dos maneras principales:
a) Ejecución Online (Interactiva)
• El programa se ejecuta mientras el usuario está conectado y activo en el sistema.
• El usuario ingresa datos a través de pantallas o parámetros de selección.
• El programa procesa los datos y muestra los resultados directamente en pantalla.
• Es una ejecución síncrona: el usuario debe esperar a que el programa termine para continuar.
• Usualmente se usa para tareas cortas o que requieren interacción inmediata, como consultas, mantenimiento de datos, o transacciones.
⸻
b) Ejecución Batch o en Fondo
• El programa se ejecuta en segundo plano, sin necesidad de que el usuario esté conectado o interactuando.
• Se usa para tareas que pueden tardar mucho tiempo o que se deben realizar periódicamente.
• La ejecución es asíncrona: el usuario puede iniciar el programa y continuar con otras tareas mientras este se ejecuta.
• Los programas de fondo se programan como jobs que se ejecutan automáticamente según horarios o condiciones definidas.
• Ejemplos: generación de reportes grandes, procesos masivos, actualización de datos, envío masivo de correos.
⸻
2. Administración y monitoreo de la ejecución en fondo
• SM37 (Monitor de Jobs):
• Permite ver todos los jobs (trabajos) programados, en ejecución, terminados o cancelados.
• Puedes filtrar jobs por usuario, nombre, estado, fecha, etc.
• Se puede revisar el log para verificar si el job tuvo errores o finalizó correctamente.
• Permite cancelar o eliminar jobs si es necesario.
• SP01 (Visualizador de Spool):
• Aquí se visualizan las salidas de impresión (informes, listados) generadas por los jobs en fondo.
• Puedes buscar y abrir documentos, imprimirlos, o borrarlos.
• Es útil para revisar resultados de reportes ejecutados en segundo plano.
⸻
3. Creación y ejecución de programas ABAP enfondo
• Para ejecutar un programa en fondo se puede usar la sentencia SUBMIT desde otro programa o directamente desde un job.
SUBMIT nombre_programa [WITH parámetro = valor] [AND RETURN].
• Con AND RETURN: después de la ejecución del programa, el control regresa al programa llamador.
• Sin AND RETURN, el control pasa al programa ejecutado y no vuelve.
SUBMIT z_mi_programa
WITH p_fecha = '20250809'
AND RETURN.
• En este caso:
• Se ejecuta el programa z_mi_programa.
• Se pasa el parámetro p_fecha con valor '20250809'.
• Después de ejecutar, regresa al programa llamador para continuar.
⸻
4. Creación de un Job para ejecutar un programa en fondo
• Se utiliza la transacción SM36 para programar un job.
• Pasos para crear un job:
1. Asignar un nombre al job (por ejemplo, “Job_Reportes_Mensuales”).
2. Definir los pasos del job, especificando el programa ABAP a ejecutar.
3. Configurar los parámetros de selección si el programa los requiere.
4. Programar la fecha y hora o periodicidad del job (diario, semanal, etc.).
5. Guardar y activar el job para que se ejecute según la programación.
• Una vez creado, se puede monitorear el job en SM37.