¿como saber si un job esta ejecutandose mediante codigo?

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • koldo_sap
    Junior Member
    • oct
    • 3

    #1

    ¿como saber si un job esta ejecutandose mediante codigo?

    Mi duda es saber mediante el , si un job esta lanzado o ejecutandose mirando el código, si tengo que mirar algun status de tablas o alguna funcion me puede ser util.

    gracias.
    Editado por última vez por koldo_sap; 16/11/2007, 11:22:49.
  • alterpeke
    Member
    • jul
    • 77

    #2
    No se si es lo que necesitas...
    Pero la variable SY-BATCH cambia su estado a 'X' cuando el programa en cuestion es ejecutado en proceso de fondo.

    saludos.
    Cuando El Sabio Apunta a La Luna... El Necio Solo Logra Ver El Dedo.

    Comentario

    • koldo_sap
      Junior Member
      • oct
      • 3

      #3
      la cuestion es que cuando se lance un job, no vuelva a relanzarlo, es decir que sea consicente de que esta en ejecucion.

      para mi caso no tiene que ver con procesos batch, es un job.

      Comentario

      • ballan
        Senior Member
        • oct
        • 671

        #4
        Tienes las tablas TBTCO y TBTCP o bien la vista V_OP que relaciona esas dos tablas

        Comentario

        • knito20
          Junior Member
          • ene
          • 15

          #5
          la manera de ver el status del job es la sm37 , por ahi puedes empesar a hacerle un seguimiento si quieres hacer algo con codigo.

          saludos.
          Carlos Leiva M.
          Consultor SAP HCM
          Santiago de Chile.

          Comentario

          • DCErick
            Moderator
            • mar
            • 1090

            #6
            Originalmente publicado por koldo_sap
            la cuestion es que cuando se lance un job, no vuelva a relanzarlo, es decir que sea consicente de que esta en ejecucion.

            para mi caso no tiene que ver con procesos batch, es un job.
            SY-BATCH = 'X' Te marca si el programa se esta ejecutando en fondo, los job son programas que corren en Fondo.

            Yo uso lo siguiente para que un Job que se ejecuta periodicamente (Cada 15 minutos) no se lanze de nuevo hasta que termine el anterior..



            SELECT COUNT(*) AS jobs INTO v_cjobs FROM tbtco WHERE jobname = 'ZDEPOSITOS' AND strtdate = sy-datum AND status NOT IN ('F','A').

            IF sy-subrc = 0.
            IF v_cjobs > 1.
            WRITE: / 'La ultima carga sigue en ejecución'.
            LEAVE PROGRAM.
            ENDIF.

            ENDIF.
            Realmente el job se lanza solo que yo valido que si con el job actual ya hay 2 con el mismo nombre este ultimo no hace nada...

            Me funciona super bien.

            Saludos.
            -------------------
            ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

            Comentario

            Trabajando...