🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP La ejecución de fondo

ABAP La ejecución de fondo

ABAP La ejecución de fondo1 | Las Formas de Ejecución de un Programa ABAP

En ABAP existen dos formas de ejecutar un programa:

  1. 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 que para poder continuar con el procesamiento del programa se espera que el usuario presione una tabla o haga clic en el botón. También es adecuada su utilización cuando el tiempo de procesamiento del programa es poco.
  2. Ejecución batch o de fondo: consiste en la ejecución de un procesos 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 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

Veamos un ejemplo para analizar las dos formas de ejecución disponibles en ABAP:

Tenemos el programa ABAP ZTEST_ONLINE el cual imprime por pantalla el registro de la tabla base de datos de usuarios ZTABLA_USUARIOS, cuyo DNI se introduzca en el select-options del campo DNI de la pantalla de selección del programa.

Para ejecutar el programa presionamos la tecla F8 o hacemos clic en el icono ejecutar.

A continuación vamos a visualizar la pantalla de selección del programa ZTEST_ONLINE en ejecución y lista para que introduzcamos valores en el campo DNI y ejecutemos, tal como hacíamos hasta ahora con los programas con los que veníamos trabajando..

Si vamos al menú Programa vamos a ver que tenemos dos formas diferentes de ejecutar el programa, la primera de forma online presionando F8 o el botón ejecutar de la barra de herramientas del programa y la segunda de fondo presionando F9 del teclado..

Si ejecutamos de forma online el programa, presionando la tecla F8, entonces vamos a visualizar el resultado de la ejecución del programa en pantalla.

Si ejecutamos de de fondo o batch el programa, presionando la tecla F9, entonces vamos a visualizar la ventana de diálogo de parámetros para impresión de fondo, en donde podemos modificar distintos parámetros de la salida como ser el dispositivo de salida, la impresora de Windows, la cantidad de impresiones, entre otras configuraciones posibles más. .

Vamos a hacer clic en el botón de la tilde verde para continuar y en la siguiente pantalla vamos a ver que podemos planificar la fecha de inicio de la ejecución del programa de fondo.

Analicemos cada una de las opciones de inicio:

  • Inmediato: como su nombre lo indica, 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 queramos que comience la ejecución de fondo. Además, podemos marcar la ejecución como periódica, es decir, que se repetirá su ejecución cada cierto período de 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 podemos provocar manualmente. Previamente, el evento debe estar definido en la correspondiente tabla base de datos. SAP viene con una serie de eventos predefinidos como pueden ser, el arranque o parada de las instancias, el cambio de modo de operación de nocturno a diurno, etc.

Vamos a seleccionar la opción inmediato ya que deseamos que la ejecución comience inmediatamente y luego hacemos clic en el botón grabar.

A continuación vamos a visualizar en la barra de estado el mensaje Previsión de job creada para el programa ZTEST_ONLINE.

Ahora bien, vamos a ir a buscar el resultado de la ejecución de fondo del programa ZTEST_ONLINE a la transacción estándar SM37.

Transacción SM37: Utilizaremos para visualizar los Jobs procesados en el sistema SAP. De cada Job podremos visualizar distintos datos tales como el ID, el usuario de SAP que lo ejecutó, el status (previsto, liberado, preparado, activo, terminado o cancelado), la fecha y hora de inicio, la depuración y el retraso.

Jobs: son los programas o procesos ejecutados de fondo en el sistema SAP.

Vamos a dejar los campos de la pantalla inicial de la transacción SM37 cargados tal como vienen por defecto y ejecutamos la transacción haciendo clic en el botón ejecutar o presionando la tecla F8.

A continuación hacemos clic en SPOOL para visualizar la salida de ejecución de fondo.

Ahora pasamos automáticamente a la transacción estándar SP01. Debido a que el proceso de fondo que ejecutamos genera una salida por pantalla entonces visualizamos el icono de la Lista ABAP. Vamos a hacer clic en este icono para visualizar la salida por pantalla del programa.

Transacción SP01: Conocida como "El Spool" administraremos todas las solicitudes de impresión que se generan en el sistema SAP.

Y finalmente visualizamos la salida por pantalla de la ejecución de fondo del programa ZTEST_ONLINE.

