![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP La ejecución de fondo
ABAP La ejecución de fondo
![ABAP La ejecución de fondo ABAP La ejecución de fondo](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/25.jpg)
EJECUCIÓN DE FONDO.
Existen dos formas de ejecutar un programa en ABAP:
ONLINE Y BATCH
ONLINE: En esta ejecución el programa se ejecuta al momento de presionar F8 y los resultados se producen de manera inmediata. sin embargo en algunos casos, ya sea en un ambiente de trabajo, el tiempo de procesamiento es muy alto debido a que el programa tiene muchos accesos a B.D. y a millones de registros y a la ejecución de múltiples transacciones.
En este caso es conveniente la ejecución BATCH o de fondo.
AUDIO: Es sumamente importante analizar previamente a la realización de la programación de un requerimiento en ABAP si el programa que debemos realizará se ejecurará en forma ONLINE o de fondo o Batch. Esto se debe a que cambiará no solo la forma de ejecución del programa sino también la forma en la que se programa dicho programa. Por ejemplo en ABAP se utiliza lo que se conoce como Batch Input, es decir, es una técnica empleada muy conmunmente para realizar la carga masiva de los datos en los sistemas. Si la ejecución se va a realizar en forma Batch o de fondo, entonces las sentencias que se utilizarán, difieren totalmente a las que se utilizan para ejecutar el mismo proceso en forma ONLINE. Otro ejemplo de esto son los programas llamados REPORTES en ABAP. Si nos solicitan crear un reporte que se ejecutará de fondo o Batch entonces debemos tener en cuenta que no tiene sentido utilizar técnicas de reporte como el ALV las cuales le brindan al usuario la posibilidad de interactuar con la herramienta en los distintos listados, ya que no podrá interactuar con ellas por lo tanto la programación cambiará totalmente. Como consejo es muy recomendable el tiempo suficiente al análisis previo del programa que nos solicitan realizar ya que una corrección en la etapa de diseño es muchísimo menos costosa que una corrección luego de realizado y probado el requerimiento.
COMO EJECUTAR UN PROGRAMA DE FONDO
Supongamos que tenemos el programa ABAP ZPRUEBA_FONDO_B con los registros de la tabla ZTABLA_USUARIOS, y los imprime por pantalla.
Vamo sa crear el nuevo programa ABAP APRUEBA_FONDO cumpliento como programa padre del programa ZPRUEBA_FONDO_B
- PRIMERO: Debemos crear un JOB. Un JOB es un proceso en SAP que se ejecuta de fondo y su resultado se visualiza a traves de la transacción SM37
- Asignamos la variable V_JOBNAME
- Ejecutamos la función JOB_OPEN (Módulo de función para la apertura de JOBs)
- Para modularizar debemos crear la subrutina ABRIR_JOB con el codigo
- SEGUNDO: Debemos lanzar el JOB.
- Crear la subrutina LANZAR_JOB
- Ejecutar la sentencia SUBMIT (se utiliza para la ejecución de un programa dentro de otro programa) con el agregado de la cláusula VIA JOB NUMBER.
- SUBMIT: Sentencia sonde se pueden pasar parámetros al programa llamado, los cuales deben existir en la pantalla de selección.
- Con el agregado de la cláusula AND RETUNR el programa llamador permanece en espera hasta ser llamado.
- TERCERO: Debemos cerrar el JOB.
- Con la función JOB_CLOSE (Módulo de función que se utiliza para realizar el cierre de los JOBs).
- Crear la subrutina CERRAR_JOB
- Por ultimo imprimir por pantalla el mensaje "Se lanzo el Job, para visualizarlo ir a la Trx SM37".
- AHORA EJECUTAMOS DE MANERA ONLINE el programa ZPRUEBA_FONDO y presionamos F8.
- Buscamos el resultado en la transacción y presionamos F8 / EJECUTAR.
TRANSACCIÓN SM37 para visualizar los jobs, De cada job podemos visualizar datos tales como ID, usuario que lo ejecutó, status (planeado, liberado, listo, activo, terminado o cancelado), fecha y hora de inicio, duración y el retraso.
- Identificamos el proceso, lo tildamos y presionamos el botón Spool.
- Finalmente presionamos el botón de visualización (lentillas).
AUDIO: Como programadores nos puede suceder que nos soliciten desarrollo de un programa ABAP que se ejecute tanto en forma ONLINE como de fondo dependiendo de las necesidades del momento del usuario en este caso, la solución óptima del requerimiento que nos están realizando será desarrollar un único programa ABAP que presente en la pantalla de selección la posibilidad de elegir el modo de procesamiento es decir, colocaremos dos radio buttons, uno para ejecución ONLINE y otro para ejecución de fondo y le permitiremos al usuario del programa que elija el modo de procesamiento según sus necesidades.
 
 
 
Sobre el autor
Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para la Carrera Consultor ABAP.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez