🚀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

EJECUCIÓN DE FONDO O PROCESO BATCH:

existen dos formas de ejecutar un programa en ABAP : ONLINE y BATCH. Online el programa se ejecuta al momento de presionar F8 y los resultados de la ejecución se producen de manera inmediata . Esta forma es conveniente para programas donde se requiere la interaccion con el usuario o cuando el tiempo de ejecución es corto.

en otros casos el tiempo de procesamiento de programa podríaser muy alto. Esto puede deberse a que el programa tienen muchos accesos a bases de datos con millones de registros, multiples transacciones, etc.para estos casos es conveniente la ejecución por BATCH o de Fondo.

AUDIO:

Es muy importante analizar previamente a la realizacion de la programación de un requerimiento en ABAP si el programa que debemos realizar se ejecutará en forma online o de fondo (batch) ya que no solo cambiara la forma de ejecucion del programa sino tambien la forma en la que se programa dicho programa. Por ejemplo en ABAP se usa el Batch Input, es decir, una tecnica muy usada para realizar la carga masiva de datos en el sistema.

Si la ejecucion se va a realizar de fondo entonces las sentencias que se usaran no son las mismas que las que se usan para ejecutar el mismo proceso en forma online, otro ejemplo son los reportes en ABAP, si nos piden un reporte que se ejecutara de fondo entonces no tendra sentido usar tecnicas de reporte con la ALV que le brinda al usuario interactuar con herramientas en los distintos listados ya que no podra interactuar con ellas y la programacion cambiara totalmente.

ejemplo

Suponemos que creamos un programa ZPRUEBA_FONDO_B que obtiene los registros de la tabla ZTABLA_USUARIOS y los imprime por pantalla.

este seria el codigo fuente del programa

DATA: ti_usuarios TYPE STANDARD TABLE ztabla_usuarios,

st_usuarios LIKE LINE OF ti_usuarios.

START-OF-SELECTION

SELECT dni nombre_ape estado_usu

FROM ztabla_usuarios

INTO TABLE ti_usuarios

LOOP AT ti_usuarios INTO st_usuarios.

WRITE:/ st_usuarios-dni,

st_usuarios-nombre_ape,

st_usuarios-estado_usu.

ENDLOOP.

Ahora crearemos otro programam padre Z_PRUEBA_FONDO el cual ejecutará el programa ZPRUEBA_FONDO_B.

Lo 1ero que debemos hacer es crear un JOB, le asignamos la variable v_JOBNAME y luego ejecutamos la Funcion standard JOB OPEN. Para Modulizar creamos la subrutina ABRIR_JOB que tendrá el código de esta manera:

FORM abrir_job .

* asignamos un nombre al job

CONCATENATE 'ZPRUEBA_FONDO ' sy-dataum

INTO v_JObname.

CALL FUNCTION 'JOB OPEN'

EXPORTING

JOBNAME = v_jobname

IMPORTING

jobcount = v_jobcount

EXCEPTIONS

cant_create_job = 1

invalid_job_data = 2

jobname_missing = 3

OTHERS = 4 .

IF sy-subrc <> 0

MESSAGE ID sy-msgid TYOE sy-msgty Number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ENDFORM. " Abrir job

Lo que sigue es lanzar el JOB. Para eso se crea la subrutina LANZAR_JOB, que ejecutará la sentencia SUBMIT , la cual se utiliza para ejecutar un programa dentro de otro programa y con el agregado de la clausula VIA JOB NUMBER

En la sentenca SUBMIT se pueden pasar parámetros al programa llamado, los cuales deben existir en la pantalla de selección de este.

* FORm lanzar job

FORM LANZAR_JOB.

* Lanzo el job

SUBMIT zprueba_fondo_b

VIA JOB v_jobname

NUMBER v_jobcount

AND RETURN.

ENDFORM. " Lanzar JOB

Con el agregado del 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.

Luego debemos cerrar el job mediante la Funcion Standar de ABAp JOB CLOSE , creamos la subrutina CERRAR_JOB

* FORm cierro job

FORM cerrar_job.

CALL FUNCTION ´ JOB CLOSE'

EXPORTING

jobcount = v_jobcount

jobname = v_jobname

strtimmed = 'X' "comienza de inmediato

EXCEPTIONS

cant_start_inmediate = 1

invalid_stardate = 2

jobname_missing = 3

job_close_failed = 4

job_nosteps = 5

job_notex = 6

lock_failed = 7

invalid_target = 8

OTHERS = 9.

IF sy-subrc <> 0

MESSAGE ID sy-msgid TYPE sy-msgty Number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ELSE.

WRITE 'Se lanzó el JOb, para visualizarlo ir a la TRx SM37'.

ENDIF.

ENDFORM. " Cerrar JOB

POR ÚLTIMO , Despues de cerrar el JOb ,se imprime por pantalla el mensaje " Se lanzó el job, visualizarlo ir a la TRx SM37"

Ahora se ejecuta ONLINE el programa zprueba_fondo presionando F8. y saldrá el mensaje ye iremos a la TRx SM37

SM37 = Trx Standar para visualizar los jobs procesados en el Sistema SAP.

de cada JOB podemos ver el ID, el usuario que lo ejecutó, el status(planeado, liberado, listo,activo,termnado o cancelado) , la fecha, hora de inicio, duración y el retraso.

Identificamos nuestro job y tildamos el botón SPOOL tildamos de nuevo el job y lo visualizamos.

Los pasos para hacer ejecutar un batch seria:

Pgm padre con subrutinas de :

Subrutina con Función abrir job (JOB_OPEN)

Subrutina: lanzar job a traves de SUBMIT con el programa a recuperar datos que necesitamos , ej, la estructura de usuarios

Subrutina con Función cerrar job (JOB_CLOSE)

Consultar con SM37 el job submitido

AUDIO:

En los casos en que nos pidan un programa ABAP que se ejecute tanto en forma online como de fondo, la mejor solución será desarrollar un único programa ABAP que presente en la pantalla de selección la posibilidad de elegir el modo de procesamiento, para esto colocaremos dos 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 Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Carlos Alberto Carreira

Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G

✒️Autor de: 92 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Inicial

🎓Egresado de los módulos:

Certificación Académica de Carlos Carreira

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