AUDIO ACLARATIVO: 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 ejecutarán en forma online o de fondo o batch. Esto se debe a que cambiara 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 comúnmente para realizar la carga masiva de los datos en el sistema, si la ejecución se va a realizar en forma bach o de fondo entonces la sentencia 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 ALV, las cuales le brindan al usuario la posibilidad de interactuar con herramientas en los distintos listados, ya que no podrá interactuar con ellas por lo tanto la programación cambiará totalmente, como consejo es muy recomendable dedicarle el tiempo suficiente el 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.

2 | La Creación de un Programa ABAP de Fondo

Tal como vimos anteriormente un programa ABAP puede ejecutarse de forma online o de fondo.

Ahora bien, si sabemos desde el momento en el que se solicita la creación de un programa ABAP nuevo, que debido a las características del requerimiento del sistema, el programa debe ejecutarse exclusivamente de fondo, entonces el diseño y el desarrollo del programa será completamente diferente a que si dicho programa se ejecuta de forma online.

Vamos a tomar como ejemplo el programa ABAP ZTEST_ONLINE con el que trabajamos anteriormente y vamos a redefinir el programa pensando en cómo lo hubiéramos codificado si hubiésemos sabido de antemano que el mismo se iba a ejecutar exclusivamente de fondo.

Para ello vamos a crear el programa ZTEST_FONDO_B el cual obtiene los registros de la tabla base de datos ZTABLA_USUARIOS y los imprime por pantalla.

Ahora vamos a crear el nuevo programa ABAP ZTEST_FONDO el cual cumplirá el rol de programa padre del programa ZTEST_FONDO_B es decir que primero se va a ejecutar el programa ZTEST_FONDO y luego este llamará a la ejecución del programa ZTEST_FONDO_B.

AUDIO ACLARATIVO: Cómo programadores, nos puede suceder que nos soliciten el 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 al requerimiento que nos están realizando, será desarrollar un único programaba ABAP que nos presente en la pantalla de selección la posibilidad de elegir el modo de procesamiento, es decir colocaremos 2 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 Pedro Antonio Duarte, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master


Pedro Antonio Duarte

Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O

✒️Autor de: 128 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Pedro Duarte

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La ejecución de fondo" de la mano de nuestros alumnos.

SAP Senior

Tipos de ejecución de programas en ABAP: es importante conocer el tipo de ejcución requerida antes de programar, ya que esta condiciona la programación misma. 1. On-line: con F8 2. BATCH o de fondo: se realiza mediante la creación y ejecución de JOBS que son uno o más programas que se lanzan consecutivamente en proceso de fondo.

Acceder a esta publicación

Creado y Compartido por: Pedro Ernesto Maldonado

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

ejecución de fondo: existen dos casos, ejecución al momento de presionar F8, esto genera resultados de manera inmediata, es conveniente en programas que interactuan con el usuario. Pero en otros casos, el tiempo d ejecución del programa puede ser muy alto, esto por solicitudes a base de datos, por estar procesando millones de registros entre otras,para estos casos se utiliza la ejecucion batch o de fondo. Mediante la sentencia submit, se le puede pasar datos a otro programa siempre y cando existan en este.

Acceder a esta publicación

Creado y Compartido por: Christian Camilo Alzate Duque

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

EJECUCIÓN EN FONDO. Existen dos formas de ejecutar un programa ABAP: 1- En linea el programa se ejecuta tan pronto como el usuario hace clic sobre el icono ejecutar y los resultados son visualizados de inmediato en pantalla. 2- En Proceso de fondo se planifica cuando se va a realizar la ejecución de programa se utiliza esta opción cuando el tiempo de ejecución es muy alto esto se puede deber a varias razones. JOB: Es un conjunto de uno o más programas ABAP que se lanzan consecutivamente en proceso de fondo. JOB_OPEN: Módulo de función estándar ABAP que se utiliza para la apertura de jobs. SUBMIT: Sentencia ABAP que se utiliza para la ejecución de programas ABAP. AND RETURN: Esta...

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Unidad 4 - Ejecución de Fondo Existen dos formas de ejecutar un programa en ABAP. Online y Batch En la ejecucion online al momento de presionar f8 el resultado es en forma inmediata. Normalmente utilizada para los programas que requiere interaccion con el usuario. Pero cuando en un programa el procesamiento puede ser muy alto, cuando tienen muchos accesos a base de datos que tienen millones de registros, multiples txs o varias razones. Es conveniente utilizar la ejecuion Bacth o de fondo. la programacion cambia cuando es un programa es de fondo o online. Las sentencias difieren. Los reporte de fondo, no tienen sentido utilizar tecnicas de reporte tipo ALV. Se puede pedir que un programa se pueda correr de fondo y on line. Para eso...

