✒️ABAP / La ejecución de fondo Por Oscar Rodriguez Villate

Selector Alummnos / Empresas

ABAP La ejecución de fondo

ABAP La ejecución de fondo

BATCH

EJECUCION DE FONDO

Se puede ejecutar un programa en abapa: online y batch

ONLINE : Se ejecuta al presionar f8 y los resultados se producen inmediatamente. Interaccion con el usuario o el tiempo de ejecucion es muy poco.

BATCH: tiempo de procesamiento alto. Tiene muchos accesos a base de datos, multiples transacciones o a otras varias razones.

BATCH INPUT: TECNICA EMPLEADA PARA CARGA MASIVA.

REPORTES EN ABAP : muchas veces se utiliza en batch.

ej:

DATA: TI_USUARIOS TYPE STANDARD TABLE OF 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 vamos a crear el nuevo programa abap ZPRUEBA_FONDO el cual cumplirá el rol de programa padere 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 funcion JOB_OPEN. Para modularizar vamo a crear la subrutina ABRIR_JOB que tendrá el siguiente código.

FORM ABRIR_JOB.

CONCATENATE 'ZPRUEBA_FONDO_' SY-DSTUM

INTO V_JOBNAME.

CALL FUNCTION 'JOB:OPEN'

EXPORTING

JOBNAME = V_JOBNAME

IMPORTING

JOBCOUNT = V_JOBCOUNT

EXCEPTIONS

CANT_CREATR_JOB = 1

INVALID_JOB_DATA = 2

JOBNAME_MISSING = 3

OTHERS = 4.

IF SY-SUBRC <>0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

Lo que sigue es lanzar el job. Para esto vamos a crear la subrutina LANZAR_JOB, que ejecutará la sentencia SUBMIT, la cual se utiliza para ejecutar un programa dentro de otro programa y con el agragado de la clausula VIA JOB NUMBER la ejecucion del programa se realizará a fondo.

Mediante la sentencia SUBMIT se pueden pasar parámetros al programa llamado, los cuales deben existir en la pantalla de selección de éste.

FORM LANZAR_JOB.

SUBMIT ZPRUEBA_FONDO_B

VIAJOB V_JOBNAME

NUMBER V_JOBCOUNT

AND RETURN.

ENDFORM.

Con el agregado de la clausula 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 función JOB_CLOSE. ara esto vamos a crear la subrutina CERRAR_JOB como vemos a continuación.

FORM CERRAR_JOB.

CALL FUNCTION 'JOB_CLOSE'

EXPORTING

JOBCOUNT = V_JOBCOUNT

JOBNAME = V_JOBNAME

STRINMED = 'X'

EXCEPTIONS

CANT_START_INMEDIATE = 1

INVALID_STARDATE = 2

JOBNAME_MISSING = 3

JO_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 LANZO EL JOB, PARA VISUALIZAR IR A LA TRX SM37 ' .

ENDIF.

ENDFORM.

Por último cerramos el job, imprimimos en pantalla el mensaje.

TRANSACCION SM37: Visualizar los jobs procesados en el sistema SAP.

Presionamos el boton SPOOL.

Vemos el pedido del job correspondiente a nuestro programa.

Presionamos el boton de visualización y vemos el resultado del procesamiento.

El programa completo

