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

BATCH

1 Ejecución de Fondo

Existen dos formas de ejecutar un programa en ABAP: Online y Batch. En la ejecución Online o de Diálogo, 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 los programas donde se requiere interacción con el usuario o cuando el tiempo de ejecución es muy corto.

Pero en ciertos otros casos, especialmente hablando en un ambiente real de trabajo, el tiempo de procesamiento de un programa podría ser muy alto. Esto se puede deber a que el programa tiene muchos accesos a base de datos, que tiene gran cantidad de registros, a la ejecución de múltiples transacciones o a otras varias razones.

Para estos casos mencionados, será conveniente la ejecución Batch o de fondo.

Audio: Es sumamente importante analizar previamente a la realización de la programación de un requermiento en ABAP, si el programa que debemos realizar se ejecutará de forma online o bien de fondo o batch. Esto se debe a que cambiará no solo la forma de ejecución del programa, sino también en la forma en la cual este será programado. Por ejemplo, en ABAP se utilizan los BATCH-INPUT que es una técnica muy utilizada para realizar cargas de datos en el sistema. SI la ejecución se va a realizar en batch o de fondo, entonces las sentencias que se ejecutarán difieren totalmente de las sentencias que serán necesarias para ejecutar el mismo proceso de forma online.

Otro ejemplo de esto son los programas de reportes. 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 reportes como las ALV, las cuales le brindan al usuario la oportunidad de interactuar con las 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 necesario de análisis previo al 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 tras haber realizado y probado el requerimiento.

Vemos paso a paso cómo ejecutar un programa de fondo. Supongamos que tenemos el programa ABAP ZPRUEBA_FONDO_B que obtiene los registros de la tabla ZTABLA_USUARIOS y los imprime por tantalla.

<< imagen 1.1 >>

A continuación creamos un nuevo programa ABAP ZPRUEBA_FONDO el cuál cumplirá el rol de programa padre del programa ZPRUEBA_FONDO_B.

Lo primero que debemos hacer es crear un Job. Para esto le asignamos un nombre a la variable V_JOBNAME y luego ejecutamos la función JOB_OPEN. Para modularizar vamos a crear la subrutina ABRIR_JOB que tendrá el siguiente código:

<< imagen 1.2 >>

Lo siguiente es lanzar el Job. Para esto creamos la subrutina LANZAR_JOB que ejecutará la sentencia SUBMIT, la cual se utiliza para ejecutar un programa dentro de otro progama, y con el agregado de la cláusula VIA JOB NUMBER la ejecución del programa se realizará de fondo:

<< imagen 1.3 >>

Con la cláusula AND RETURN, el programa llamador permanece en espera mientras se ejecuta el programa llamado. Cuando el programa llamado termina, se devuelve el control al programa llamador.

=> Mediante la sentencia SUBMIT se pueden pasar parámetros al programa llamado, los cuáles deben existir en la pantalla de selección de este.

A continuación crear la subrutina CERRAR_JOB, la cual se encargará de cerrar el Job mediante la función JOB_CLOSE:

<< imagen 1.4 >>

Después de cerrar el Job, imprimimos por pantalla el mensaje: "Se lanzó el Job, para visualizarlo ir al a transacción SM37".

Al ejecutar de forma online el programa ZPRUEBA_FONDO, veremos en la pantalla el mensaje que nos indica que se lanzó el job y que lo revisemos en la transacción SM37,

Accedemos por tanto a la transacción SM37, y indicando nuestro usuario y la fecha de lanzamiento del job, pulsamos el botón "Ejecutar".

<< imagen 1.5 >>

La transacción SM37 se utiliza para visualizar los jobs procesados en el sistema SAP. De cada job se pueden visualizar diferentes datos como el ID, el usuario SAP que lo ejecutó, el status (planeado, liberado, listo, activo, terminado o cancelado), la fecha y hora de inicio, la duración y el retraso.

<< imagen 1.6 >>

Localizamos el job que hemos lanzado y pulsamos el botón de SPOOL para ver la salida de nuestro programa:

<< imagen 1.7 >>

Si pulsamos el botón de visualización, veremos el resultado del procesamiento, de forma que nos mostrará la salida generada por el programa, imprimiendo los datos de los usuarios de la tabla ztabla_usuarios.

Nota: En el código de ejemplo de esta unidad, podemos ver como se encadenan las llamadas a las subrutinas y la definición de variables correspondientes.

Audio: Como programadores nos puede suceder que nos soliciten el desarrollo de un programa ABAP que se ejecute tanto de forma oline como de fondo, dependiendo de las necesidades del momendo del usuario. En este caso la solución óptima al requerimiento que nos están solicitando, 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 Radiobuttons, uno para ejecución online y otro para ejecución de fondo, y le permitiremos al usuaurio del programa que elija el modo de procesamiento según sus necesidades.


 

 

 

Favorito:

Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti


Sobre el autor

Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


✒️+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!