Acceder a esta publicación

Creado y Compartido por: Matias Ciutat

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


1) Ejecución de fondo Existen 2 formas de ejecutar un programa en Abap: Online - La ejecución se obtiene de una manera inmediata, sirve para programas que interactuan con el usuario. Batch - Se ejecuta en proceso de fondo, muy útiles cuando accesan varias tablas muy grandes de la BD. Para crear un programa que se ejecute en proceso de fondo: Se debe crear un JOB con la función JOB_OPEN Después es lanzar el JOB , la cual la realizaremos con la sentencia SUBMIT con el agregado VIA JOB NUMBER SUBMIT aprueba_fondo_b VIA JOB v_jobname NUMBER v_jobcount AND RETURN. 3. Ahora cerrar el job con la función...

Acceder a esta publicación

Creado y Compartido por: Maria Guadalupe Gonzalez Sanchez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Ejecución de fondo Existen 2 formas de ejecutar un programa ABAP: Online: El programa se ejecuta al momento de presionar F8. Batch (de Fondo): También se le conoce como procesamiento por lotes, la ejecución se realiza de fondo, es decir, sin iteracción con el usuario, y su ejecución se planifica o se somete por lotes. Sentencia SUBMIT: Mediante esta sentencia se pueden pasar parámetros al programa llamado, los cuales deben existir en la pantalla de selección de éste. Con el agregado AND RETURN, el programa llamador permanece en espera mientras se ejecuta el programa llamado y cuando termina le devuelve el control al llamador. Transacción SM37: Sirve para visualizar...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

- Batch - Ejecución de Fondo Formas de ejecutar un programa en ABAP: Online: El programa se ejecuta al momento de presionar F8 y los resultados de la ejecución se producen de manera inmediata. Esta ejecución es recomendada para programas que requieren interacción con el usuario o cuando el tiempo de ejecución es muy poco. Batch o de fondo: Esta ejecución se utiliza cuando el tiempo de procesamiento de un programa es muy alto. Estas dos ejecuciones no solo varían en el tiempo de ejecución si no también en la forma de ejecutarse y en el forma en la que se programa. Paso a paso de como ejecutar un programa de fondo: Debemos crear un Job (uno o más programas que se lanzan en...

Acceder a esta publicación

Creado y Compartido por: Sandra Erika Bernabe Abreu

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


EJECUCION DE FONDO Dos formas de ejecutar un programa ONLINE, al presionar F8 y los resultados de la ejecución se producen de manera inmediata, es conveniente cuando hay interacción con el usuario o el tiempo de ejecución es muy poco BATCH, el programa tiene muchos accesos a bases de datos, que tiene millones de registros, a la ejecución de múltiples transacciones. JOB: Conjunto de uno o más programas que se lanzan consecutivamente en proceso de fondo La sentencia SUBMIT se puede pasar parámetros al programa llamado, los cuales deben de existir en la pantalla de selección de este. SM37 para visualizar los Job procesados en el sistema SAP, de cada Job podremos visualizar distintos datos...

Acceder a esta publicación

Creado y Compartido por: David De Jesùs Restrepo Cañas

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

La utilización de llamados a programas de fondo a través de la clausula SUBMIT, establece reglas de programacion claras a la hora de ejecutar un programa de fondo o batch

Acceder a esta publicación

Creado y Compartido por: Luis Enrique Quintero Florido

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Ejecución de Fondo Existen dos formas de ejecutar un programa 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 programas donde se requiera interacción con el usuario o cuando el tiempo de ejecución es muy corto. Pero en ciertos casos el tiempo de procesamiento de un programa podría ser muy extenso. Esto puede deberse a muchos accesos a BD, que tienen millones de registros, a la ejecución de múltiples transacciones o a otras razones. Para estos casos es conveniente utilizar la ejecución Batch o de fondo. En ABAP se utiliza...

Acceder a esta publicación

Creado y Compartido por: Miguel Mauricio Sierra Cardona

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!