汎用モジュール(SXPG_CALL_SYSTEM)
外部コマンドの実行は、SAP標準の汎用モジュール「SXPG_CALL_SYSTEM」を利用。TCD:SM69で定義した外部コマンドをプログラム上で実行するパラメータは下記を参照。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
CALL FUNCTION 'SXPG_CALL_SYSTEM' EXPORTING COMMANDNAME = 'ZLS' ADDITIONAL_PARAMETERS = '/test/test/test/' IMPORTING STATUS = LV_STATUS EXITCODE = LV_EXITCODE TABLES EXEC_PROTOCOL = LT_TBL 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 OTHERS = 12. |
実装方法
Exportパラメータ
COMMANDNAMEにTCD:SM69で定義した外部コマンドまたは標準の外部コマンドを指定し、ADDITIONAL_PARAMETERSに追加パラメータの値を設定。
Exportパラメータ | 説明 |
COMMANDNAME | 外部コマンド名称(TCD:SM69で定義したコマンド名) |
ADDITIONAL_PARAMETERS | 外部コマンドへ渡すパラメータ |
Importパラメータ
正常終了の場合は、STATUSが「S」でEXITCODEが「0」で返される。
TCD:SM69で定義した外部コマンドを単体で実行も可能。
Importパラメータ | 説明 |
STATUS | 外部コマンドが正常終了かのステータス |
EXITCODE | 外部コマンドから返却されるリターンコード |
Tablesパラメータ
外部コマンドの結果の返り値と文字数が格納される。
Tablesパラメータ | 説明 |
EXEC_PROTOCOL | 外部コマンドの出力結果 |
【SAP】外部OSコマンド外部OSコマンドとは?
外部コマンドとは、サーバ上で直接OSコマンド(もしくはバッチorシェル)を実行する仕組みのことで、SAP上から...