Comando externos en sistema operativo (Windows)... TX SM49

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Edd_401
    Senior Member
    • may
    • 119

    #1

    Comando externos en sistema operativo (Windows)... TX SM49

    Hola que tal amigo de mundo sap... Aqui aportando una funcion para recuperar un comando ejecutado en windows... a lo mejor a alguien le sirve...

    FUNCTION ZZPVFMAPPSERVER_CONEXION.
    *"----------------------------------------------------------------------
    *"*"Interfase local
    *" IMPORTING
    *" REFERENCE(COMMAND_NAME) TYPE SXPGLOGCMD
    *" TABLES
    *" EXEC_PROTOCOL STRUCTURE BTCXPM
    *" EXCEPTIONS
    *" NO_COMMAND
    *" NO_COMMAND_LIST
    *" NO_AUTHORITY
    *" COMMAND_ERROR
    *"----------------------------------------------------------------------


    IF NOT COMMAND_NAME IS INITIAL.

    * Lista de comandos externos
    CALL FUNCTION 'SXPG_COMMAND_LIST_GET'
    EXPORTING
    COMMANDNAME = COMMANDNAME
    OPERATINGSYSTEM = SY-OPSYS
    TABLES
    COMMAND_LIST = COMMAND_LIST
    EXCEPTIONS
    OTHERS = 1.


    IF SY-SUBRC = 0.

    READ TABLE COMMAND_LIST WITH KEY NAME = COMMAND_NAME.

    * Checar autorizacion

    CALL FUNCTION 'SXPG_COMMAND_CHECK'
    EXPORTING
    COMMANDNAME = COMMAND_LIST-NAME
    OPERATINGSYSTEM = SY-OPSYS
    EXCEPTIONS
    NO_PERMISSION = 1
    COMMAND_NOT_FOUND = 2
    PARAMETERS_TOO_LONG = 3
    SECURITY_RISK = 4
    WRONG_CHECK_CALL_INTERFACE = 5
    X_ERROR = 6
    TOO_MANY_PARAMETERS = 7
    PARAMETER_EXPECTED = 8
    ILLEGAL_COMMAND = 9
    COMMUNICATION_FAILURE = 10
    SYSTEM_FAILURE = 11
    OTHERS = 12.

    CASE SY-SUBRC.

    WHEN 0.

    * Conseguri lo ficheros
    CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
    EXPORTING
    COMMANDNAME = COMMAND_LIST-NAME
    TABLES
    EXEC_PROTOCOL = EXEC_PROTOCOL
    EXCEPTIONS
    NO_PERMISSION = 1
    COMMAND_NOT_FOUND = 2
    PARAMETERS_TOO_LONG = 3
    SECURITY_RISK = 4
    WRONG_CHECK_CALL_INTERFACE = 5
    PROGRAM_START_ERROR = 6
    PROGRAM_TERMINATION_ERROR = 7
    X_ERROR = 8
    PARAMETER_EXPECTED = 9
    TOO_MANY_PARAMETERS = 10
    ILLEGAL_COMMAND = 11
    WRONG_ASYNCHRONOUS_PARAMETERS = 12
    CANT_ENQ_TBTCO_ENTRY = 13
    JOBCOUNT_GENERATION_ERROR = 14
    OTHERS = 15.

    IF SY-SUBRC = 0.
    MESSAGE ID '00' TYPE 'I' NUMBER 001 WITH TEXT-003.
    ELSE.
    MESSAGE ID '00' TYPE 'I' NUMBER 001 WITH TEXT-004.
    ENDIF.

    WHEN 1.
    MESSAGE ID '00' TYPE 'I' NUMBER 001 WITH TEXT-005
    RAISING NO_AUTHORITY.

    WHEN OTHERS.
    MESSAGE ID '00' TYPE 'I' NUMBER 001 WITH TEXT-006
    RAISING COMMAND_ERROR.
    ENDCASE.

    ELSE.
    MESSAGE ID '00' TYPE 'I' NUMBER 001 WITH TEXT-002
    RAISING NO_COMMAND_LIST.
    ENDIF.


    ELSE.
    MESSAGE ID '00' TYPE 'I' NUMBER 001 WITH TEXT-001
    RAISING NO_COMMAND.
    ENDIF.

    ENDFUNCTION.
    Sapero prodigio ! ! !
Trabajando...