Ir al contenido
Programación ABAP

SXPG_COMMAND_EXECUTE

Ejecuta en el servidor un comando del sistema operativo definido en la SM69.

Módulo de funciónVarios
Transacción
SE37
Grupo
Varios
Actualizado
21 de octubre de 2026

Para qué sirve

SXPG_COMMAND_EXECUTE lanza un comando externo del sistema operativo (un script, una copia de fichero…) que antes se ha dado de alta en la transacción SM69. Así el administrador controla qué comandos se pueden ejecutar y con qué autorizaciones.

Devuelve el estado, el código de salida y las líneas que escribe el comando. Es la forma segura de ejecutar comandos; CALL 'SYSTEM' está desaconsejado.

Parámetros

Esta función tiene muchos parámetros; aquí están los más usados. La lista completa se ve en la transacción SE37.

Importing

Lo que recibe la función. En CALL FUNCTION se pasan tras EXPORTING.

ParámetroTipoDescripción
COMMANDNAMEObligatorioSXPGCOLIST-NAMENombre del comando en la SM69.
ADDITIONAL_PARAMETERSSXPGCOLIST-PARAMETERSParámetros que se añaden al comando.
OPERATINGSYSTEMSYST-OPSYSSistema operativo.Por defecto: SY-OPSYS
TARGETSYSTEMRFCDISPLAY-RFCHOSTServidor donde se ejecuta.Por defecto: SY-HOST

Exporting

Lo que devuelve. En CALL FUNCTION se recogen tras IMPORTING.

ParámetroTipoDescripción
STATUSEXTCMDEXEX-STATUSEstado de la ejecución.
EXITCODEEXTCMDEXEX-EXITCODECódigo de salida del comando.

Tables

Tablas internas que se pasan o se devuelven (TABLES).

ParámetroTipoDescripción
EXEC_PROTOCOLBTCXPMLíneas que escribe el comando.

Excepciones

Errores que devuelve en sy-subrc, en el bloque EXCEPTIONS.

ExcepciónCuándo se produce
NO_PERMISSIONSin autorización.
COMMAND_NOT_FOUNDEl comando no está en la SM69.
PARAMETERS_TOO_LONGParámetros demasiado largos.
SECURITY_RISKLos parámetros contienen caracteres no permitidos.
PROGRAM_START_ERRORNo se pudo arrancar el comando.
PROGRAM_TERMINATION_ERROREl comando terminó con error.

Ejemplo

ABAP
DATA: lt_log    TYPE STANDARD TABLE OF btcxpm,
      lv_estado TYPE extcmdexex-status,
      lv_salida TYPE extcmdexex-exitcode.

CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
  EXPORTING
    commandname           = 'ZCOPIAR_FICHERO'
    additional_parameters = '/interfaces/in/pedidos.csv /interfaces/proc/'
  IMPORTING
    status                = lv_estado
    exitcode              = lv_salida
  TABLES
    exec_protocol         = lt_log
  EXCEPTIONS
    no_permission         = 1
    command_not_found     = 2
    security_risk         = 3
    OTHERS                = 4.

Errores y excepciones habituales

  • COMMAND_NOT_FOUND: el comando no está dado de alta en la SM69 para ese sistema operativo.
  • SECURITY_RISK: los parámetros llevan caracteres como ; | & que podrían encadenar otros comandos.

Relacionadas

Funciones relacionadas

WS_EXECUTEEPS_GET_DIRECTORY_LISTING

Más en Varios

CONVERSION_EXIT_ALPHA_OUTPUTCONVERSION_EXIT_ALPHA_INPUTCLAF_CLASSIFICATION_OF_OBJECTSCLOI_PUT_SIGN_IN_FRONTENQUE_SLEEPENQUEUE_READF4_DXFILENAME_TOPRECURSIONMM_ADDRESS_GETQF05_RANDOM_INTEGERROUNDSAPGUI_PROGRESS_INDICATORSPELL_AMOUNT

Transacciones y tablas

SM69SM49SE37

En abap.es

¿Dudas con esta función?

Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.

Preguntar en el foro

Actualizado: 21 de octubre de 2026