Error while Executing Unix Shell Commands Using Runtime clas

I am trying to run the following code in java on unix machine to execute cat command.
Runtime runtime = Runtime.getRuntime();
          try {
               System.out.println("before catexecute");
               Process process = runtime.exec("cat /export/home/shankerr/local.profile > /export/home/shankerr/local1.txt");
               try {
                    if (process.waitFor() != 0) {
                    System.err.println("exit value = " +
                              process.exitValue());
                    catch (InterruptedException e) {
                    System.err.println(e);
But i get the following error on the console
exit value = 2
cat: cannot open >
cat: cannot open /export/home/shankerr/local1.txt
The same command if i run on unix console directly it creates a new file and copies the content into the new file local1.txt
kindly help me on the same

The redirection operator > along with stuff like pipe | history !$ etc. is interpreted by the shell, not by the cat program.
When you do cat X > Ycat only sees the X. The rest is interpreted by the shell to redirect the cat program's stdout.
However, when you Runtime.exec(), you don't have the shell, so cat sees X > Y as its arguments, and interprets them all as file names. Since there's no file named > you get the error.
The solution is to first man cat on your system and see if it happens to have a -o or somesuch operator that lets it (rather than the shell) send its output to a file. If not, then you need to invoke a shell, and pass it cat and all of cat's args as the command to execute.
Read the man pages for you shell of choice, but for bash, I believe you'd give Runtime.exec() something like /bin/bash -c 'cat X > Y'

Similar Messages

  • Error while executing unix shell script from java program

    Hi All,
    I am trying to execute unix shell script from a java program using Runtime.execute() method by passing script name and additional arguments.
    Code snippet :
    Java Class :
    try{
         String fileName ="test.ksh";
         String argValue ="satish"; // value passed to the script
         String exeParam = "/usr/bin/ksh "+fileName+" "+argValue;
         Process proc = Runtime.getRuntime().exec(exeParam);
         int exitValue = proc.waitFor();
         sop("Exit Value  is : "+exitValue);
    catch(Exception e)
    e.printStackTrace();
    }Test.ksh
      export -- application realated paths..
      nohup  abc.exe 1> test.log 2>&1;
      $1
      exit.By running the above java class , i am getting exit Value: 139 and log file test.log of 0 bytes.
    when i am running the same command (/usr/bin/ksh test.ksh satish) manually, it's calling abc.exe file successfully
    and able generate the logs properly.
    Pls let us know where exactly i am stuck..
    Thanks in advance,
    Regards,
    Satish

    Hi Sabre,
    As per the guidelines provided by the article, i had done below changes..
    InputStream is = null;
    InputStreamReader iStreamReader = null;
    BufferedReader bReader = null;
    String line = null;
    try{
    String fileName ="test.ksh";
    String argValue ="satish"; // value passed to the script
    String exeParam = "/usr/bin/ksh "+fileName+" "+argValue;
    Process proc = Runtime.getRuntime().exec(exeParam);
    is = proc.getErrorStream();
    iStreamReader = new InputStreamReader(is);
    bReader = new BufferedReader(iStreamReader);
    System.out.println("<ERROR>");
    while((line = bReader.readLine()) != null)
    System.out.println("Error is : "+line);
    System.out.println("</ERROR>");
    int exitValue = proc.waitFor();
    sop("Exit Value is : "+exitValue);
    catch(Exception e)
    e.printStackTrace();
    Now , it's showing something like..
    <ERROR>
    </ERROR>

  • Error while executing UNIX script from BODS - exit code 127

    I am trying to execute a unix script by calling it in BODS job. It is giving an error saying Program terminated with exit code 127. The same script when i am executing in UNIX it is working fine. I am unable to trace the issue.

    Hi Sabre,
    As per the guidelines provided by the article, i had done below changes..
    InputStream is = null;
    InputStreamReader iStreamReader = null;
    BufferedReader bReader = null;
    String line = null;
    try{
    String fileName ="test.ksh";
    String argValue ="satish"; // value passed to the script
    String exeParam = "/usr/bin/ksh "+fileName+" "+argValue;
    Process proc = Runtime.getRuntime().exec(exeParam);
    is = proc.getErrorStream();
    iStreamReader = new InputStreamReader(is);
    bReader = new BufferedReader(iStreamReader);
    System.out.println("<ERROR>");
    while((line = bReader.readLine()) != null)
    System.out.println("Error is : "+line);
    System.out.println("</ERROR>");
    int exitValue = proc.waitFor();
    sop("Exit Value is : "+exitValue);
    catch(Exception e)
    e.printStackTrace();
    Now , it's showing something like..
    <ERROR>
    </ERROR>

  • Error while executing FF_5 for EBS using swift mt940 format.

    Hi All,
    While executing the FF_5 I am getting the error as 'ACCOUNT STATEMENT NOT UPDATED',even though I have done the configuration for Electronic Bank Statement.Also I wanted to check whether the Posting Rules which are defined & assigned by me is correct or not, so I request you to give me the logic behind defining the posting rule.
    For your information I have created one Main bank a/c,Receipt a/c & Outgoing a/c for a particular bank & assigned the external transaction type to posting rules.
    Awaiting for your timely reply.
    Thanks in advance,
    Srinidhi C K

    Hi,
    I am using FEBA & FF67 t-codes & I just wanted to know why the accounts i.e Bank a/c's are not getting updated?
    Initially the system was showing an error that some of the external transactions are not maintained, but now I have maintained the relevant transactions that error is not existing now.
    Now I am able to print the statement but I am getting the same info accounts statement not updated & after executing the FF_5 t-code if check the lineitem display nothing is changed!! kindly help me to resolve it!!!
    With Regards,
    Srini
    Edited by: NIDHI C K on Aug 10, 2011 6:23 AM
    Edited by: NIDHI C K on Aug 10, 2011 6:28 AM

  • Execute unix shell script using DBMS_SCHEDULER

    Hi,
    I am trying run to shell script using DBMS_SCHEDULER.
    1) I check..nobody user exist on my HP-UX.
    2) I check externaljob.ora on (10.2.0.2.0) also..It has an entry..
    run_user = nobody
    run_group = nobody
    3) I created job successfully and enabled it.
    begin
    DBMS_SCHEDULER.CREATE_JOB
    job_name => 'test_unix_script',
    job_type => 'EXECUTABLE',
    job_action => '/tmp/test.ksh',
    start_date => '08-NOV-2006 04:45:16 PM',
    job_class => 'DEFAULT_JOB_CLASS',
    enabled => TRUE,
    auto_drop => FALSE,
    comments => 'test_unix_script.'
    END;
    EXEC DBMS_SCHEDULER.enable('test_unix_script');
    4) test.ksh script had -r-xr-xr-x permission.
    5) When I checking dba_scheduler_job_run_details view, ADDITIONAL_INFO column display following error messgae.
    ORA-27369: job of type EXECUTABLE failed with exit code: No such file or directory
    Did I miss anything?
    Any help will be appreciated!!
    Thanks..

    My /tmp/test.ksh trying to find database status.
    . ~oracle/.profile > /dev/null
    db_status=`eval sqlplus -s 'system/passwd@DEV' << EOF
    set pagesize 0 feedback off verify off heading off echo off
    select status from v\\$instance;
    exit
    EOF`
    echo $db_status > /tmp/db_status_out

  • Command not found error while executing a shell script

    Hello,
    I am a newbie to linux.I am attaching the code which gives me following errors..
    error list:
    1. no such file or directory enviornemnt
    2. command not found
    3. ambiguous redirectline
    Script
    cd $HOME/wkdir
    rm /tmp/*.log
    # source environment
    . ./env
    # Run the install script to setup the database
    # Configure SH account
    sqlplus "/ as sysdba" <<! > /tmp/perflab_install.log 2>&1
    grant connect, resource, dba to SH;
    alter user sh account unlock;
    # create the fetch_n_rows procedure
    sqlplus "$PERFLAB_USER" <<! >> /tmp/perflab_install.log 2>&1
    drop index sales_time_bix;
    drop index sales_time_idx;
    create index sales_time_idx on sales(time_id) compute statistics;
    -- fetch_n_rows: fetches 'n' rows from the specified statement --
    CREATE OR REPLACE PROCEDURE fetch_n_rows(
    stmt VARCHAR,
    name VARCHAR,
    nexec NUMBER := 1,
    nrows NUMBER := 0,
    debug BOOLEAN := FALSE)
    IS
    -- Local variables
    curs INTEGER := null;
    rc INTEGER;
    nexec_it INTEGER := 0;
    nrows_it INTEGER;
    BEGIN
    dbms_application_info.set_module('DEMO', name);
    WHILE (nexec_it < nexec)
    LOOP
    curs := DBMS_SQL.OPEN_CURSOR;
    DBMS_SQL.PARSE(curs, stmt, DBMS_SQL.NATIVE);
    rc := DBMS_SQL.EXECUTE(curs);
    nrows_it := 0;
    LOOP
    IF (dbms_sql.fetch_rows(curs) <= 0 OR (nrows <> 0 AND nrows_it = nrows
    THEN
    EXIT;
    ELSE IF (debug = TRUE)
    THEN
    DBMS_OUTPUT.PUT_LINE(nrows_it);
    END IF;
    END IF;
    nrows_it := nrows_it + 1;
    END LOOP;
    DBMS_SQL.CLOSE_CURSOR(curs);
    nexec_it := nexec_it + 1;
    END LOOP;
    dbms_application_info.set_module(null, null);
    END fetch_n_rows;
    show errors
    # Start the workload
    . ./start_workload.sh > /tmp/setup_perflab.log 2>&1
    # Wait two minutes for workload to get going
    sleep 120
    # Modify snapshot interval
    sqlplus -s /NOLOG <<EOF >> /tmp/setup_perflab.log 2>&1
    connect / as sysdba
    set head on
    set feedback on;
    set pagesize 40
    rem -- event to allow setting very short Flushing interval
    alter session set events '13508 trace name context forever, level 1';
    rem -- change INTERVAL setting to 2 minutes
    rem -- change RETENTION setting to 6 hours (total of 180 snapshots)
    execute dbms_workload_repository.modify_snapshot_settings(interval => 2,-
    retention => 360);
    EOF
    Note : start_workload.sh is also in the same directory..
    Any help would be greatly appreciated.

    Please put your script between "code" format delimiters.
    http://wiki.oracle.com/page/Oracle+Discussion+Forums+FAQ
    You can add the line "set -x" at the beginning of your script to see at which line it fails? I suspect the . ./env line.

  • PROBLEM in executing a shell command through Runtime.getRuntime().exec()

    Hi all,
    I was trying to execute the following code:
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.Statement;
    import java.sql.ResultSet;
    * Created on Mar 13, 2007
    * To change the template for this generated file go to
    * Window>Preferences>Java>Code Generation>Code and Comments
    * @author 195092
    * To change the template for this generated type comment go to
    * Window>Preferences>Java>Code Generation>Code and Comments
    public class ClassReportDeleteDaemon {
         ClassReportDeleteDaemon()
         public static void main(String[] args) throws Exception
              Connection conn = null;
              Statement stmt = null;
              ResultSet rs;
              String strQuery = null;
              String strdaysback = null;
              String delstring = null;
              int daysback;
              try
                   System.out.println("REPORT DELETION ::: FINDING DRIVER");               
                   Class.forName("oracle.jdbc.driver.OracleDriver");
              catch(Exception e)
                   System.out.println("REPORT DELETION ::: DRIVER EXCEPTION--" + e.getMessage());
                   System.out.println("REPORT DELETION ::: DRIVER NOT FOUND");
              try
                   String strUrl = "jdbc:Oracle:thin:" + args[0] + "/" + args[1] + "@" + args[2];
                   System.out.println("REPORT DELETION ::: TRYING FOR JDBC CONNECTION");
                   conn = DriverManager.getConnection(strUrl);
                   System.out.println("REPORT DELETION ::: SUCCESSFUL CONNECTION");
                   while(true)
                        System.out.println("WHILE LOOP");
                        stmt = conn.createStatement();
                        strQuery = "SELECT REP_DAYS_OLD FROM T_REPORT_DEL";
                        rs = stmt.executeQuery(strQuery);
                        while(rs.next())
                             strdaysback = rs.getString("REP_DAYS_OLD");
                             //daysback = Integer.parseInt(strdaysback);
                        System.out.print("NO of Days===>" + strdaysback);
                        delstring = "find /tmp/reports1 -name " + "\"" + "*" + "\"" + " -mtime +" + strdaysback + " -print|xargs rm -r";
                        System.out.println("DELETE STRING===>" + delstring);
                        Process proc = Runtime.getRuntime().exec(delstring);
                        //Get error stream to display error messages encountered during execution of command
                        InputStream errStream=proc.getErrorStream();
                        //Get error stream to display output messages encountered during execution of command
                        InputStream inStream = proc.getInputStream();
                        InputStreamReader strReader = new InputStreamReader(errStream);
                        BufferedReader br = new BufferedReader(strReader);
                        String strLine = null;
                        while((strLine=br.readLine())!=null)
                             System.out.println(strLine);
                   }     //end of while loop
              }     //end of try
              catch (Exception e)
                   System.out.println("REPORT DELETION ::: EXCEPTION---" + e.getMessage());
                   conn.close();
         }     //end of main
    }     //end of ClassReportDeleteDaemon
    But it is giving the error "BAD OPTION -print|xargs". The command run well in shell.
    Please help.
    Thanking u.......

    Since the pipe '|' is interpreted by the shell then you need the shell to invoke your command
            String[] command = {"sh","-c","find /tmp/reports1 -name " + "\"" + "*" + "\"" + " -mtime +" + strdaysback + " -print|xargs rm -r"};
            final Process process = Runtime.getRuntime().exec(command);
      You should also read http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html at least twice and implement the recommendation regarding stdout and stderr.
    P.S. Why are you not using Java to find and delete these files?
    Message was edited by:
    sabre150

  • Error while executing a java command

    Hi,
    When i am trying to excute the below i am geeting the error message
    Can some please help me in resolving this
    Command executed:
    java -jar eulbuilder.jar -connect user/a_password@instance
    Error:
    Picked up JAVAOPTIONS: -Dawt.toolkit=mercury.awt.awtSW -Xrunmicsupp -Xbootclas
    spath/a:C:\PROGRA~1\COMMON~1\MERCUR~1\SHARED~1\JAVAAD~1\classes;C:\PROGRA~1\COMM
    ON~1\MERCUR~1\SHARED~1\JAVAAD~1\classes\mic.jar
    Exception in thread "main" java.util.zip.ZipException: The system cannot find th
    e file specified
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(Unknown Source)
    at java.util.jar.JarFile.<init>(Unknown Source)
    at java.util.jar.JarFile.<init>(Unknown Source)
    -------------------------------------------

    dhilip wrote:
    Hi
    Execute this command "set CLASSPATH=./classes12.jar; " from your command prompt and then execute your jar.
    Thanks & Regards
    dhilipThere is so much so wrong with this "advice". For one thing the OP is not having a classpath issue. For another, it appears your "solution" to classpath issues is to try and use an Oracle JDBC driver... which is ... odd.
    You should at the very least investigate what the classpath is and how it works. Adding Oracle (or any other) JDBC jars to your classpath is not a magical solution to a classpath issue. Which again the OP isn't having anyway.

  • Error while executing the Process through GP Runtime

    Hi All,
           I have created a
    Process
           Sequential Block
                   Action 1
                   Action 2
    When i am running the process in the GP Runtime , the Action is executed and the View is displayed. When we click on the Submit button which on the form it wil execute the Complete() method in the CO linked to the Action 1,
    after that it needs to execute the Action 2 and display the View 2. Instead it is giving the following error
    "Cannot complete action: Cannot assign a java.lang.String object of length 48 to host variable 3 which has JDBC type VARCHAR(32)."
    Can somebody please help me with this???
    Thanks,
    sujata

    Hello Sujata,
    In your process, after clicking the submit button in Action 1, this should then jump to Action 2. It is not doing this, because you are using the Complete method incorrectly. This method is used to complete the whole process, therefore this method should be only used in Action 2. You need to redesign your process.
    Thanks and best regards,
    Carl Connolly
    Senior Support Consultant - Netweaver Web Application Server
    AGS Primary Support, Global Support Centre Ireland
    Guided Procedures trouble shooting guide:
    https://
    www.sdn.sap.com/irj/scn/wiki?path=/display/jstsg/%2528gp%2529home

  • Error while executing the table statistics using Brtools

    Dear Team,
    We are getting ORA-01031: insufficient privileges error whenever we have tried to execute the update or table statistics using brtools on our SAP development server. I have checked the permissions of sapcheck directory and changed it to 775 still error remains the same. I have observed, it is failing to create the sta or chk files in sapcheck directory after executing update statistics using Brtools.
    BR0291I BRCONNECT will be started with options '-p initDEV.sap -l E -f stats -t  "USTUD" -p 1'
    BR0280I BRTOOLS time stamp: 2010-07-20 12.02.33
    BR0670I Enter 'c[ont]' to continue, 'b[ack]' to go back, 's[top]' to abort:
    c
    BR0280I BRTOOLS time stamp: 2010-07-20 12.02.34
    BR0257I Your reply: 'c'
    BR0259I Program execution will be continued...
    BR0801I BRCONNECT 6.40 (50)
    BR0280I BRCONNECT time stamp: 2010-07-20 12.02.42
    BR0301E SQL error -1031 at location BrLicCheck-12
    ORA-01031: insufficient privileges
    BR0806I End of BRCONNECT processing: cedsegpe.log 2010-07-20 12.02.42
    BR0280I BRCONNECT time stamp: 2010-07-20 12.02.42
    BR0804I BRCONNECT terminated with errors
    I have checked the owner for SAPUSER table and it is showing as OPS$DEVADM
    Please, advise me on the same.
    Thanks and Regards,
    Kedar

    Dear All,
    Thanks for your responses.
    Permissions are set as below for br* files.
    sap-dev:devadm 23> ls -ltr br*
    -rwxrwxr-x   1 oradev     sapsys     3437688 Oct 31  2008 brarchive
    -rwxrwxr-x   1 oradev     sapsys     3547760 Oct 31  2008 brbackup
    -rwxrwxr-x   1 oradev     sapsys     4632408 Oct 31  2008 brconnect
    -rwxrwxr-x   1 devadm     sapsys     3850224 Oct 31  2008 brrecover
    -rwxrwxr-x   1 devadm     sapsys     1480656 Oct 31  2008 brrestore
    -rwxrwxr-x   1 devadm     sapsys     4837672 Oct 31  2008 brspace
    -rwxrwxr-x   1 oradev     sapsys     2175208 Oct 31  2008 brtools
    I guess it is fine because with these set of permissions, it is working absolutely fine in my quality system.
    QAS Permissions are as belows for your information
    sap-qas:qa1adm 22> ls -ltr br*
    -rwsrwxr-x   1 oraqa1     sapsys     3437688 Oct 31  2008 brarchive
    -rwsrwxr-x   1 oraqa1     sapsys     3547760 Oct 31  2008 brbackup
    -rwsrwxr-x   1 oraqa1     sapsys     4632408 Oct 31  2008 brconnect
    -rwxrwxr-x   1 qa1adm     sapsys     3850224 Oct 31  2008 brrecover
    -rwxrwxr-x   1 qa1adm     sapsys     1480656 Oct 31  2008 brrestore
    -rwxrwxr-x   1 qa1adm     sapsys     4837672 Oct 31  2008 brspace
    -rwsrwxr-x   1 oraqa1     sapsys     2175208 Oct 31  2008 brtools
    So do you feel still it has something to do with permissions?
    Thanks and Regards,
    Kedar

  • Error while executing the LOADJAVA command.

    Hi everybody,
    I am trying to load the following jar files:
    loadjava -u uname/pwd@DRDEV XXX.jar
    olite40.jar
    wsclient.jar
    orabpel-ant.jar
    ojdbc14.jar
    orabpel-boot.jar
    orabpel-common.jar
    orabpel-thirdparty.jar
    orabpel.jar
    bpm-services.jar
    soap.jar
    orasaaj.jar
    xml.jar
    oc4jclient.jar
    jazncore.jar
    bpm-infra.jar
    xmlparserv2.jar
    It is giving an error that it could not refernce some other classes and loading only those classes with valid state which are not importing any other classes unavailable in the databse...in what order should I loasd them..or is there any way I could load them with looking for dependencies.
    Thanks
    Krrish

    loadjava relies on a correct JAVACLASSPATH environment variable.
    Other than that, this very much looks like a BPEL question, and this will probably have it's own forum. Various products require emendations to the standard JAVACLASSPATH.
    Sybrand Bakker
    Senior Oracle DBA

  • Diadem runtime error while executing command "SchemeMeasStar"

    Hello:
    I used DIAdem9.0 and DAQCard6062E to acquire 16 channel data. I collected 65536 data for every channel. Whereas After the data acquisition stopped, an Error Message would poped up, but the data is still stored in data portal. the Error is like follows:
    -Error- DIAdem
    Runtime Error While Executing Command "SchemeMeasStar"
    Error Type: UNKNOWN
    Error Address:00001720
    Module Name:GFSBase.Dll
    Would you like to give me some suggestions?
    thanks very much
    jing

    Dear MarcusP:
    Thank you very much.
    your solution really works. The attached is the detailed information of the problem. Would you like to tell me more about the prolem and how to solve the problem thoroughly.
    Thank you very much.
    yours
    Jing
    Attachments:
    DIAdem_Error.doc ‏305 KB

  • Re: Error while Execute External Operating System Command using T.code SM49

    Dear Experts,
    I Have uploaded one .exe file in the application server (eg: sum.exe) and created the OS command in SM69 transaction .
    And maintained the application server path in the 'operating system command' field in SM69 t.code.
    Our SAP system, oprating system is UNIX.
    After I have executed the external command using transaction SM49 , but I got the below error.
    Can not execute external program (permission denied) , External program terminated with exit code 1
    Immediately I run the SU53 transaction code to check the authorization, but Authorization was successful.
    Could any one please help on this error.
    Thanks in advance.

    >>Can not execute external program (permission denied) , External program terminated with exit code 1
    You need to give the permission as 755 to your file.
    >>I Have uploaded one .exe file in the application server (eg: sum.exe)
    You are on UNIX and do not expect to any result of .exe file as UNIX doesn't know about this.

  • Runtime error while executing rule - see long text RSTRAN 301

    Hi BW Gurus,
    When I executing the DTP, the following error occured.
    Runtime error while executing rule -> see long text     RSTRAN     301
    Diagnosis
        An error occurred while executing a transformation rule:
        The exact error message is:
        The argument 'GBP' cannot be interpreted as a number
        The error was triggered at the following point in the program:
        GP46DQFOYRZTUS0QITMO07IFTS0 1137
    Appreciate any useful suggestions.
    Thanks in advance.
    Maruthi

    Guess you are doing some calculation in your routines ..based on Currency Key i.e USD or INR , GBP..etc ..it should be currency value..rather than currency key. Check your field caluclation

  • Error while executing "" command Error type ACCESS VIOLATION Error Address: 0006898E Module name:gfsdesk.DLL

    Hi All,
    I'm using diadem from .net Program. While on the run I'm getting the following error.
    Error While executing "" Command
    Error type ACCESS VIOLATION
    Error Address: 0006898E
    Module name:gfsdesk.DLL
    Anyone have any idea why this is happening?
    regards,
    Swaroop

    Hi Swaroop,
    It would be helpful to better understand what your code really does. The information that you called DIAdem from your enviroenment is not yet sufficient to understand what the problem might be.
    Andreas

Maybe you are looking for

  • I cannot print pdf documents from Adobe Acrobat

    When I open up a pdf document in Adobe Acrobat, I am unable to print it. If I try and use an HP Laserjet 1606 laser printer Acrobat crashes. When I use either an HP Office Jet 7000 wide format ink jetprinter or a Brother MFC 3360C multi function ink

  • Calling a soap web service from a java desktop application

    Hi, Does anyone know how to call a soap web service from a java desktop application? I've seen examples using Apache Axis, but it sounds like Axis needs to run on a web server and we are trying to avoid that. My initial thought was that, "of course w

  • Can we please develop a button that will

    Can we please work on developing a tool to purge the "other" memory taking up 8 gigs on my 13.4 gig iphone. I am passed tired of restoring and redoing my iphone. Isn't there any interest? From support forums, I see a need. Seriously, I'd pay $50 for

  • .ttf font will install but displays improperly

    Howdy. II just downloaded a .ttf which installed all well and good. The problem is I need this font for use in Photoshop, but it displays improperly. The font itself is correct, but looks as though it's bold and over-saturated. I did some quick troub

  • BADI or Exit for MIRO

    Hi All, I have a client requirement which is unique.We use bill of lading number for delivery cost or freight. Now the requirement is,if we enter bill of lading in MIRO it should pick all the prices from PO(like delivery Note). I understand in standa