🚀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

Resumen

Unidad 4 leccion 7

La Ejecucion de fondo

1- Las formas de ejecución de un programa ABAP.

Existen dos formas de ejecutar un programa

  • Ejecucion en linea (online) => con la techa F8 o el icono de ejecutar => los resultados son de manera inmediata, ya sea x pantalla o modificando tablas DB. La ejecución online es conveniente xa los prog en donde se requiere interacion con el usuario => presione techa => a tiempo de procesamiento es poco
  • Ejecucipon en batch o de Fondo: Ejecucion de un proceso o programa sin interacion con el usuario, es decir q lanzamos el proceso y el SAP GUI nos devuelve el control, aunq el programa todavia no ha acabdo de ejecutarse => tiempo de procesamiento es muy alto => muchos acceso a tablas => tiene millones de registros => de multiples TXs, entre otros. Los resultados no se visualizan x pantalla => buscar el resultado en otra TX

Dos formas de ejecucion

= programa ZTEST_ONLINE, imprime x pantalla un registro de tabla DB. => x pantalla

si vamos al menu programas vemos dos formas de ejecutar el prograam.

1ro- Online F8 o botón ejecutar => x pantalla

2do- De fondo presiondando F9

Si ejecutamos de fondo o batch F9 => ventana de diálogo de parámetros xa impresion de fondo donde podemos modificar distintos parámetros de salida => Dispositivo de salida

=> impresion de windows

=> Cantidades de impresiones

entre otras

Planificar la fecha de inicio

Inmediato Fecha /hora tras job tras evento En forma operac.

Analicemos

Inmediato: Permite iniciar de inmediato en el momento de acabar su definición.

Fecha/hora: debemos indicar le día y la hora => comience la ejecución de fondo => se puede periodica/.

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 q empiece a ejecutarse cuando finalice el proceso A. También podemos especificar q solo comience cuando la finalización del proceso A. sea correcta, en caso q el proceso A haya sido cancelado en mitad su ejecución el proceso B. no se efectuará.

Tras evento: La ejecución comenzará cuando se produzca en el sist el evento q le indiquemos. El evento debe estar definido en tabla DB SAP viene con una serie de eventos predefinidos arranque o parada de las instancias. El cambio de modo de operacion de nocturno a diurno, entre otros

Volvamos a la opción INMEDIATO el nombre lo dice todo y luego grabar.

Visualizamos => barra de estado el mensaje: Previsión de job creada xa el programa ZTEST_ONLINE

El resultado los buscamosen la TX SM37 jobs procesados se puede ver => ID

=> El usuario q lo ejecuto

=> el status (previsto, liberado, preparado, activo, terminado o cancelado)

=> Fecha y hora inicio

=> la duracion

=> El retraso

Jobs: Son procesos y programas ejecutados de fondo en el sist.

vamos a dejar los campos de pantalla inicial de la TX SM37 cargados x defecto y ejecutamos F8.

A continuación vamos a visualizar la ejecución del programa ztest_online, la cual se encuentra con status terminado, la tildamos y hacemos clic SPOOL xa visualizar la salida de la ejecución de fondo.

Ahora pasamos automática/ a la TX estándar SP01 debido a q el proceso de fondo q ejecutamos genera una salida x pantalla entonces visualizados el icono de la lista ABAP => clic

TX SP01 => conocida como SPOOL => administraremos todas las solicitudes de impresión q se generen en el sist.

2- La creación de un programa ABAP de fondo.

Tal como se vio anterior/ puede ejecutarse online o de fondo => con el requerimiento inicial se sabe q se debe desarrollar el prog de fondo y no en linea.

Ej: ztest_online => vamos a redefinir x q se hizo online y ahora se debe hacer xa ejecutar de fondo

xa ello creamos el ztest_fondo_B, el cual obtiene los registros de la tabla DB ztabla_usuarios y los imprime por pantalla.

REPORT ztest_fondo_B

DATA: ti_usuarios TYPE STANDARD TABLE OF ztablas_usuarios,

wa_usuarios LIKE LINE OF ti_usuarios.

START-OF-SELECTION.

REFRESH ti_usuarios.

SELECT dni nombre_ape estado_usu

FROM ztabla_usuarios

INTO CORRESPONDING FIELDS OF TABLE ti_usuarios

IF sy-subrc EQ 0.

LOOP AT ti_usuarios INTO wa_usarios

write:/ wa_usuarios-dni, wa_usuarios-nombre_ape wa_usuarios-estado_usu

ENDLOOP.

ENDIF.

Ahora vamos a crear el nuevo prog ABAP ztest_fondo el cual cumplira el rol de prog, padre de prog ztest_fondo_B.

primero q se ejecuta es el ztest_fondo y luego ztest_fondo_B

creamos prog ztest_fondo.

REPORT ztest_fondo

DATA: v_jobname TYPE btcjob,

v_jobcount TYPE btcjobcnt.

START-OF-SELECTION.

" apertura del job

PERFORM abrir_job.

" lanzamiento del job

PERFORM lanzar_job.

" cerramos el job

PERFORMA cerrar_job.

Analizamos c7u de las subrutinas

  1. Crea un job => le asignamos nombre => V_JOBNAME y luego ejecutamos el modulo de funciones JOH_OPEN. xa modularizar creamos la subrutina abrir_job => el codigo es:

FORM abrir_job.

" asignamos un nombre al job.

CONCATENATE 'ztest_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 NE 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4

ENDIF.

ENDFORM.

Lo q sigue => lanzar el JOB crear la subrutina LANZAR JOB q ejecutara la sentencia SUBMIT, la cual se utiliza xa ejecutar un programa dentro de otro prag y con el agregado de la claúsala VIA_JOB_NUMBER => de fondo.

FORM lanzar_jor

" lanzamiento el JOB

SUBMIT zprueba_fondo_b

USER sy-uname. " usuario q ejecuta

VIAJOB v_jobname.

NUMBER v_jobcount.

AND RETURN.

ENDFORM.

=> mediante la sentencia SUBMIT se pueden pasar parámetros al prog llamado, los cuales deben existir en la pantalla de selección.

F1 => SUBMIT

con el agregado de la claúsula AND RETURN en la sentencia SUBMIT, el prog llamador permanece en espera mientras se ejecuta el prog. llamador.

Final cerramos el JOB mediante el modulo de funciones JOB_CLOSE xa eso creamos la subrutina CERRAR_JOB. y ultimo mostramos el mensaje "se lanzo el job, xa visualizarlo ir a la TX SM37"

FORM cerrar_job.

CALL FUNCTION 'JOB_CLOSE'

EXPORTING

jobcount = v_jobcount

jobmame = v_jobname

strtimemed = 'X' "comienza de inmediato

EXCEPTIONS

cant_start_inmediate = 1

invalid_startdate = 2

jobname_missing = 3

job_close_failed = 4

job_nosteps = 5

job_notex = 6

lock_faile = 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

" se lanzo el job xa visualizarlo x TX SM37

MESSAGE s000(zclase_text_b) WITH text-001 text -002

ENDIF. " cerrar job

Ahora vamos ajecutar online progl zprueba_fondo F8 y veremos en pantalla el mensaje "se lanzo el job, xa visualizando ir a la TX SM37"

Visualizamos TX SM37 F8 y hacemos clic en ejecutar

identificamos nuestros proceso, tildamos el proceso y luego boton "SPOOL"

Ahora visualizamos la orden del SPOOL seleccionamos la orden y clic para ver el resultado x pantalla

xx


 

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, 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!