Ir al contenido

Mi primer Job (ayuda por favor)

Respuestas
2
Visitas
11
Iniciado por
usuarionavarra
Fecha
17 Abr 2008, 14:50
Tema anterior - Siguiente tema

usuarionavarra

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.






CAMELO

Prueba a hacerlo de esta manera...

Donde commandline  = 'C:\archivo.bat'.


  CALL FUNCTION 'WS_EXECUTE'                                                 
      EXPORTING                                                               
        commandline = commandline                                             
        program = 'ARCHIVO.BAT'                                               
      EXCEPTIONS                                                             
        frontend_error  = 1                                                     
        no_batch         = 2                                                           
        prog_not_found = 3                                                     
        illegal_option     = 4                                                     
        OTHERS           = 5.


Creo que es de esta manera.

Un saludo.

abapito

Yo utilizaría la funcion para llamar comandos del sistema operativo definidos en la SM69, que es SXPG_CALL_SYSTEM.

Por otro lado creo que que en fondo no se puede ejecutar  la función WS_EXECUTE.

Un saludo,