✒️ABAP La ejecución de fondo
ABAP La ejecución de fondo
Apuntes ING Ezequiel Hurtado Benitez
Métodos de Ejecución de un programa ABAP.
Ejecución online: en donde el programa se ejecuta al momento de presionar la tecla F8 o el icono de ejecutar y los resultados de la ejecución se producen de manera inmediata, ya sea mostrándolos por pantalla o modificando las tablas bases de datos de SAP. La ejecución online es conveniente para los programas en donde se requiere interacción con el usuario, es decir para poder continuar con el procesamiento del programa se espera que el usuario presione una tecla o clic en un botón. También es adecuada su utilización cuando el tiempo de procesamiento del programa es poco.
Ejecución batch o de fondo: consiste en la ejecución de un proceso o programa sin interacción con el usuario, es decir, que lanzamos el proceso y el SAP GUI nos devuelve el control, aunque el programa todavía no ha acabado de ejecutarse. Se utiliza cuando el tiempo de procesamiento de un programa es muy alto. Esto se puede deber a que el programa tiene muchos accesos a las tablas de la base de datos, que tienen millones de registros, a la ejecución de múltiples transacciones o a otras varias razones. Los resultados de la ejecución de fondo de un programa ABAP no se visualizan en la misma pantalla de ejecución del programa tal como sucede en la ejecución online, sino que debemos ir a buscar los resultados de la ejecución a otra transacción de SAP tal como vamos a ver en detalle a continuación.
Opciones de Inicio de las ejecuciones: Inmediato: nos permite iniciar el programa de fondo en el momento de acabar su definición; Fecha/Hora: deberemos indicarle un día y una hora en la que queremos que comience la ejecución de fondo. A demás, podemos marcar la ejecución como periódica, es decir, que se repetirá su ejecución cada cierto tiempo; Tras job: con esta indicación de comienzo podemos encadenar la ejecución de un programa de fondo con otro, es decir, indicaremos al proceso B que empiece a ejecutarse cuando finalice el proceso A. También podemos especificar que sólo comience cuando la finalización del proceso A sea correcta, en caso de que el proceso A haya sido cancelado en mitad de su ejecución el proceso B no se ejecutará; Tras evento: la ejecución comenzará cuando se produzca en el sistema el evento que le indiquemos. Un evento es un suceso que se produce automáticamente en el sistema SAP o que podamos provocar manualmente. Previamente el evento debe estar definido en la correspondiente tabla base de datos. SAP viene con una serie de eventos predeterminados como puede ser, el arranque o parada de las instancias, el cambio de moso de operación de nocturno a diurno, etc.
SM37: permite visualizar los JOBs procesados en el sistema SAP. De cada JOB podremos visualizar distintos datos tales como el ID, el usuario SAP que lo ejecutó, el status (previsto, liberado, preparado, activo, terminado o cancelado), la fecha y hora de inicio, la duración y el retraso.
JOB's: Son los programas o procesos ejecutados de fondo en el sistema SAP.
SP01: También conocida como "El Sloop" administramos todas las solicitudes de impresión que se generen en el sistema SAP.
La creación de un programa ABAP de fondo, Creamos un registro ZTEST_FONDO_B, el cual obtiene los registros de la tabla base de datos ZTABLA_USUARIOS y los imprime por pantalla. Ahora creamos ZTEST_FONDO el cual cumplirá el rol padre del programa ZTEST_FONDO_B, es decir primero se va a ejecutar el programa ZTEST_FONDO y luego este llamará a la ejecución del programa ZTEST_FONDO_B. a continuación se lanza el JOB. Para esto vamos a crear la subrutina LANZAR_JOB que ejecutará la sentencia SUBMIT, la cual será utilizada para ejecutar un programa dentro de otro y con el agregado de la cláusula VIA JOB NUMBER la ejecución del programa se realizara de fondo.
Mediante SUBMIT se pueden pasar parámetros al programa llamado, los cuales deben existir en la pantalla de selección de éste. Para más información usar la ayuda F1.
Con el agregado de la cláusula AND RETURN en la sentencia SUBMIT, el programa llamador permanece en espera mientras se ejecuta el programa llamado. Cuando el programa llamado termina, se devuelve el control al programa llamado. Finalmente cerramos el JOB mediante el módulo de funciones JOB_CLOSE. Para esto vamos a crear la subrutina CERRAR_JOB y por ultimo mostramos el mensaje "se lanzó el Job, para visualizarlo ir a la Trx SM37".
 
 
 
Sobre el autor
Publicación académica de Ezequiel Hurtado Benitez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ezequiel Hurtado Benitez
Profesión: Ingeniero Mecatrónico - Colombia - Legajo: FD18B
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero mecatrónico bilingüe con maestría en dirección de ventas y marketing empresarial, con conocimientos y experiencia en programación, diseño, elaboración y pruebas en proyectos de automatizació
Certificación Académica de Ezequiel Hurtado