WS_EXECUTE – Función para ejecutar un programa desde SAP

7 11 2007

WS_EXECUTE es una función que nos permite ejecutar cualquier programa instalado en nuestra computadora desde SAP. Cabe aclarar que aquel programa que queramos correr debe permitir parámetros MS-DOS.

En el siguiente ejemplo voy a mostrar como zippear (comprimir) dos archivos desde SAP. Como resultado obtendremos un archivo WinZip que contendrá dos archivos de texto.
Comprimiremos el archivo 1.txt y el archivo 2.txt, y el resultado será el archivo destino.zip.

Parámetros que acepta WinZip desde MS-DOS: http://www.memecode.com/docs/winzip.html

Rutas de los archivos:

  • C:1.txt
  • C:2.txt
  • C:destino.zip

 

Código:

CALL FUNCTION ‘WS_EXECUTE’
    EXPORTING
       * DOCUMENT = ‘ ‘
       * CD = ‘ ‘
       COMMANDLINE = ‘ -min -a c:destino.zip c:1.txt c:2.txt’
       * INFORM = ‘ ‘
       PROGRAM = ‘winzip32.exe’
       * STAT = ‘ ‘
       * WINID = ‘ ‘
       * OSMAC_SCRIPT = ‘ ‘
       * OSMAC_CREATOR = ‘ ‘
       * WIN16_EXT = ‘ ‘
       * EXEC_RC = ‘ ‘
    * IMPORTING
       * RBUFF =
    EXCEPTIONS
       FRONTEND_ERROR = 1
       NO_BATCH = 2
       PROG_NOT_FOUND = 3
       ILLEGAL_OPTION = 4
       GUI_REFUSE_EXECUTE = 5
       OTHERS = 6 .

IF SY-SUBRC <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.


Technorati tags:


Acciones

Información

Un comentario

11 03 2008
Ana

Hola,
Estoy utilizando la misma funcion para ejecutar un .bat en modo sincrono. Conoces alguna manera de que lo ejecute en background, para que no salga la pantalla de comando durante la ejecucion? .Muchas gracias

Deja un comentario