✒️ABAP La ejecución de fondo
ABAP La ejecución de fondo
Lección: Batch
1. Ejecución de Fondo.
Existen dos formas de ejecutar un programa en ABAP: Online y Batch. En la ejecución Online el programa se ejecuta al momento de presionar F8 y los resultados de la ejecución se producen de manera inmediata. Esta forma de ejecución es conveniente para los programas donde se requiere interacción con el usuario o cuando el tiempo de ejecución es muy poco.
Para los casos donde el tiempo de procesamiento es mucho mayor por la cantidad de registros y acceso a las bases de datos es conveniente la ejecución Batch o de fondo. Veamos un ejemplo paso a paso de como ejecutar un programa de fondo.
La programación de un programa es distinta si se va a ejecutar Online que si se va a ejecutar en Batch.
Ejemplo, supongamos que tenemos el programa ABAP ZPRUEBA_FONDO_B que obtiene los registros de la tabla ZTABLA_USUARIOS y los imprime por pantalla. Ahora crearemos un programa ABAP ZPRUEBA_FONDO el cual cumplirá el rol de programa padre del programa ZPRUEBA_FONDO_B.
Lo primero que debemos hacer es crear un JOB. Para esto le asignamos un nombre a la variable V_JOBNAME y luego ejecutamos la función JOB_OPEN. Para modularizar vamos a crear la subrutina ABRIR_JOB y ahi ingresamos nuestro código.
Lo que sigue es lanzar el Job. Para esto vamos a crear la subrutina LANZAR_JOB, que ejecutará la sentencia SUBMIT, la cual se utiliza para ejecutar un programa dentro de otro programa y con el agregado de la cláusula VIA JOB NUMBER la ejecución del programa se realizará de fondo.
Mediante la sentencia SUBMIT se pueden pasar parámetros al programa llamado, los cuales deben existir en la pantalla de selección de éste.
Con el agregado de la cláusula AND RETURN el programa llamador permanece en espera mientras se ejecuta el programa llamado. Cuando el programa llamado termina, se devuelve el control al programa llamador.
Luego debemos cerrar el JOB mediante la función JOB_CLOSE. Para esto vamos a crear la subrutina CERRAR_JOB.
Por último, después de cerrar el JOB, imprimimos por pantalla el mensaje "Se lanzó el Job, para visualizarlo ir a la Trx SM37".
Ahora vamos a ejecutar Online el programa ZPRUEBA_FONDO presionando F(. Veremos en la pantalla el mensaje "Se lanzó el Job, para visualizarlo ir a la Trx SM37", por lo tanto vamos a ir a buscar el resultado a la transacción SM37. Allí presionamos F8 o Ejecutar.
Utilizaremos la transacción SM37 para visualizar los jobs procesados en el sistema SAP.
De cada job podremos visulizar distintos datos tales como el ID, el susuario SAP que lo ejecutó, el status (planeado, liberado, listo, activo, terminado o cancelado), la fecha y hora de inicio, la duración y el retraso.
Podemos realizar una pantalla de selección donde el usuario elija la forma de ejecución del programa, ya sea Online o en Fondo.
 
 
 
Sobre el autor
Publicación académica de Pedro Alejandro Arroyo Gutierrez, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Alejandro Arroyo Gutierrez
Profesión: Gerente de Sistemas - Mexico - Legajo: MC48F
✒️Autor de: 65 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Pedro Arroyo