Job de Fondo

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • luise32
    Member
    • oct
    • 71

    #1

    Job de Fondo

    Buenos días a todos, tengo una inquietud. Resulta que necesito que se ejecute un job de fondo cada 10 minutos. Al ser un proceso bastante complejo suelen pasar los 10 minutos y aun no termina y eso hace que el job se ejecute nuevamente y re procese algunos registros que ya fueron procesados.

    La pregunta es: Hay alguna forma de configurar el job para que se ejecute cada 10 minutos y que solo arranque si el anterior ya termino su ejecución?

    Gracias!
    Consultor SAP ABAP
  • johangonz
    Moderator
    • may
    • 816

    #2
    Originalmente publicado por luise32
    Buenos días a todos, tengo una inquietud. Resulta que necesito que se ejecute un job de fondo cada 10 minutos. Al ser un proceso bastante complejo suelen pasar los 10 minutos y aun no termina y eso hace que el job se ejecute nuevamente y re procese algunos registros que ya fueron procesados.

    La pregunta es: Hay alguna forma de configurar el job para que se ejecute cada 10 minutos y que solo arranque si el anterior ya termino su ejecución?

    Gracias!
    Si, hay una parte de dependencias en la definición del Job, ponle que se ejecute despues que su mismo job finalice, esto permitiria que no se ejecuten varias veces el mismo por el factor tiempo. Ejecuta algun zeta ese Job?

    Saludos!
    Johan González
    CEO
    NW Consulting Services
    www.nwcs.website
    Siguenos en Facebook: www.facebook.com/nwconsultingservices
    Moderador www.mundosap.com

    ---------------------------

    Comentario

    • luise32
      Member
      • oct
      • 71

      #3
      Hola, gracias por su respuesta... y efectivamente el job ejecuta un Z... voy a buscar la opcion que me dices, ya le cuento como me va.
      Consultor SAP ABAP

      Comentario

      • luise32
        Member
        • oct
        • 71

        #4
        Hola nuevamente, he revisado y no encuentro la opción que usted menciona. Es posible que me guíe detalladamente a través de la transacción?

        Mil gracias!
        Consultor SAP ABAP

        Comentario

        • sconoredhot
          Senior Member
          • feb
          • 341

          #5
          hola

          hola,

          en tu programa z, podes hacer un select a la TBTCO
          buscando por nombre de programa (tu programa)
          AND status EQ 'R'.

          Esto te dirá si hay un job corriendo ya, si es asi (sy-subrc = 0)

          sales (leave program).
          Sebas

          Desarrollador ABAP.

          Comentario

          • luise32
            Member
            • oct
            • 71

            #6
            Hola buenas tardes,

            Gracias por tu aporte, hice exactamente lo mismo solo que tuve la necesidad de ponerle una linea al JOB para que el estado efectivamente cambie a R.

            Código:
            WAIT UP TO 120 SECONDS.
            Y funcionó, mil gracias!

            Coloco un código de ejemplo por si alguien lo necesita.
            Código:
            DATA jobname TYPE btcjob.
            
            START-OF-SELECTION.
            
              WAIT UP TO 120 SECONDS.
            
              SELECT SINGLE jobname INTO jobname
                FROM tbtco
                WHERE jobname = 'ZJOB_120SEC'
                AND sdldate = sy-datum
                AND status = 'R'.
            
              IF sy-subrc = 0.
                WRITE: 'El job ya esta en ejecucion'.
              ELSE.
                WRITE: 'Job ejecutado correctamente'.
              ENDIF.
            Curiosamente el job no arrancaba a la hora indicada, siempre en todos los jobs había un retraso de 42 segundos (no se si esto se deba a una configuración de tipo BASIS) y es por esta razón que tuve que colocarle el WAIT para que le de tiempo de cambiar el estado al registro.

            Saludos!
            Editado por última vez por luise32; 29/01/2015, 19:41:24.
            Consultor SAP ABAP

            Comentario

            Trabajando...