Unix command execution
Hi All,
How to execute an UNIX command in SAP. I want to execute ls command from sap. How to do that.
Thanks.
Moorthy.
Hi,
Refer to the SAmple program on the link.
http://saplab.blogspot.com/2007/10/sample-abap-program-to-execute-unix.html
Regards
Sumit Agarwal
Similar Messages
-
Unix command execution with parameters
Hi Friends!
Can I execute a unix command with file ?
Like I want to create an account in Unix. for that I have to pass some parameters like account name. account id, directory, shell, what I am doing I am passing all this information to ABAP Proxy and it goes to file adapter and then it goes to unix server directory and then I trigger the command to create an account . We are happy with this.. but client is not happy with this file scenario... will it be possible for me use just abap proxy and at received determination i pass all the parameters with command and exevute it without using File. ?
if yes then How we can send parametes to unix and trigger a command.
Please reply me. your any help will be appreciated alot.
Regards
NaeemYou can call a shell script from Abap Side, and pass all parameters in calling phase.
Take a look:
http://searchsap.techtarget.com/tip/Calling-Unix-Shell-Scripts-From-ABAP
Otherwise, you can call a shell script in sender or receiver comunication channel in Xi/Pi, and pass parameters when you call the shell script. -
"at" UNIX Command in Java Program
Friends,
1. "at" command in UNIX execute Unix command at a scheduled time. 2. For each user there will be a table maintained internally which can be accessed by "at" with "-l" argument.
3. A mail will be sent to the owner with the output of the commands as a message.
I tried to run the "at" command of Unix in JSP, which gets succesfully executed in Oracle 10g App Server container (Installed in Solaris machine). I have tested the successful execution of command with the log file. But I haven't got any mail for the output. If anyone had any idea, please help me.
The code I have wtitten is
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(new String[] {"sh","-c","at 2115 Dec 7 < /export/home/usr1/abc.sh"});
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
logger.info("<ERROR>");
while ( (line = br.readLine()) != null)
logger.info(line);
logger.info("</ERROR>");
int exitVal = proc.waitFor();
logger.info("Process exitValue: " + exitVal);
My doubts are:
1. Who is the owner of the output of "at"command, which gets executed under Oracle 10g App Server container?
2. If no one is the owner, then where will the output of "at" command will go?
3. Is there any other way to execute "at" command of UNIX in java program? If so, then please help me.
Thanks in advance.
regards
Nandha Kumar.Mfilestream I have to ask - what's a chav ?
I have doubts abut what it is :-)
Seriously though, what is that an abbreviation for?
That's a new one to me.
http://www.chavscum.co.uk
chavs are roughly analogous to rednecksI wouldn't use that analogy. While both may lack certain social graces, rednecks typically don't receive ASBOs.
Chavs favor small cars with lots of bling whereas rednecks are likely to drive a pickup or a large sedan.
Chavs have pitbulls in their yards (gardens), rednecks an '84 Mustang LX on cinder blocks.
etc, etc.
Message was edited by:
filestream
Message was edited by:
filestream -
Problem With UNIX command in ODI Environment.
A procedure is used in our package which involves moving a file from a folder to another in a UNIX server.
The procedure uses an OS command - 'os.system' to execute unix command.
The unix command is a grep command which seems to work fine when executed alone.
But when this procedure is executed ,it fails.
The following code raises an error and the procedure fails.:
if os.system(cmd) <> 0:
raise "command fails","see agent output for details";
Whenever we are trying to reverse,we get "file not Found " error.
We tried to execute the jython code by placing the files in local directories. The same error appears both when the file is in local and when it is in a remote directory.
This is the error we get:
org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "<string>", line 20, in ?
HeaderCmd failed:: See agent output for details at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java) at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java) at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i(e.java)
at com.sunopsis.dwg.cmd.g.y(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Unknown Source)Hi,
The unix command is a grep command which seems to work fine when executed alone. :-
I guess you executed this from your Unix server , so it work fines.
And when you are trying to execute outside from this (using ODI) , its failing , right ?
Can you please check the permission settings for that script file (sh).
Please try by giveing the full permission (specifically execution permission) for all users connecting from other machines.
This can be one of the reason for the failure .
please let me know if this is not working
Regards,
Rathish -
Unix Command doesn't work in Tiger
Hi,
I've got labs of eMacs that I'm finally upgrading to Tiger. My image seems to work fine, but I'm running into a weird quirk with my "Send Unix" commands via ARD. We're doing NWEA testing and LOVE the unix commands because we can login to machines, turn on TestTaker, login to TestTaker, and select the correct test (math or reading) and the right version of the test.
The script below works fine on a panther eMac.
osascript
tell application "System Events"
keystroke "1" using command down
delay 3.0
keystroke ASCII character 31
delay 2.0
keystroke return
keystroke "n" using command down
end tell
On my Tiger machines, the command stops on the:
"Keystroke ASCII character 31" line (this should arrow down to next test version).
A report window comes up in ARD with this error message:
86:104: execution error: System Events got an error: 31 doesn't understand the ASCII character message. (-1708)
This used to work perfectly, but now I can't get ASCII 31 (or arrow down to work). The real killer is that other techs in my school district have eMacs running tiger with same commands that work (some have to arrow down 16 times to get to correct test version). The other commands (like command 1 and returns, command n) all work fine! Hate to have to touch 80 machines each day to select proper test version when we log in.
Any Suggestions????Try this form of the line:
keystroke (ASCII character of 31)
That's worked for some people. Hope it works for you. If it doesn't work as given, try without the parentheses.
Regards. -
How can I call a unix command or run a c program
from a stored procedure in oracle 9i.Or if you want to do a host call then implement the following class as a Java stored procedure.
import oracle.jdbc.*;
public class util
// Executes an operating system command. The command shall be fully qualified.
// The Java connects with silent login. No environment set-up files are run
// and no path is set. The mode can be "sync" or "async" for respectively
// synchronous and asynchronous execution
static public int OSCmd(String cmd, String mode, String[] output)
throws IOException, InterruptedException
System.out.println("OSCmd "+cmd+" ("+mode+")");
output[0]="";
// start command
Process proc = Runtime.getRuntime().exec(cmd);
if (mode.equals("sync"))
// get command's stdout and stderr
InputStream stdout = proc.getInputStream();
InputStream stderr = proc.getErrorStream();
String str;
// Stdout
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while ((str = br.readLine()) != null)
output[0]+=str+"\n";
br.close();
// Stderr
br = new BufferedReader(new InputStreamReader(stderr));
while ((str = br.readLine()) != null)
output[0]+=str+Long postings are being truncated to ~1 kB at this time. -
Send Unix command won't work under 10.2.8
So I am running this command in a lab of 10.2.8 machines. I go to send Unix Command then I put this in:
Send Unix Command
user: root
osascript -e 'tell application "System Events" to keystroke "map"'; \
osascript -e 'tell application "System Events" to keystroke tab'; \
osascript -e 'tell application "System Events" to delay 0.5'; \
osascript -e 'tell application "System Events" to keystroke "map"'; \
osascript -e 'tell application "System Events" to delay 0.5'; \
osascript -e 'tell application "System Events" to keystroke return'
Then I check Display all output.
Then I check Run command as User: Root
Then I send it.
After that in the Display all output shows me this.
cms132-30 (64.8.180.103)
/bin/bash: Send: command not found
/bin/bash: user:: command not found
execution error: System Events got an error: NSCannotCreateScriptCommandError (10)
execution error: System Events got an error: NSCannotCreateScriptCommandError (10)
execution error: System Events got an error: NSCannotCreateScriptCommandError (10)
execution error: System Events got an error: NSCannotCreateScriptCommandError (10)
So I close that window and see an error message by that machine that says:
Error: 1 "execution error: system events got an error: NSCannotCreateScriptCommandError (10)"
So what is wrong with this? It works fine with 10.3.9 but not with 10.2.8
Imac Mac OS X (10.2.x)It doesn't appear that the System Events under 10.2.x responds to the keystroke command (it doesn't appear in the AppleScript Dictionary.)
-
Hi all ,
I have tried unix command from PLSQL Block,
Please see the code.
DECLARE
stat INTEGER;
host_command varchar2(100);
errormsg VARCHAR2(80);
command varchar2(2000);
BEGIN
command:='touch /home/oracle/testting.txt';
dbms_pipe.reset_buffer;
host_command:= dbms_pipe.unique_session_name;
dbms_output.put_line('host_command:'||host_command);
dbms_pipe.pack_message(command);
dbms_output.put_line('pack message:'||command);
stat := dbms_pipe.send_message(host_command);
dbms_output.put_line('stat:'||stat);
IF stat <> 0 THEN
raise_application_error(-20000, 'Error:'||TO_CHAR(stat)||' sending on pipe');
END IF;
stat := dbms_pipe.receive_message(host_command);
dbms_output.put_line('stat2:'||stat);
IF stat <> 0 THEN
raise_application_error(-20000, 'Error:'||TO_CHAR(stat)||' receiving on pipe');
END IF;
dbms_pipe.unpack_message(errormsg);
dbms_output.put_line('errormsg:'||errormsg);
IF errormsg <> 'SUCCESS' THEN
raise_application_error(-20000, 'Execution error: '||errormsg);
END IF;
END;
Nothing happend from this code just getting only following result with error.
-----------------result-----------------------------
host_command:ORA$PIPE$002D19820001
pack message:touch /home/oracle/testting.txt
stat:0
stat2:0
errormsg:touch /home/oracle/testting.txt
DECLARE
ERROR at line 1:
ORA-20000: Execution error: touch /home/oracle/testting.txt
ORA-06512: at line 33
Can any one tell me what i doing wrong in this code.
I m working on Oracle 11g and AIX unix server.This is the forum for the SQL Developer product, not for general PL/SQL questions. There is a link to the SQL and PL/SQL forum in the announcement at the top of this forum.
-
ARD 3.6.1 remote log in Unix command failure
Hello, I am using 10.7.5 and ARD 3.6.1 and cannot figure out how to remotely log in to another computer
I wish to remotely log in using ARD to multiple computers in my network, up to 30 at a time for elementary students. I can observe, control and send Unix commands to the machines when they are at startup log in screen or in use. This is the Unix command I am trying to use to log into the comptuer using ARD and Unix command function.
osascript -e 'tell application "System Events" to keystroke "login"'; \
osascript -e 'tell application "System Events" to keystroke tab'; \
osascript -e 'tell application "System Events" to delay 0.5'; \
osascript -e 'tell application "System Events" to keystroke "password"'; \
osascript -e 'tell application "System Events" to delay 0.5'; \
osascript -e 'tell application "System Events" to keystroke return'
**and yes I am changing the login and password keystroke**
I have tried the above Unix command and several others but I get a message saying "A console user is not logged in on “studnetmacbook"" so I click the button to run command as user admin but then get the message below.
36:50: execution error: An error of type -10810 has occurred. (-10810)
36:49: execution error: An error of type -10810 has occurred. (-10810)
36:54: execution error: An error of type -10810 has occurred. (-10810)
36:52: execution error: An error of type -10810 has occurred. (-10810)
36:52: execution error: An error of type -10810 has occurred. (-10810)
Could someone explain these errors. Is ARD not compatible with remote log in with the versions I have? I have seen on sites this is posted and other sites that this needs to be run as the root user...Should I know how to run this as a root user and if so could someone help me with how to do this?
Or if anyone else has a working command could you share it with me for remotely logging in using ARD.
Thanks!Hi
Don't quite recognise what it is you're using. Maybe try:
osascript <<EOF
tell application "System Events"
keystroke "whateverusernameyou'reusing"
keystroke tab
delay 0.5
keystroke "whateverthepasswordis"
delay 0.5
keystroke return
end tell
EOF
Instead. Works every time for me.
The above are all on separate lines.
HTH?
Tony -
Problem while executing unix command having \&\& symbol
Hi All,
Please check the below program while is not executing, when the unix command's having \&\& is used.
The following command copies the src folder to dest folder with out data loss ...
import java.io.*;
import java.util.*;
public class Sample
public static void main(String[] args)
try {
String ExCmd = "ssh [email protected] cd /u01/11510/devdb/9.2.0/slax \\&\\& /bin/tar cf - . | ssh [email protected] cd /d01/AppsTest/testappl2 \\&\\& /bin/tar -xf - > test.log";
System.out.println("Command to execute : "+ExCmd);
Process SshProc = (Runtime.getRuntime()).exec(ExCmd);
// any error message?
StreamReader errorStream = new StreamReader(SshProc.getErrorStream(), "DEBUG");
// any output?
StreamReader outputStream = new StreamReader(SshProc.getInputStream(), "OUTPUT");
// kick them off
errorStream.start();
outputStream.start();
int pp =SshProc.waitFor();
System.out.println("command execution value: "+pp);
}catch(Exception e) {
e.printStackTrace();
class StreamReader extends Thread
InputStream is;
String type;
StreamReader(InputStream is, String type)
this.is = is;
this.type = type;
public void run()
try
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line=null;
while ( (line = br.readLine()) != null) {
System.out.println(type + ">" + line);
} catch (IOException ioe)
ioe.printStackTrace();
}When this is executed iam getting process value as "0".
But nothing is copying to target ..
So to resolve this i have created a script .. and passed arguments to that script and chaged command as follows :
String ExCmd = "sh /home/juser/movedir.sh [email protected] /u01/11510/devdb/9.2.0/slax /bin/tar [email protected] /d01/AppsTest/testappl2 /bin/tar /home/juser/test";
Then it is executing fine. But in my scenario iam restricted to use scripts.
So plz can any body have a solution for this.
Thanks, SNIam unable to execute command with &&, it's executing fine only from \&\& ... Can any body tell me how can we make below code as generic, depending on UNIX Shell environment?
String[] ExCmd = {"sh", "-c", "ssh [email protected] cd /u01/11510/devdb/9.2.0/slax \\&\\& /bin/tar cf - . | ssh [email protected] cd /d01/AppsTest/testappl2 \\&\\& /bin/tar -xf - > test.log"};
Process SshProc = Runtime.getRuntime().exec(ExCmd);"sh" should be changed here depending on UNIX Environment, because previously i found that in some unix environment's "sh" is not working ..
So can any one help...
Thank in advance. -
I want to execute UNIX COMMAND in ABAP
Hi All,
I want to execute a UNIX XOMMAND sh <scriptname> <filename> to replace divsion codes.in ABAP.
But, I came to know that we can't (2) or try the following program but unfortunately the command CALL SYSTEM is not supported by SAP. If you are on R/3 2.1 - 2.2x you can get some idea's from the program SAPMSOS0.
REPORT ZUNIXCOM .
DATA: U_COMMAND(200).
Table for system messages
DATA: BEGIN OF RT OCCURS 100 ,
LINE(100) ,
END OF RT .
START-OF-SELECTION .
MOVE 'unix command' to U_COMMAND .
REFRESH RT.
CALL 'SYSTEM' ID 'COMMAND' FIELD U_COMMAND
ID 'TAB' FIELD RT-SYS .
LOOP AT RT.
WRITE : / RT-LINE .
ENDLOOP.
So please can u help me how to call a unix command from ABAP. it is very urgent. I want complete details and all possible solutions
<removed_by_moderator>
Thanks,
gyanaraj
Edited by: Julius Bussche on Aug 26, 2008 11:29 AMSelvaraj Gyanaraj wrote:>
> So please can u help me how to call a unix command from ABAP.
I was about to help you.
>it is very urgent.
I changed my mind.
>I want complete details and all possible solutions
I'm glad I changed my mind.
>Points are surely rewarded.
Too late. -
Hi All,
I need to use unix command (MOVE) in ABAP code for transfering a file from one directory to another directory.
Can any one help with how to used unix commands in ABAP?
Thanks in advance.
Regards,
HemendraThe recommended approach always used to be to use transaction SM69 to define a "soft" command name to the operating system command so that it could be configured to work across Windows, Unix etc. For example:
Command name OS Type OS command Parameters for operating system command
Z_FILE_MOVE SunOS Customer mv ? ?
You can then call function module SXPG_COMMAND_EXECUTE (quite well documented) to actually perform the command passing in the appropriate number of parameters.
Jonathan -
Hi,
I need to call the following unix command in ABAP to encrypt a file on the app server .
crypt password <org filename> new_filename
1 But when i run it using call 'SYSTEM' .. i get message security risk , command not executed ..
2 I also created the command in SM69 and tries to run it but same error.
3 I also created a shell script , but i get another message when i try to run sh ...
Please help to find out a way to make it work ..
KunalHi kunal,
1. probably ur basis team might be able to help u.
2. even if we have authorisations thru sap
to run external os command,
the actual OS user on application server
must have the right for it
and access/write/read/modify
for the files (provided thru the command)
in question.
3. Due to this , the systems gives the message
of SECURITY RISK.
regards,
amit m. -
how do I run a unix command to quit ARD if it is running on a remote server I am trying to access?
killall "Remote Desktop"
Regards. -
Is there a way to change the VNC password thru unix command in ARD2?
In a local network, I get access denied errors from macs that have the vnc password different than the Administrative login user password. I needed to change the Admistrator password which I did thru the Unix command in ARD2.
Now.
Is there a way to change the VNC password thru unix command in ARD2?
Example:
remote computer setup
Panther 10.3.9
vnc password - gopher
user ID - testARD with admin rights
user password - backdoor
ARD2 Computer setup
10.4.10
login ID - testARD
password - backdoor
I get the blue icon but get an 'access denied' error.
I change the password from backdoor to gopher.
I get the red with dash icon but, can get access to the computer.
What is going on? Is ARD2 using the VNC resource instead of ARDs resources?A quick search of Google finds this <http://www.macgeekery.com/tips/cli/settingremote_desktops_vnc_password_interminal>. I have not tested this myself.
bill
Maybe you are looking for
-
Account Determination for entry 1000 KBS 0001 ---- 2030 error in MIGO
Dear All A PO has been made with acc. assgnment as "Z" i.e capital order with account modifier as ZCA in OME9 transaction.For this account modifier and valuation class of material an entry is there in OBYC GBB trasaction.. But when I am doing GRN thr
-
How to Update/install Photoshop CC version 14.2 (TRIAL)
Hi there, I was really glad to see this new feature in Photoshop CC that exports PSD's to adobe reflow, So I decided to try out this trial to see if I like it and if it works good. I have been a very happy customer and adob product fan for years now.
-
I upgrade to Firefox 5.0 and now when I start Firefox it takes a While but I get a Pop-up window with the message [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]" nsresult: "0x805700
-
Hi, we have to add a new item to a delivery using ABAP. The function module BAPI_OUTB_DELIVERY_CHANGE has a parameter NEW_ITEM_DATA, but unfortunately no documentation about it. It Does anybody have an example on how to add a new item with this FM? T
-
Custom Resources - FIM MA Export failure
Hi, I have some custom resources imported into MV and now, when running FIM-MA Export, those resources are not created. In the sync service console (operations tab) I can see in the "export errors", this: "...No policy grants the Requestor permission