Inicio > ABAP/4 > Evitar la ejecución de JOBs en paralelo

Evitar la ejecución de JOBs en paralelo

Caso: se desea programar un job, pero que no se ejecute otra instancia del mismo si éste se encuentra ya en ejecución.

Por ejemplo si tengo un job que se ejecuta cada 1 minuto pero hay veces que su ejecución tarda más que 1 minuto, entonces queremos evitar que se ejecute la próxima instancia del job antes que termine el job actual.

Solución: utilizamos el report RSBTONEJOB2 como “puente” para ejecutar como JOB nuestro programa:

1. Ante todo tenemos que tener definido el programa y la variante que vamos a ejecutar en el JOB.

En nuestro caso es el programa ZPRUEBA_ABAP y la variante es SOC_1000.

2. Ingresamos a la SE38 y ejecutamos el report RSBTONEJOB2. Allí debemos indicar:

– JOBNAME: el nombre del job que crearemos (puede ser igual al nombre del report)

– REPORT: Nombre del programa que vamos a ejecutar en el JOB (ver paso 1)

– VARIANT: variante del programa a ejecutar en el JOB (ver paso 1)

3. Ahora bien, con estos datos debemos crear en el programa RSBTONEJOB2 una variante que tenga el mismo nombre que la variante del REPORT del paso 1. Es importante este punto.

4. Vamos a la SM36 y programamos el JOB. Para el caso debemos respetar los nombres utilizados: El nombre del JOB y la variante

Definimos el paso, en este caso ponemos el nombre del programa RSBTONEJOB2, que funcionará como un “puente” al programa que queremos ejecutar en el JOB y la variante.

Definimos la condición de inicio (nosotros probaremos cada 1 minuto para forzar a que cancele la ejecución)

Grabamos el JOB para que se libere automáticamente (ya que nuestra condición de inicio fue “Inmediato”).

5. Vamos a ver su comportamiento en la SM37.

Vemos que se encuentra un JOB activo y al minuto intentó ejecutarse nuevamente y terminó, viendo el log del job terminado tenemos que:

Podemos ver los distintos mensajes que se generarán en el programa RSBTONEJOB2:

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: