🚀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 Expert


ejecución de fondo: on line: se ejecuta de manera innmediata batch: ejecución de programa de fondo

Acceder a esta publicación

Creado y Compartido por: Edwar Antonio Reyes Reyes / Disponibilidad Laboral: PartTime

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

SAP Senior

FORMAS DE EJECUCIÓN DE UN PROGRAMA ABAP: existen 2 formas de ejecutar un programa Ejecución online: presionando la tecla f8 , los programas se ejecutan de manera online , esta se utiliza con los porgramas que tienen interacción con el usuario y son de ejecución corta. Ejecución batch o de fondo : se utiliza la tecla f9 , cuando los programas son grandes y toman mucho tiempo de ejecución. Para planificar la fecha de inicio existen varias posibilidades: Inmediata Fecha/hora Tras jobs Tras evento La transacción SM37 se utiliza para ver los jobs (programas ejecutados a fondo) procesados en el sistema SP01: administra todas las solicitudes de impresión CREACIÓN...

Acceder a esta publicación

Creado y Compartido por: Valentina Muñoz Medina / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

Las formas de ejecución de un programa ABAP Ejecución online para los programa que interactúa el usuario y tardan poco. Suele ser F8 Ejecución de batch o de fondo cuando el programa tarda mucho. Suele ser F9 Transacción SM37 para visualizar los jobs procesados en SAP Jobs son los programas o procesos ejecutados de fondo en SAP Transacción SP01 para visualizar órdenes de spool La creación de un programa ABAP de fondo Se hará de otra manera si se hace de fondo o no. Por ejemplo, no tendrá interacción con el usuario, sin interfaz Creamos un programa que ejecute el programa de fondo a través un SUBMIT al que se le puede pasar parámetros...

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

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

SAP Senior

LAS FORMAS DE EJECUCIÓN DE UN PROGRAMA ABAP: Tenemos 2 formas de ejecutar un programa en SAP, modo on-line o fondo, la ejecución on-line muestra el resultado del programa de inmediato y el proceso de fondo debemos abrir otra transacción para ver el resultado, estas opciones de encuentran en el misma menú de SAP, PROGRAMA y podemos ejecutar on-line F8 o proceso de fondo F9 (configuración de un job), para visualizar el resultado por este proceso vamos a la tx SE37 donde visualizamos el resultado de los jobs. De este proceso podemos visualizar las solicitudes de impresión, seleccionamos el jobs y pulsamos SPOOL lo cual redireccionará a la tx SP01 donde se administran todas las solitudes de impresión...

Acceder a esta publicación

Creado y Compartido por: Jean Carlos Lopez / Disponibilidad Laboral: FullTime

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

SAP Senior


La Ejecución de Fondo Existen 2 formas en Abap de ejecución la de Fondo y la Online La Online se recomienda o es mejor cuando el procesamiento del programa es poco, así el usuario interactúa tocando algún botón. La ejecución de fondo, no hay interacción con el usuario, hacemos el proceso y sapgui nos devuelve el control, aunque el programa este o no terminado de ejecutarse. Los resultados de esta no se visualizan en pantalla como la online, los resultados se observan en otra transacción de SAP. En Abap según se vaya a programar para que sea online o de fondo el procesamiento se debe tener en cuenta desde el inicio como será ya que la declaración de variables...

Acceder a esta publicación

Creado y Compartido por: Josue Espinoza / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP SemiSenior

7| EJECUCIÓN DE FONDO 2 TIPOS DE EJECUCIÓN DE UN PROGRAMA ABAP: Ejecución online – básica, con F8 Ejecución batch o de fondo Ejecución de un programa sin interacción con el usuario, 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. Procesamiento online en tiempo real - 1 min Procesamiento Batch - 20 min programa > ejecutar en proceso fondo (F9) opciones de inicio: >inmediato: en el momento de acabar su definición >fecha/hora: debemos indicarle día/hora....

Acceder a esta publicación

Creado y Compartido por: Maximiliano Andres Fraga / Disponibilidad Laboral: FullTime

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

SAP Master

EJECUCIÓN DE FONDO. Existen dos formas de ejecutar un programa en ABAP: Online y Batch. Online: El programa se ejecuta al presionar F8, resultado se se producen de manera inmediata. La programación y ejecución de un Batch es totalmente diferente a la de un programa Online. Hay que tener en cuenta cuando nos soliciten 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. que brindan al usuario interactuar con herramientas. DEDICAR ANÁLISIS A LA ETAPA DE DISEÑO.

Acceder a esta publicación

Creado y Compartido por: Walter Giovanny Montoya García

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

SAP Expert


EJECUCION DE FONDO Es importante evaluar el modo de ejecución de los procesos antes incluso de empezar con el desarrollo. Cuando se trate de ejecución de forma que osm resuktados dse obtengan de manera ijnmediata, en programas que requieren interaccion o el tiempo de ejecución es poco, interesa la ejecución Online, pero si hablamos de programas con muchos acceso a BB.DD. muchos registros, o ejecución de multiples transacciones, hablamos de ejecución Batch, para l que es necesario crear un Job, que se lanzará (SUBMIT), ejecutando a su vez nuestro programa. La transacción SM37, será utilzada para visualizar los Jobs procesados en SAP.

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio De Tejada Santiago / Disponibilidad Laboral: FullTime

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

SAP Senior

Batch. Ejecución de Fondo. Dos formas de ejecutar un programa ABAP. - Online. Se ejecuta a nivel de interfaz de usuario. - Batch (fondo). Su ejecución suele estar programada para procesos que se van a ejecutar periódicamente, también es usado para la carga masiva de datos, este tipo de ejecuciones se suelen realizar en fondo ya que si se ejecutan de manera online suelen superar el tiempo de ejecución produciendo un TIME_OUT. Creación de un programa de fondo (batch). Se debe de crear un reporte hijo, a continuación se creará el programa padre, en el que se utilizarán las siguientes funciones. - JOB_OPEN.- Abrira el job. - JOB_CLOSE.- Cerrará el job. Para lanzar el job se...

Acceder a esta publicación

Creado y Compartido por: Carlos Rodriguez Escudero / Disponibilidad Laboral: FullTime

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

SAP Master


BATCH: EJECUCIÓN DE FONDO Un proceso se puede ejecutar Online (al pulsar F8, obteniendo los resultados inmediatamente) o Batch (proceso de fondo, es conveniente lanzar un proceso así cuando es muy largo). Ej/ Tenemos un programa ABAP llamado Z_PRUEBA, crearemos un programa Z_PRUEBA_FONDO que será el programa padre del programa Z_PRUEBA. Para esto en el código del programa Z_PRUEBA_FONDO, llamaremos a la función JOB_OPEN pasando el la variable de salida "jobname" el nombre del programa Z_PRUEBA. Posteriormente usaremos la sentencia SUBMIT (puede tener parámetros) que se usa para ejecutar un programa dentro de otro programa y con la clausula VIA JOB NUMBER la ejecución del programa...

Acceder a esta publicación

Creado y Compartido por: Ignacio Martín Bolumar

 


 

👌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!