*&---------------------------------------------------------------------* *& Report zprueba_fondo *& *&---------------------------------------------------------------------* REPORT zprueba_fondo. * Declaración de datos DATA: v_jobname TYPE btcjob, v_jobcount TYPE btcjobcnt. *----------------------------------------------------------------------* START-OF-SELECTION. *----------------------------------------------------------------------* * Apertura del Job PERFORM abrir_job. * Lanzo el Job PERFORM lanzar_job. * Cierro el Job PERFORM cerrar_job. ************************************************************************ ********************* SUBRUTINAS *************************************** ************************************************************************ *&---------------------------------------------------------------------* *& Form abrir_job *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM abrir_job . * Asigamos un nombre al job CONCATENATE 'ZPRUEBA_FONDO_' sy-datum 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 TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM. " abrir_job *&---------------------------------------------------------------------* *& Form lanzar_job *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* form lanzar_job. * Lanzo el Job SUBMIT zprueba_fondo_b USER sy-uname "usuario que ejecuta VIA JOB v_jobname NUMBER v_jobcount AND RETURN. endform. " lanzar_job *&---------------------------------------------------------------------* *& Form cerrar_job *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM cerrar_job. CALL FUNCTION 'JOB_CLOSE' EXPORTING jobcount = v_jobcount jobname = v_jobname strtimmed = 'X' "Comienza de inmediato EXCEPTIONS cant_start_immediate = 1 invalid_startdate = 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 lanzo el Job, para visualizarlo ir a la Trx SM37'. ENDIF. ENDFORM. " cerrar_job *&---------------------------------------------------------------------* *& Report zprueba_fondo_b *& *&---------------------------------------------------------------------* REPORT zprueba_fondo_b. * Declaración de datos DATA: ti_usuarios TYPE STANDARD TABLE OF ztabla_usuarios, st_usuarios LIKE LINE OF ti_usuarios. *---------------------------------------------------------------------* START-OF-SELECTION. *---------------------------------------------------------------------* CLEAR ti_usuarios. REFRESH ti_usuarios. SELECT dni nombre_ape estado_usu FROM ztabla_usuarios INTO CORRESPONDING FIELDS OF TABLE ti_usuarios. LOOP AT ti_usuarios INTO st_usuarios. WRITE:/ st_usuarios-dni, st_usuarios-nombre_ape, st_usuarios-estado_usu. ENDLOOP.


 

Escanear / Compartir

 

 

2 Agradecimientos:

Han agradecido este aporte: William Lemus, Yeffer Sierra Saenz

Favorito:

Está publicación ha sido agregada a sus favoritos por: William Lemus


Sobre el autor

Publicación académica de Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para el Curso SAP ABAP.

SAP Expert


Oscar Guillermo Rodriguez Villate

Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P

✒️Autor de: 103 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Oscar Rodriguez

✒️+Comunidad Académica CVOSOFT

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

SAP Expert


¿Qué es la ejecución de fondo? En ABAP existen dos formas principales de ejecutar un programa. Mientras que la ejecución online (F8) es interactiva y muestra resultados inmediatos en pantalla, la ejecución de fondo (batch) consiste en procesar un programa sin interacción directa con el usuario. Al lanzar un proceso de fondo, el sistema devuelve el control al usuario inmediatamente, permitiéndole seguir trabajando mientras el programa se ejecuta "detrás de escena". Se utiliza principalmente cuando el tiempo de procesamiento es muy alto o cuando el programa debe acceder a millones de registros en la base de datos. Cómo ejecutar en fondo (Usuario) Para ejecutar un programa...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

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

SAP Master


Las formas de ejecución de un Programa ABAP Se explican las dos formas principales de ejecutar un programa ABAP: ejecución online y ejecución batch (de fondo). Ejecución online: el programa se ejecuta al presionar F8 o el ícono de Ejecutar, los resultados se muestran de inmediato o modifican tablas en SAP. Es adecuada para programas que requieren interacción rápida con el usuario o cuando el tiempo de procesamiento es bajo. Ejecución batch (de fondo): se ejecuta sin interacción del usuario, lanzando el proceso y devolviendo el control al usuario mientras el programa sigue ejecutándose. Es recomendable para cómputos pesados, acceso a tablas con...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Senior

1. Formas de ejecución de un programa ABAP En SAP, un programa ABAP puede ejecutarse de dos maneras principales: a) Ejecución Online (Interactiva) • El programa se ejecuta mientras el usuario está conectado y activo en el sistema. • El usuario ingresa datos a través de pantallas o parámetros de selección. • El programa procesa los datos y muestra los resultados directamente en pantalla. • Es una ejecución síncrona: el usuario debe esperar a que el programa termine para continuar. • Usualmente se usa para tareas cortas o que requieren interacción inmediata, como consultas, mantenimiento de datos, o transacciones. ⸻ b) Ejecución Batch...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

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

SAP Master

