Anuncio

Colapsar
No hay anuncio todavía.

Mi primer Job (ayuda por favor)

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Mi primer Job (ayuda por favor)

    Hola buenos días a todos:

    Os cuento, tengo un Report muy Sencillito que es el siguiente:

    ************************************************** *********
    REPORT ZZ_MI_EXEC.

    CALL FUNCTION 'WS_EXECUTE'
    EXPORTING
    cd = 'C:\'
    program = 'C:\archivo.bat'
    EXCEPTIONS
    frontend_error = 1
    no_batch = 2
    prog_not_found = 3
    illegal_option = 4
    gui_refuse_execute = 5
    OTHERS = 6.
    ************************************************** **************

    Como podréis comprobar este report llama a una función que vale para ejecutar comandos del SSOO o para lanzar archivos en modo batch.

    Necesito planificar el report (con un job) para que se ejecute periodicamente. Creo el job correspondiente para que ejecute dicho report un día y a una hora determinada (como prueba) y cuando dicho job se ejecuta (a la hora indicada) Me da estado Cancelado (No se puede ejecutar correctamente)Voy a ver el log y me da lo siguiente:

    Front end function Cannot be executed in batch (Ir a ver la Transacción SE37 para ver detalles)

    Voy a ver en Detalle la Excepción de la Función WS_EXECUTE (En transacción SE37) y me da la siguiente información:

    FRONT END ERROR: Error ocurrió en SAPGUI
    NO_BATCH: Front end function Cannot be executed in batch
    PROG_NOT_FOUND: Programa no encontrado o no en forma ejecutable.
    ILEGAL_OPTION:OSMAC* OR WIN16_EXT en incorrecto front end.

    Es como si la función WS_EXECUTE no pudiera ejecutarse en modo batch. ¿No os parece? Pero yo creo que tiene que haber alguna manera de poder ejecutarlo en modo batch (o bien configurandolo en la propia función desde la transacción se37, o bien al planificar el job, o bien al crear el report desde donde se llama a la función)

    Os ha pasado algo parecido. ¿Alguien puede ayudarme?

    Muchas gracias a todos de antemano y muchas gracias a este foro.

  • #2
    Hola,

    es exactamente eso lo que ocurre esa función no puede ser ejecutada en BATCH, tienes que ejecutar otra función que reemplace a la que estás usando.

    Saludos y suerte!

    Comentario


    • #3
      Cuando corres algo con un job, es corrido de fondo, al correr algo de fondo el que corre el programa no es corrido en la "terminal" sino en el servidor, por lo tanto no podes usar funciones con referencia a discos rigidos locales, imaginate que el server no puede adivinar en que C grabar el archivo o imaginate que aunq lo supiera no sabria si esta prendida o no la makina.

      por eso, cuando necesitas grabar archivos de fondo usas el OPEN DATASER en lugar de funciones como GUI_DOWNLOAD.

      Comentario

      Trabajando...
      X