|
#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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|