25
Mar
2009
ABAP: execute OS level command
There are many things that one can do to execute a command in an Operating System from an ABAP report. I’ll explain one method that one can take to accomplish this.
- Using transactions SM49 and SM69 set up and test a new OS command that you wish to execute. For the purposes of this post I’ve set up an executable command ZSAPCAR32.
- When I was setting up the new command I’ve selected the option to add additional parameters to the command.
- Once tested and satisfied you can add a new function module [SXPG_COMMAND_EXECUTE] to your report that will call preset executable command.
data: g_rlog TYPE btcxpm OCCURS 0.
CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
EXPORTING
commandname = 'ZSAPCAR32'
additional_parameters = <additional parameters>
operatingsystem = <system you specified in SM69>
TABLES
exec_protocol = g_rlog
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 eq 0.
LOOP AT g_rlog INTO g_warlog.
* display command output
write g_warlog.
ENDLOOP.
endif.
The above code will execute your OS command and display the results.
Tags: function, programmer, sap, SAP/ABAP
Thanks for the heads up Eddai.
I’ll be happy to help out.