Introducción: Los programas ABAP pueden ejecutarse de forma online (interactiva, con salida inmediata) o en fondo (asíncrona, ideal para procesos largos). ¡Domina ambas modalidades para optimizar rendimiento y experiencia de usuario! Comparativo: Online vs. Fondo Característica Ejecución Online Ejecución en Fondo Interacción (Usuario presente) (Sin intervención) Tiempo límite ~30 minutos (default) Sin límite Resultados Pantalla inmediata Spool (SM37/SP01)...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

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

SAP Expert


La ejecucion de fondo 1 Las formas de ejecución de un programa ABAP En ABAP existen dos formas principales de ejecutar un programa: Ejecución online: Se realiza al presionar la tecla F8 o hacer clic en el botón de ejecutar. Es útil cuando se requiere interacción con el usuario, ya que permite introducir datos en pantalla y ver los resultados de inmediato. Adecuada para programas con bajo tiempo de procesamiento. Ejecución batch o de fondo: Se activa presionando F9. Se utiliza cuando el tiempo de procesamiento es alto, como por ejemplo al trabajar...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

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

SAP Expert



1. ¿Qué es la Ejecución de Fondo en SAP? En términos simples, la ejecución de fondo (también conocida como background processing) permite que un programa, reporte o transacción se ejecute automáticamente en segundo plano, en lugar de hacerlo en primer plano (es decir, con el usuario esperando frente al sistema). Es una forma de realizar tareas sin necesidad de interacción humana directa durante la ejecución. Por ejemplo, en vez de ejecutar un reporte extenso que tarda 30 minutos y tener que esperar, se puede programar para que se ejecute en la madrugada y los resultados estén listos al día siguiente. 2. ¿Por Qué es Importante la Ejecución...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

La ejecución de fondo 1. Las formas de ejecución de un programa ABAP En ABAP existen 2 formas de ejecutar un programa > Ejecución online: En donde el programa se ejecuta al momento de presionar la tecla F8 o en el ícono de ejecutar y los resultados de la ejecución se producen de manera inmediata, ya sea mostrándonos por pantalla o modificando las tablas bases de datos SAP. > Ejecución batch o de fondo: Consiste en la ejecución de un proceso 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...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

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

SAP Junior

LA EJECUCIÓN DE FONDO En ABAP existen dos formas de ejecutar un programa: Ejecución On-Line: 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 de bases de datos de SAP. La ejecución On-Line es conveniente para los programas en donde se requiere interacción con el usuario, es decir, para poder continuar con el procesamiento del programa se espera que el usuario presione una tecla o haga click en un botón. También es adecuada su utilización cuando el procesamiento del programa es poco. Ejecución Batch o de Fondo:...

Acceder a esta publicación

Creado y Compartido por: Carvajal Encina Franco Erasmo / Disponibilidad Laboral: FullTime

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

SAP Senior

Las formas de ejecucion de un programa ABAP Existen dos formas de ejecutar: Ejecucion online: el programa se ejecuta al momento de presionar F8 o el icono ejecutar y los resultados se muestran inmediatamente, ya sea por pantalla o modificando las tablas de database. Este tipo es conveniente cuando se requiere interaccion con un usuario, osea cuando se espera que este haga algo para seguir con el procesamiento. INFORMACION > SISTEMA Ejecucion batch o de fondo: el programa o proceso no tienen interaccion con el usuario, osea que se lanza el proceso y SAP GUI nos devuelve el control, aunque el prograna no acabe de ejecutarse. Este tipo se usa cuando el tiempo de procesamiento del programa es muy alto, ya sea por que tiene muchos accesos...

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Las formas de ejecucion de un programa ABAP. Existen dos formas de ejecutar un programa ABAP Ejecucion Online: Es el modo de ejecución en donde el procesamiento del programa se realiza inmediatamente después de la ejecución del mismo por parte del usuario. Se utiliza para los programas que tienen poca carga de procesamiento o aquellos que requieren interacción con el usuario. 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 los programas donde se requiere interacción con el usuario o cuando el tiempo de ejecución es muy poco. Pero en ciertos...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.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!