✒️ABAP La ejecución de fondo
ABAP La ejecución de fondo
5.- 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.
En un ambiente real de trabajo, el tiempo de procesamiento de un programa podría ser muy alto. Esto se puede deber a que el programa tiene muchos accesos a base de datos, que tienen millones de registros, a la ejecución de múltiples transacciones o a otras varias razones es conveniente la ejecución Batch o de fondo. Ejemplo paso a paso de como ejecutar un programa de fondo.
El programa ABAPZPRUEBA_FONDO_B obtiene los registros de la tabla ZTABLA_USUARIOS y los imprime por pantalla.
Crear el nuevo programa ABAPZPRUEBA_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 con el siguiente 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 sirve 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.
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 se debe cerrar el JOB con la función JOB_CLOSE. Para ello 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".
Ejecutar Online el programa ZPRUEBA_FONDO presionando F8. 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.
Identificamos nuestro proceso, lo tildamos y presionamos el botón Spool.
Ahora vemos el pedido del Job correspondiente a nuestro programa.
Presionamos el botón de visualización y vemos el resultado del procesamiento.
 
 
 
Sobre el autor
Publicación académica de Pablo Galeana, en su ámbito de estudios para la Carrera Consultor ABAP.
Pablo Galeana
Profesión: Java-oracle-linux - Mexico - Legajo: XR73U
✒️Autor de: 57 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Pablo Galeana