🚀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

Background Execution

Programs can be executed in ABAP through the Program menu, either by selecting Execute or Execute in Background. There are two ways to execute a program:

  • Online Execution (F8): The program runs immediately upon pressing F8 or the execute icon, producing results instantly. This method is suitable for user interaction and when program processing is minimal. (1 Minute)
  • Batch Execution (F9): This involves running a process or program without user interaction. A process is launched, and control is returned even before the program finishes execution. This is used for high-processing programs. Results are not visible on the same screen but can be found in transaction SM37. (20 minutes)

When running a background program, a pop-up window for background printing parameters appears. You can modify output devices, Windows printers, etc. Upon execution, the following options are presented:

  • Immediate: Starts the background program as soon as it is defined.
  • Date/Time: Specifies the date and time to initiate background execution, with an option for periodic execution.
  • After job: Chains the execution to start after another job finishes. It's possible to specify that the program should only run if the previous program processed correctly; otherwise, it won't continue.
  • After event: Execution occurs as soon as the specified event starts, either manually or automatically. The event must be defined in table BD.

Transaction SM37

Used to view jobs processed in the SAP system. Information such as ID, executing SAP user, status (planned, released, prepared, activated, completed, or canceled), start date and time, duration, and delay can be viewed for each job.


Transaction SP01

Through the standard transaction SP01, known as "The Spool," we manage all print requests generated in the SAP system. NOTE: Programming a report differs if executed online or in the background, especially when mass loading data into the system.

Creating a Background ABAP Program

When designing and developing an ABAP program that must exclusively run in the background, the approach differs from an online execution due to requirement and system characteristics.

  • The first step is to create a job. Assign a name to the variable V_JOBNAME and then execute the function module JOB_OPEN. To modularize, create the subroutine JOB_CREATION.
  • Next, launch the job. Create the subroutine JOB_EXECUTION, executing the SUBMIT statement. This statement is used to run a program within another program, and with the VIA JOB NUMBER clause, the program runs in the background.
  • Using the SUBMIT statement, parameters can be passed to the called program, which must exist on its selection screen.
  • With the AND RETURN clause in the SUBMIT statement, the calling program remains in wait while the called program executes. Once the called program finishes, control is returned to the calling program.
  • Finally, close the job using the function module JOB_CLOSE. Create the subroutine JOB_END and display the message "Job launched, go to transaction SM37 to view."

Transaction SM36

A job can be created and scheduled with SM36 manually. Steps and configuration can be configured with GUI. Reference: https://www.youtube.com/watch?v=AyFESMyj7O8

E.g

Worker - Actual Logic to be executed

*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_JEGA_13_JOB
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_jega_13_job.

* Declaration of Structure
DATA: it_users TYPE STANDARD TABLE OF zuser_table_jega,
wa_users LIKE LINE OF it_users.

*---------------------------------------------------------------------*
START-OF-SELECTION.
*---------------------------------------------------------------------*
CLEAR it_users.
REFRESH it_users.

SELECT *
FROM zuser_table_jega
INTO TABLE it_users.

LOOP AT it_users INTO wa_users.
* Content of the Users Table
WRITE:/1(1) sy-vline,
2(8) wa_users-dni,
11 sy-vline,
12(30) wa_users-nombre_ape,
43 sy-vline,
44(20) wa_users-estado,
65 sy-vline,
97(20) wa_users-birthdate,
133 sy-vline.
ENDLOOP.

Job Scheduler - Calling the main logic

*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_JEGA_13
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_jega_13.

* Data declaration
DATA: v_jobname TYPE btcjob,
v_jobcount TYPE btcjobcnt.

*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*
* Job schedule
PERFORM job_creation.

* Job execution
PERFORM job_execution.

* Job end
PERFORM job_end.

************************************************************************
********************* SUBROUTINES ***************************************
************************************************************************
*&---------------------------------------------------------------------*
*& Form job_creation
*&---------------------------------------------------------------------*
FORM job_creation.
* Assign job name
CONCATENATE 'ZTEST_JEGA_JOB_' 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 NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.

*&---------------------------------------------------------------------*
*& Form job_execution
*&---------------------------------------------------------------------*
FORM job_execution.
* Launch the worker program Via de new JOB
SUBMIT ztest_abap_jega_13_job
USER sy-uname " Current user - job activarion
VIA JOB v_jobname
NUMBER v_jobcount
AND RETURN.
ENDFORM.

*&---------------------------------------------------------------------*
*& Form job_end
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM job_end.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = v_jobcount
jobname = v_jobname
strtimmed = 'X' "Starts immediately
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 NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
* If Job was launched, view trought SM37
MESSAGE s000(zclase_test_b) WITH TEXT-001 TEXT-002.
ENDIF.
ENDFORM.


 

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 99 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

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