Executing external command and program in background

Hi,
how to execute external command and external program in background.
please provide me some tips on the same.
while creating external command, what is the significance of "operating system command" and "parameters for operating system command".
Thanks,
Dinesh.

Hi,
You can define external commands using transaction code SM69.
External commands are commands which would be executed at your operating 
system with or without parameters.
Operating system commands are those which you execute at OS level like
mkdir, cat, rm, cp, ls
Parameters are options that you add to os commands to get more functionalities.
like, < ls -l > : will give you a long listing of files where " l " is the parameter
        < ls -lt > : will give you a long listing with last changed file at top where " lt " is the parameter.
You can mention these in SM69 when you define the external commands.
Now, in order to execute these in your background job. In the steps click on "external command" and give your command name in SM36 while creating your job.
" Points for solution ".
Thanks and Regards,
Sandeep.

Similar Messages

  • Error 801 when executing external command on

    Hello,
    I have installed CCMS agents and CCMS ping in my system yesterday. And activated the CPH BGD jobs for SL reporting purpse. Now I am getting an error "Error 801 when executing external command on" under class LC 2. I am not able to find any relevant note or help for this error. Any idea why this happens? How can I solve this? The details as follows:
    EXTERNAL COMMAND: rc = Error 801
    SXPG_COMMAND_EXECUTE(LONG):
    <timestamp>: 20100310144206
    COMMANDNAME: PING
    ADDITIONAL_PARAMETERS: s-sapcae
    LONG_PARAMS:
    OPERATINGSYSTEM: AIX
    TARGETSYSTEM: sapasmc1
    DESTINATION:
    SY-SUBRC:  801
    Regards,
    Rajeev

    Hi,
    I have activated the trace level to 3 and now I get some messages in dev_cp which is as follows:
    Trace file of control program (trace level 3)
    < Function: BtcTrcInit> Function: main  SAPXPG 720
    2010-03-11  08-52-09 : Before BtcXpgDetach
      > Function: BtcXpgDetach  < Function: BtcXpgDetach  Accept RFC connection from R/3 system
    2010-03-11  08-52-09 : Before RfcAccept
    2010-03-11  08-52-09 : RfcAccept returned OK
    Begin of check_if_security_list
    security check switched OFF
    End of check_if_security_list
    Begin of check_trace_option
    End of check_trace_option
      Install RFC call SAPXPG_START_XPG
      Install RFC call SAPXPG_START_XPG_LONG
      Install RFC call SAPXPG_END_XPG
      Wait for RFC call SAPXPG_START_XPG or SAPXPG_START_XPG_LONG
    2010-03-11  08-52-09 : Before first call of RFCDispatch
    Security: rfcexec_logon_check
      rfcexec_logon_check: logon_user = TT4WNUC
      sapxpg_logon_check: rfc_attr.user = TT4WNUC
      rfcexec_logon_check: client = 100
    2010-03-11  08-52-09 : After first call of RFCDispatch
    2010-03-11  08-52-09 : Before call of RfcClose (sequencing error)
    2010-03-11  08-52-09 : After call of RfcClose (sequencing error)
    < Function: main
    2010-03-11  08-52-09 : End of SAPXPG: main
    I think the issue is with the user TT4WNUC. Could you please let me know from where I can change this user?
    Rajeev

  • LC  2 Error 1003 when executing external command brconnect on (xpgid=0,con

    Dear all,
    I am getting error in sm21.Please suggest .
    Details Page 2 Line 23 System Log: Local Analysis of clusa                    1
    Time     Type Nr  Clt User TCode Grp N Text
    10:00:32 DIA  000 600 DDIC       LC  2 Error 1003 when executing external command brconnect on (xpgid=0,convid=.)
    Error 1003 when executing external command brconnect on (xpgid=0,convid=.)
    Details
    Recording at local and central time........................ 10.05.2010 10:00:32
    Task...... Process                     User...... Terminal Session TCode Program  Cl Problem cl      Package
    06952      Dialog work process No. 000 DDIC                      1       SAPMSSY1 S  Operation Trace SBTC
    No documentation for syslog message LC 2 exists
    Parameter
      1 .... xpgid=0,convid=.
    Technical details
    File Offset RecFm System log Grp N variable message data
      224 260640                  LC  2 brconnect & &Error 1003 & & &
    Regards,
    Kumar

    Dear Juan,
    Please find the logs.Please suggest.
    dev_cp log
    Trace file of control program (trace level 3)
    < Function: BtcTrcInit> Function: main  SAPXPG 720
    2010-05-10--09-33-29 : Before BtcXpgDetach
      > Function: BtcXpgDetach  < Function: BtcXpgDetach  Accept RFC connection from R/3 system
    2010-05-10--09-33-29 : Before RfcAccept
    2010-05-10--09-33-29 : RfcAccept returned OK
    Begin of check_if_security_list
    security check switched OFF
    End of check_if_security_list
    Begin of check_trace_option
    End of check_trace_option
      Install RFC call SAPXPG_START_XPG
      Install RFC call SAPXPG_START_XPG_LONG
      Install RFC call SAPXPG_END_XPG
      Wait for RFC call SAPXPG_START_XPG or SAPXPG_START_XPG_LONG
    2010-05-10--09-33-29 : Before first call of RFCDispatch
    Security: rfcexec_logon_check
      rfcexec_logon_check: logon_user =
      sapxpg_logon_check: rfc_attr.user = BASIS      
      rfcexec_logon_check: client =   
      > Function: BtcXpgStartXpgLong   
    2010-05-10--09-33-29 : Beginning of BtcXpgStartXpgLong
        > Function: BtcXpgStartXpgImportLong      > Function: BtcXpgParam      < Function: BtcXpgParam      > Function: BtcXpgParam      < Function: BtcXpgParam      > Function: BtcXpgParam      < Function: BtcXpgParam      > Function: BtcXpgParam      < Function: BtcXpgParam      > Function: BtcXpgParam      < Function: BtcXpgParam      > Function: BtcXpgParam      < Function: BtcXpgParam      > Function: BtcXpgParam      < Function: BtcXpgParam      > Function: BtcXpgParam      < Function: BtcXpgParam      > Function: BtcXpgTable      < Function: BtcXpgTable    < Function: BtcXpgStartXpgImportLong   
    BtcXpgStartXpgLong: special_trace_flag = <6>
        > Function: BtcXpgStartXpgInt      > Function: BtcXpgItTransfer        Content of source log table:
              Line  Text
              <No StdOut/StdErr output reported>
            Target log table is not identical to source
            ItGetLine terminated with NULL
          < Function: BtcXpgItTransfer      > Function: BtcTrcReset      < Function: BtcTrcReset      Call mode: VIA RFC
          Input arguments of BtcXpgStartXpg:
            External program: brtools
          tracecntl = : 6
          Display of Parameter string switched off !!
            Contents of control flags:
              StdIn control flag: redirect StdIn
              StdOut control flag: store StdOut output in memory
              StdErr control flag: store StdErr output in memory
              Trace control flag: unknown contents
              Termination control flag: control program will wait for termination
          > Function: BtcXpgCheck        > Function: BtcXpgArgv
              parameter number 1:
              parameter number 2:
              parameter number 3:
              parameter number 4:
              parameter number 5:
              parameter number 6:
              parameter number 7:
              Total number of arguments scanned: 7
              Argument argv[0]: brtools
            < Function: BtcXpgArgv      < Function: BtcXpgCheck      > Function: BtcXpgSigInst      < Function: BtcXpgSigInst      > Function: BtcXpgStart        Rearrange stderr to be collected in memory
            Rearrange stdout to be collected in memory
            Redirect stdin, read from NUL:
            > Function: BtcTrcInit< Function: BtcXpgStartStart status of external program: external program successfully started
    Id of external process: 0000005296
    StdOut/StdErr collected in memory
      Line  Text
      <No StdOut/StdErr output reported>
    < Function: BtcXpgStartXpgInt> Function: BtcXpgStartXpgExport  > Function: BtcXpgParam  < Function: BtcXpgParam  > Function: BtcXpgParam  < Function: BtcXpgParam  > Function: BtcXpgParam  < Function: BtcXpgParam< Function: BtcXpgStartXpgExport
    2010-05-10--09-33-29 : End of BtcXpgStartXpgLong
    < Function: BtcXpgStartXpgLong
    2010-05-10--09-33-29 : After first call of RFCDispatch
    Wait for RFC call SAPXPG_END_XPG
    2010-05-10--09-33-29 : Before second call of RFCDispatch
    Security: rfcexec_logon_check
    rfcexec_logon_check: logon_user =
    sapxpg_logon_check: rfc_attr.user = BASIS      
    rfcexec_logon_check: client =
    > Function: BtcXpgEndXpg 
    2010-05-10--09-33-29 : Beginning of BtcXpgEndXpg
      > Function: BtcXpgStartXpgExport    > Function: BtcXpgTable    < Function: BtcXpgTable  < Function: BtcXpgEndXpgImport  > Function: BtcXpgEndXpgInt    > Function: BtcXpgItTransfer      Content of source log table:
            Line  Text
            <No StdOut/StdErr output reported>
          Target log table is not identical to source
          ItGetLine terminated with NULL
        < Function: BtcXpgItTransfer    > Function: BtcXpgReadChild      Output of external command not written to log !!
          Process executing external program has terminated
        < Function: BtcXpgReadChild    > Function: BtcXpgEnd    < Function: BtcXpgEnd    Termination status of external program: no errors reported
        StdOut/StdErr collected in memory
      < Function: BtcXpgEndXpgInt  > Function: BtcXpgEndXpgExport    > Function: BtcXpgParam    < Function: BtcXpgParam    > Function: BtcXpgParam    < Function: BtcXpgParam  < Function: BtcXpgEndXpgExport 
    2010-05-10--09-33-30 : End of BtcXpgEndXpg
    < Function: BtcXpgEndXpg
    2010-05-10--09-33-30 : After second call of RFCDispatch
    2010-05-10--09-33-30 : After call of RfcClose (wait)
    < Function: main
    2010-05-10--09-33-30 : End of SAPXPG: main
    dev_xpg
    Trace file of External Program (trace level 3)
    < Function: BtcTrcInit> Function: BtcXpgStart  External program: brtools -sid prd -F printout alert_log 20100401000000 0128
    Regards,
    Kumar

  • Adobe AIR - java is not recognized as an internal or external command operable program or batch file

    Hi,
    I've done everything as in the HelloWorld tutorial but when i run this cmd: adt
    it gives me the following error java is not recognized as an internal or external command operable program or batch file
    I've installed the AIR runtime v2
    Downloaded the SDK v2 and placed in D:\Www\air
    Modified the path variable with D:\Www\air\bin
    And then i open a new cmd console and simply write adt and gives me that error.
    I've updated to the latest version of Java, but it did solve it.
    But what's strage it's that the adl command work, but i'm not being able to pack my application.
    I'm running Windows 7 on x64 platform.
    Sincerely,
    Alex

    I think the 32bit version will work, but it sounds like you'll need to add the Java bin folder to your system path.  This is usually done by the Java installer, so I'm not sure what failed, did you run the installer located at www.java.com?  Either way, this document might be able to help you out:
    How do I set or change the PATH system variable
    Add the Java "bin" folder to your path, you might also need to add the CLASSPATH.
    Please let me know how it goes!

  • Error 801 when executing external command

    Dear all,
    One of our PRODcution system (PI) system getting lot of  below error in SM21.
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    00:07:17 sappip_PIP_03 BTC  038 400 BASIS                LC  2 Error 801 when executing external command on (xpgid=0,convid=.)
    OS : HP-UX , DB : Oracle and sapnetweaver2004s
    Kindly advise and let me know what should i check SM49 ?
    Thanks
    Edited by: satheesh0812 on Aug 18, 2011 4:37 PM

    Hi,
    Perhaps the steps and solution in this thread could help.:
    Error 801 when executing external command on
    Regards,
    Srikishan

  • Error1006 when executing external command mv ...

    This error concerns one of the several daily batch most critical. It was not detected before because even if there is an error the program won't never fail (we will review for sure this program).
    The error appears at the call of an external command ZRENAME that corresponds to the OS command "mv" to rename a physical file on directory /interface.
    This error seems corresponds to a timeout when the SAP system tries to call the mv command on the OS level ...
    ERROR:
    Time          Type      Nr       Clt      User            TCode      Priority      Grp      N      Text                                                                               
    12:00:51      BTC       034      120      BUSER_HK20                           LC       2      *Error1006 when executing external command mv on %_TCPIP_%1 (in=R,out=M,err=M,trc=0,trm=C. strtstat=,xpgid=0,convid=. msg:timeout during a)*
    Thanks in advance for help

    Hello
    Check note #1406178 Error 1006 occurs when you execute an external
    Regards
    Mark

  • How to execute external command?

    How to execute follow command and get its ouput on linux ?
    $ grep processor /proc/cpuinfo | wc -l

    sabre150 wrote:
    nitelia wrote:
    String[] command = {"sh","-c","grep processor /proc/cpuinfo | wc -l"};
              Process pro = Runtime.getRuntime().exec(command);
              BufferedReader bf = new BufferedReader(new InputStreamReader(pro
                        .getInputStream()));
              String x = null;
              while ((x = bf.readLine()) != null) {
                   System.out.println(x);
         This should workWow! So all one has to do is to use a shell to run the command! Isn't it a pity I did not give this solution in reply #3?You old sabre rattler! ;-)

  • Sm_SolmanSID error 503 when executing external command

    Hello,
    On one of my managed system (my productive ECC),
    I have the following error ,everyday at 20:00,
    for the user SM_SolamnSID.
    "Error 503 when executing external command on (xpgid=0,convid=.)"
    The role ZSAP_SOLMAN_READ has been given to this user.
    Could you tell me what I should perform to avoid this problem?
    Regards,

    Hi Benoit,
    Pls refer below threads for external error of 503,
    Cannot run SM69 external commands from application server
    Cannot run SM69 external commands from application server,&amp;nbsp;SM21&amp;nbsp;|&amp;nbsp;ABAP,&amp;nbsp;SAP,&amp;nbs…
    Regards
    K.N

  • I executed stopsap command and I rebooted server.Now I can not use startsap

    I executed stopsap command and rebooted server.Now I can not use startsap
    I use Oracle Database
    System gives me message below:
    Checking ORC Database
    ABAP database is not avalable via R3Trans
    ABAP Database ORC must be started on remote server
    How can I solve this problem?
    Thanks.

    Hello Cemil,
    Could you save the output that the script startsap returns to a file and upload it somewhere. Also the startsap logs, the location of which you could see when you run the startsap script. You could use http://www.rapidshare.com/ to upload the files.
    Regards,
    Ventsi Tsachev
    Technology Development Support (J2EE Engine)
    SAP Labs, Palo Alto, Ca (USA)

  • Disallow java program to execute external command

    How to disallow java program to execute some external command.
    Thank.

    It work by using custom policy, thank
    Test.java
            String command1[] = {"/bin/ls","-a,","-l"};
            String command2[] = {"/bin/pwd"};
            Runtime runtime = Runtime.getRuntime();
            try{
                Process p1 = runtime.exec(command1);
                Process p2 = runtime.exec(command2); // AccessControlException: access denied
                Scanner s1 = new Scanner(p1.getInputStream());
                Scanner s2 = new Scanner(p2.getInputStream()); 
                System.out.println(s1.nextLine());
                System.out.println(s2.nextLine()); 
            }catch(Exception ex){
               ex.printStackTrace();
            }java.policy
    grant{
       permission java.io.FilePermission "/bin/ls", "execute";
    }Run
    $java -Djava.security.manager -Djava.security.policy=java.policy Test
    java.security.AccessControlException: access denied (java.io.FilePermission /bin/pwd execute)

  • Executing external commands problem

    Hi,
    I have the following problem. I need to execute an external command on Linux (ffmpeg for example), but I want it to keep running even after my program exits.
    Any ideas how this could be done? I thought Runtime.exec() is the way to go, but as soon as my program terminates, so does the execution.
    Thanks in advance,
    Stefan Gueorguiev

    That was a good idea. Didn't know about nohup. I
    tried it but it doesn't seem to work.
    The command starts to execute but the program doesn't
    continue its execution.
    this is what I have so far
    myCommand = "nohup " + myCommand;
    ps9= Runtime.getRuntime().exec(myCommand);Where myCommand is a huge string with a lot of
    command line options.
    Any clues as to why that won't work?
    And is there a native java way to do this, without
    nohup.
    Thanks,
    StefanI tried to say that you should place that in a script file, and execute the script file from your application. (The script file can take arguments)
    Description of nohup:
    "Run a command immune to hangups, runs the given COMMAND with hangup signals ignored, so that the command can continue running in the background after you log out."
    The & after the command means that the process should run in the background.
    /Kaj

  • Executing external commands(vbscript from network drive)

    Hello All,
    There is a client requirement where a certain number of steps need to be automated as a background job. The current manual process is such that first a vbscript is run, which creates a temporary folder and connects to a FTP location and pick data and dump it into this temporary folder on the network drive. Then a standard SAP program uses this file from the defined path and is executed. Then another vbscript is run, which basically archives the files to a different folder. These steps need to be automated.
    Now we can use the cscript command in DOS to execute a .vbs script file. but this will not work with GUI_EXEC as this will fail in background. Will SXPG_COMMAND_EXECUTE/SXPG_CALL_SYSTEM fucntion modules work in this case ? I have not used them, so will they execute the command on the presentation server as I am guessing these work on the application server with the command created in SM69 ?
    Thanks and Regards,
    Sachin

    hi all,
    You don't have to create a System Commands in transaction SM69 to be able to execute the VBScript or other script within the program in background mode.
    When calling function "WS_EXECUTE" just add the "In Background Task" at the end to execute the VBscript or other scripts.
    This  extra line "In backround task" should not raise the exception
    CL_GUI_FRONTEND_SERVICES======CP.
    it should look like this.
    data: commandline(1000).
    commandline = 'P:\sapfrontend.vbs'.
      call function 'WS_EXECUTE' in BACKGROUND TASK
           exporting
                commandline    = commandline
                program        = 'WSCRIPT.EXE'
           exceptions
                frontend_error = 1
                no_batch       = 2
                prog_not_found = 3
                illegal_option = 4
                others         = 5.

  • Executing external 16 bit programs

    i want to execute some old 16 bit programs as back-end . I used process object and successfully executed some 32 bit programs. But when executing 16 bit programs it gives error as 'error in setting up environment' on windows. why is it happening and what changes are needed?try     {
                   Process ps=Runtime.getRuntime().exec("cmd.exe /c star1.exe ");     
                   OutputStream stdin=null;
                   stdin=ps.getOutputStream();
                   stdin.write("\n".getBytes());
                   stdin.close();
                   BufferedReader bos=new BufferedReader(new InputStreamReader(ps.getInputStream()));
                   String st=new String();
                   String ln=new String("");
                   while((ln=bos.readLine())!=null){
                        st+=ln;
                        st+="\n";                    
                   bos.close();
                   jt.setText(st);
                   catch (Exception e)
                        e.printStackTrace();
                   }

    yeah i tried on some other 16 bit programs and it executes them, so it seems thats not the problem. the error i mentioned was being given to the command line without cmd.exe /c some.exe So thats not the case either. I found
    that it doesn't show output unless program is terminated. And if program is waiting for keyboard stroke it doesn't accept it through inputstream of java, which i have in my code. So problem for me now is how to get output form program while it is still running and how to give keyboard stroke input to program expecting such an input. i need a resource suggestion or any kind of help explaining these points. please help me out...

  • How to execute external command from SAP

    Hi gurus,
    i need to execute an external command from a Sap (rel ECC.5.0) to a server UNIX (no SAP); precisely i have to write a file into a directory in unix server.
    I see transaction SM49 and Sm69 but i don't know how can i use these features.
    Please coul'd you help me or give me a documentation.
    Thank's in advance
    Maurizio Ortolani
    email. [email protected]

    Hi Maurizio,
    i do it in this way:
    CONSTANTS: CMD_LS(50)   VALUE 'ls -al /transfer/sap'.
      DATA: BEGIN OF ITAB_LS OCCURS 0,
              LINE(200),
            END   OF ITAB_LS.
      CALL 'SYSTEM'
        ID 'COMMAND' FIELD CMD_LS
        ID 'TAB'     FIELD ITAB_LS-SYS.
    How do you write the file, via an UNIX-COMMAND than try the above call
    with your command.
    Another way is to write the file via OPEN DATASET ..., TRANSFER ... TO ..., CLOSE DATASET.
    If you mean this i can give you an example.
    Hope it helps.
    Regards, Dieter

  • Executing external commands (linux)

    Hello everybody,
    I have to execute a command from my java program but I have a problem, when I do something like this:
    input has the complet path to a file I have, output has the complete path to the output file cert has the complete path to a digital certificate file keyfile has the complete path to the privatekey file.
       command = "openca-sv sign -in " + input +".pem -out " + output +" -cert " +cert +" -keyfile " + key;
                   r = Runtime.getRuntime();
                    p = r.exec(comamnd);
                    p.waitFor();
                    System.out.println("output value:: " +p.exitValue());
                   InputStream stream  = r.exec(command).getErrorStream();
                   int resl = stream.read();
                   System.out.println("result: " +resl);I know java is finding the command. But why it doesn't end the right way?
    The output for this piece of code is something like this:
    Output value: 1
    result: 91
    I know that the output value 1 means that the command didn't finished successfully, but what is the meaning of the other value? 91??
    I have also tryed passing as arguments the names of the files without the complete path, but the result is the same.
    I have tryed to execute the command from a console but it ends successfully. I have also tryed from a console passing all the files path and files without path and it worked. What could be the problem? AFAIK the command was written in C
    Thanks for any help
    Jhonny

    Hello, thanks for your reply.
    I know java is finding the command.
    How do you know that? It's always best to assume that Runtime.exec doesn't know your PATH.Because when I give a bad path for the command java says in the console:
    java.io.IOException: java.io.IOException: /usr/openca-sv: not found
         at java.lang.UNIXProcess.<init>(UNIXProcess.java:143)
         at java.lang.Runtime.execInternal(Native Method)
         at java.lang.Runtime.exec(Runtime.java:566)
         at java.lang.Runtime.exec(Runtime.java:428)
         at java.lang.Runtime.exec(Runtime.java:364)
         at java.lang.Runtime.exec(Runtime.java:326)
         at Prueba.firmar(Prueba.java:125)
         at Prueba.main(Prueba.java:56)
    I know that the output value 1 means that the command didn't finished successfully, but what is the meaning of the other value? 91??
    It's the ASCII value of the first character printed to stderr.ok.
    I forgot to give another info, I'm working in eclipse 3.0
    Now what do you think?
    Thanks again,
    Johnny

Maybe you are looking for