
Lección 4.7:
BATCH
Ejecución de Fondo:
Existen 2 formas de ejecución de un programa ABAP:
· ONLINE à Desde el editor (F8) cuyos resultados se producen de manera inmediata. Conveniente donde se requiere interacción con el usuario o el tiempo de ejecución es muy poco)
· BATCH à O de fondo, cuando el tiempo de procesamiento podría ser muy alto ya que tiene muchos accesos a BD enormes con millones de registros, ejecución con múltiples transacciones.
Muy importante realizar el análisis previo al programa ya que una corrección en la etapa de diseño es mucho menos costosa que una ya cuando el programa pasó a una etapa más avanzada y no cumple con los requisitos lógicos pedidos.
Cómo se hace el programa en BATCH:
- Crear un programa padre, que será el "llamador".
- Crear un programa "hijo" que será el llamado que contendrá, por ejemplo, mostrar un listado de un BD.
- Se debe crear un JOB (procesos no interactivos que se ejecutan de fondo), con la llamada a la función JOB_OPEN.
- Crear subrutinas, si se desea, para modularizar el programa:
àUna subrutina que será de ABRIR_JOB, que contendrá el JOB_OPEN.
àOtra subrutina será la de lanzar el job: LANZAR_JOB: que contendrá la sentencia SUBMIT (se utiliza para ejecutar un programa dentro de otro programa y agregando USER, VIA JOB y NUMBER se ejecutará el programa en segundo plano, de fondo, BATCH.
à Al final se le agrega AND RETURN para que el prog llamador permanezca en espera mientras se ejecute el programa llamado. Cuando éste termina, vuelve el control al programa llamador.
à Otra subrutina que será la de cerrar el job CERRAR_JOB que contendrá la función JOB_CLOSE.
Los resultados se visualizarán con la SM37. Visualiza los procesos en el sistema. De cada job se puede visualizar datos como: ID usuario, status (planeado, liberado, listo, activo, terminado o cancelado), la fecha y hora inicio y la duración y retraso
Allí, se ejecuta. Se identifica el proceso, lo tildamos y luego [botón SPOOL]. Ahí se ve el pedido del job correspondiente al programa.
Luego visualizamos y se ve el resultado. (El ej era mostrar un listado de la BD)