Process communication and runtime.exec()

I need to create a java class that interacts with a non-java application. The non-java application is a spell checking program which reads a misspelling from stdin and writes a list of suggestions to stdout.
I want a java class that will act as a gateway to this application so I can do the following:
JavaGatewayToSpellChecker checker = new JavaGatewayToSpellChecker();
String[] suggestions = checker.checkWord("misssspelling");Here is how I have the class set up so far:
import java.io.*;
public class JavaGatewayToSpellChecker()
    BufferedWriter writer;
    BufferedReader reader;
    public JavaGatewayToSpellChecker()
        try
            String[] cmd = new String[2];
            cmd[0] = "aspell";
            cmd[1] = "-a";
            Runtime rt = Runtime.getRuntime();
            System.out.println("Execing " + cmd[0] + " " + cmd[1]);
            Process proc = rt.exec(cmd);
            writer = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
            reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
        catch (IOException ioe)
            ioe.printStackTrace();
// no problems yet, as far as I can tell.
public String checkWord(String word)
        String reply = new String();
        try
            writer.write(word);
            String line = reader.readLine();
// I know that a line that begins with one of the following
// characters signals the end of the suggestion list
            while (! (line.startsWith("*") || line.startsWith("&") || line.startsWith("#")))
                reply = reply + line;
                line = reader.readLine();
        catch (IOException ioe)
            ioe.printStackTrace();
String suggestions[] = parseReply();
// code for parseReply() is omitted for brevity, but I
// never get down this far anyway. The code just hangs
// in the loop.
        return suggestions;
    }What am I doing wrong? I have seen a solution using a thread that just runs all the time gobbling the output and either throwing it away or writing it to a file, but I need the output returned so I can parse it and pass it back to the calling method.
I will be really impressed if anyone can solve this problem.
Thanks,
Jon

Well, you guys were no help at all. I spent hours reading the java forums and tried everything under the sun. I had a separate thread read the output and then tried to communicate with that thread using PipedReader/PipedWriter. I can read the output and write it to a file or print it, but I can't bloody pass it back to the calling method. What am I missing??
Finally I just made the class static and decided to exec the entire process everytime I need it. Since I have to spell check a couple hundred thousand strings I'm just going to have to start and stop the process a couple hundred thousand times. This is the most retarded programming solution I have ever come up with. I can't believe the guys who wrote the java.lang.Runtime package couldn't do any better than this. From what I can tell from reading the boards I am not the only person who has struggled with this issue.
There is clearly an elegant solution that anyone with six years of java experience and a week of free time on their hands could come up with, but for those of us who have only been programming since 2001 and who have to get on with life I guess it makes more sense just to let the computer run all night on a dumbass solution than try to divine the solution to this problem.
AAARRGGGHHHH. I just have to rant a bit. I wasted a whole day :(
My solution:
import java.io.*;
public class JavaGatewayToSpellChecker
    public static String checkWord(String word)
        String reply = new String();
        try
            String[] cmd = new String[2];
            cmd[0] = "aspell";
            cmd[1] = "-a";
            Runtime rt = Runtime.getRuntime();
            System.out.println("Execing " + cmd[0] + " " + cmd[1] );
            Process proc = rt.exec(cmd);
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
            BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            System.err.println("writing: "+word);
            writer.write(word);
            writer.newLine();
            writer.close();
            String line;
            while ( (line=reader.readLine()) != null)
                reply += line;
            int exitVal = proc.waitFor();
        catch (Exception e)
            e.printStackTrace();
        return reply;
[\code]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • Increasing memory used by java process when calling Runtime.exec()

    Hi everyone!
    I'm running a servlet Oracle iAS 9i, Jserv. It receives an image posted by a user and does a System.exec() which performs a call to convert (an image processing utility included in ImageMagick).
    After a few hours, java process start taking more and more RAM, until it crashes with an error like this:
    Memory: 5394008 free of 134217728 total. (I log this myself)
    Exception: java.io.IOException: Not enough space
    java.lang.UNIXProcess.forkAndExec(), line -2.
    java.lang.UNIXProcess.<init>(), line 54.
    java.lang.Runtime.execInternal(), line -2.
    java.lang.Runtime.exec(), line 553.
    ImageProcessor.convert(), line 235.
    ImageProcessor.createItemPics(), line 124.
    Uploader.doPost(), line 69.
    As you can see, this is not an OutOfMemoryError, but something else in connection with O/S.
    This is not related to hard disk space, since there is a lot of free space in every filesystems
    After restarting the webserver, everything goes back to normal and start increasing RAM again.
    Is there anything I can do? Any help will be gratly appreciated... Thanks!!!
    Dani.-

    Have you had any solutions to this pal?
    I am also suffering. I tried closing the processes by:
    Runtime runtime = Runtime.getRuntime();
    Process proc = runtime.exec("/opt/sta_rpms.sh " + sFileName);
    proc.waitFor();
    proc.getInputStream().close();
    proc.getOutputStream().close();
    proc.getErrorStream().close();
    proc.destroy();
    proc = null;
    but still after like a day...Though our codes are not alike, it sounds like the same reason.
    Cheers!

  • Environment of process created by Runtime.exec()

    Can anyone describe the interactions of the process environment created by Runtime.exec()?
    For example, if Runtime.exec() is used as follows:
    Runtime.exec("cmd /K somebatfile");
    Is the environment preserved throughout the execution of somebatfile?
    Rather, if the classpath, working directory, etc. is changed within "somebatfile" are those changes still preserved by the cmd shell if it is executed this way from Runtime?

    That is the way I thought things worked. Thanx.
    However, when I start my command script inside of a shell (with "cmd /K") I get a "file not found" error. The command generating the error is a java call loading a executable jar which uses jni to open sockets and I have no Idea what else. (I know about the sockets because of the failed socket messages that are generated after the file not found error). The source code for the launched application is not available.
    If you can provide some other insight I would appreciate it.

  • T2K/T5K type of Solaris servers and Runtime.exec

    It is being consistently observed that on T2k/T5k type of Solaris servers (e.g. T5220), the UNIX commands sent from Java using the Runtime class APIs are not being reveived by Solaris. It does not happen always, only occasionally. But when it happens, the java process hang at process.waitFor(). We are using Java1.6.
    I read the Java World article "When Runtime.exec() won't" and the behavior we are seeing is not because of any of the known pitfalls mentioned in the article. Also the warning in the Runtime API that speaks about the limited buffer size is also not applicable in this case because we do see it working sometimes. All of a sudden Runtime.exec gets stuck. We have also observed that the problem is not dependent on the command we pass through the Runtime.exec API. It happens for any trivial command.
    For more information on the issue, when we execute a 'pstack' on the process id, we see the following output most of the time and the 'truss' output shows the java process to be in a sleeping state:
    # pstack 20650
    ff2c52d8 lwp_park (0, 0, 0)
    ff2bf350 cond_wait_queue (24dd90, 24dd78, 0, 0, 0, 0) + 28
    ff2bf770 cond_wait_common (24dd90, 24dd78, 0, 0, 0, 0) + 294
    ff2bf874 cond_wait (24dd90, 24dd78, 0, 0, 0, 0) + 10
    ff2bf8b0 pthread_cond_wait (24dd90, 24dd78, ff2f3700, 0, f337da00, ecf00000) + 8
    eedddacc kernel_delete_session (24dd60, 24dd58, 0, 1, 3, 1c63c) + 114
    eeddd7dc kernel_delete_all_sessions (0, 1, 0, 1c8b4, 0, eedfa000) + 98
    eedd1eb4 cleanup_library (0, 1, 0, eedfa000, 28180, 3) + 3c
    eedd1f1c kernel_fini (0, 1, 0, eedfa000, 28120, eedfa4a4) + 44
    eede89e0 _fini (ff3f40fc, ff3f5a70, 2b3f4, 0, ff3f4910, 821) + 4
    ff3c54b4 call_fini (ff3f40fc, f43518f0, eede89dc, ff3f42f0, ff3f42a8, ff3f4910) + cc
    ff3cfdc0 remove_hdl (f43518f0, f1c4e2bc, 0, 4000, ff300a54, 4821) + ac8
    ff3ca408 dlclose_intn (f4351978, ff3f4910, ff3f40fc, 2a520, ff3ca4bc, 0) + 24
    ff3ca4e8 dlclose (f4351978, 0, f4350b88, 0, 1c00, 1) + 24
    eee33904 pkcs11_slottable_delete (1, f9e2c0, 46ec90, eee46bb0, 0, 1) + 138
    eee2e42c pkcs11_fini (eee46b8c, 1, eee2e074, eee46000, 17c18, eee46b84) + 4c
    ff241f38 postforkchild_handler (1d18, ff2f3700, 1c00, 4, f337da00, ff2f3700) + 30
    ff2b74bc fork (0, 41, 0, f1c4e744, ff2f3700, f337da00) + 144
    fe8a8ee4 Java_java_lang_UNIXProcess_forkAndExec (ffffffff, 0, fee0c0, fe8c4000, 4, 2) + 6d0
    f940bc20 * java/lang/UNIXProcess.forkAndExec([B[BI[BI[BZLjava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)I+-20552
    f940bbc4 * java/lang/UNIXProcess.forkAndExec([B[BI[BI[BZLjava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)I+0
    f94058b8 * java/lang/UNIXProcess.<init>([B[BI[BI[BZ)V+62
    f9405764 * java/lang/ProcessImpl.start([Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Z)Ljava/lang/Process;+182
    f9405874 * java/lang/ProcessBuilder.start()Ljava/lang/Process;+112
    f9405874 * java/lang/Runtime.exec([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;+16                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    If you haven't found the answer yet, I found it in another article. Basically, * and other wildcards are expanded by the shell so Runtime.getRuntime()exec("ls /tmp/*") won't work. You need to use the String[ ] form of exec(), i.e. Runtime.getRuntime()exec( new String[ ] {"sh", "-c", "ls /tmp/*"} )
    hope that helps.

  • Java GUI and runtime().exec help

    I have been working on a GUI that does an assortment of tasks. The final and last task is to make copies of a 3dModel conversion program and a script file that is required to make the converter run and convert. The converter and the script file are moved to a user specified directory. The user specified directory contains all of the models that will be converted. The problem is, I can't get the GUI to boot the converter with the script file. To make the converter work, you need to pass two window's cmd commands but the commands need to occur from the same directory as the converter and script file. This is what I have tried to do:
    String[] commands = new String[]{"cmd ",
    "/c ",
    "cd ",
    smdDirectory.getPath(),
    "skmodel ",
    "model_definition.txt "};
    try{               
    Process child = Runtime.getRuntime().exec(commands);}
    catch(IOException e){}The files have all ready copied to the correct directory. All I need is for the GUI to execute the "skmodel model_definition.txt" commands in the correct directory. What am I doing wrong?
    Thanks for the help in advance.

    String[] commands = new String[]{"cmd ",
    "/c ",
    "skmodel ",
    "model_definition.txt "};
    try{               
    Process child = Runtime.getRuntime().exec(commands, null, smdDirectory.getPath());}
    catch(IOException e){}I will try that and see if I get the desired results.
    EDIT:
    I got it to make. Here is the code.
    String[] commands = new String[]{"cmd ", "/c ", "skmodel",     "model_definition.txt "};
         try{
              Runtime runtime = Runtime.getRuntime();               
              Process child = runtime.exec(commands, null, smdDirectory);
    }Edited by: Euphoria on Sep 28, 2008 9:48 AM

  • To jschell How to get data System properties by JNI and Runtime.exec()

    Thank you very much for answer. ummm....but I'm can not gets data system properties by JNI or Runtime.exec(). Please help me. I'm want create Java-Applet for data System properties ( memory quantity?, Harddisk capacity?, CPU speed ?, Printer Name? and all hardwares ) in my computer. It very important for me. Help me please. thank you..

    Java applets are restricted to accessing only some system properties - and it is good so. I would not be happy if any applet could inquire about, say, my user name or the amount of memory in my box.

  • Difference between command line and Runtime.exec()

    Hi all.
    I'm coding some lines to call sqlldr program.
    System info:
    OS: Win2k server
    Java platform: JSK 1.4
    DBMS: Oracle 9i
    I've tested sqlldr in command line and it is OK. But when i call Runtime.exec("sqlldr user/pass@servicename control=mycontrol.ctl")
    the ErrorStream show that: Message 2100 not found,No message file for product=RDBMS ,facility=UL...
    So i had to put a String array which contained "ORACLE_HOME" as the second parameter of exec method. But there's another error appear:
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12560: TNS:protocol adapter error
    I checked tnsnames.ora and it's OK. I do the command line again and it's still OK. Why did Runtime.exec("...") method get Error.
    Does Someone solve it for me.
    Thanks so much.

    I'm having the similar/same issue.
    I'm trying to run SQLLdr from JAVA.
    From a command line, it works fine.. From within JAVA, I get..
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12640: Authentication adapter initialization failed.
    Did you find a solution to your problem?

  • Problems with Runtime.exec() and certain Unix processes

    Certain Unix processes don't behave correctly when run from Java using Runtime.exec(). This can be seen by running /bin/sh and trying to interact with it interactively. The issue appears to be that /bin/sh (and many other Unix tools) are checking the file handles on the spawned process to see if they are associated with a TTY.
    Is there any way to associate a process spawned by Runtime.exec() with a terminal or alternatively, is there a JNI library available that would setup the process correctly and still provide access to the input and output streams?
    Our objective is to have the flexibility of expect in being able to run and interact with spawned processes. A bug was opened at one point but closed back in 1997 as being a fault in the spawned process, not Java.
    Bug ID: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4058689

    #include <stdio.h>
    void doit() {
    int c;
            while((c=getc(stdin)) != EOF) {
                    printf("%c",c);
    int main() {
            freopen("/dev/tty", "r", stdin);
            doit();
    }This program reopens its standard input against /dev/tty and catenates it to stdout. And voila, it takes its standard input from the terminal, even though it was started with stdin against /dev/null..
    $ gcc b.c -o b
    $./b < /dev/null
    buon giorno
    buon giorno

  • How do you prevent MS-DOS window from appearing during Runtime.exec()?

    The question below was attached to the answer for Question of the Week No. 21. I'm having the same problem. Does anyone know the answer? Put another way does anyone know how javaw does it?
    Fri Dec 18 09:59:52 PST 1998
    rkarasek
    On Windows NT 4.0, how can I prevent CreateProcess()
    from creating a cmd.exe window when using javaw and
    Runtime.exec()? No such cmd.exe window is created if
    instead I run "java" from the command line.
    I have a C++ server named "foo", and have created
    a Java applcation with Swing GUI named "foo.java".
    This GUI captures configuration information and
    then uses Runtime.exec() to start the C++ app, with
    a socket established between the Java app and C++
    app for later communication.
    This is all working fine, and the Java application
    and GUI working as expected. When I run "java foo"
    from either the NT command shell (cmd.exe) or MKS
    Korn shell (sh.exe) the Java application/GUI starts,
    and when it calls Runtime.exec() my C++ process is
    started as what appears to be a child process of the
    "java" process, that is, no cmd.exe window is created
    during the Runtime.exec("foo.exe") call.
    However, when running the same Java application from
    a shortcut on the desktop via "javaw", when I invoke
    Runtime.exec() a cmd.exe window is created before my
    C++ server is started. While things are running
    ok and my Java app can still communicate with my
    C++ server, is there anyway I can prevent this
    cmd.exe window from being created, and instead, have
    my C++ server run as a child process of javaw (or
    an independent process without a cmd.exe)?

    cmd always opens a dos window - use another console interpreter instead or just call the programm directly.
    i.e.
    Runetime.exec("c:\\myprogram.exe");
    OR
    The following demonstrates executing a command without bringing up a popup. import java.io.*;
    public class Test {
      public static void main (String args[]) throws IOException {
        String[] command = {
          "C:\\winnt\\system32\\cmd.exe", "/y", "/c",
          "dir"};
        Process p = Runtime.getRuntime().exec(command);
        InputStream is = p.getInputStream();
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        String line;
        while ((line = br.readLine()) != null) {
          System.out.println(line);
    }However....
    According to bug number 4244515 in Sun's Bug Parade (http://developer.java.sun.com/developer/bugParade/bugs/4244515.html), javaw doesn't always work without bringing up new window.

  • Killing Internet Browser opened with Runtime.exec

    I am running Win NT 4.0 and I am successfully opening my HTML help using the following code:
    String command = new String("cmd /K ");
    command = command.concat("G:\editor\help\index.html");
    Process p = Runtime.getRuntime().exec(command);
    However, if I run p.destroy(), the browser window does not close. This means that the help remains open after the program exits and also that multiple help windows can be opened.
    Does anyone know how to kill a browser opened with Runtime.exec()?
    Thanks for any help you can offer,
    Christopher Collins
    Marineering Limited

    Thanks jmschrei,
    I tried System.exit(0) and Runtime.getRuntime().exit(0) and neither succeeded in closing the internet browser process. I suspect that process.destroy() and runtime.exit(0) both are killing the instance of the command interpreter spawned by runtime.exec("cmd /K URL") and not actually the browser opened by that command. Therefore, I think that the process refers to the "cmd" and not the browser, which probably opens completely independently of my Java program, thus can't be closed by it.
    Unforetunately, I don't know another way to open a browser.
    If anyone has any additional suggestions, I would appreciate it. Many people in the forums seem to have asked this one, and there are no solutions I could find.
    Christopher

  • Runtime.exec(): VM creates batch executions???

    I wrote an application that performs a task within a loop. Therefore i setup up a prograssbar in my GUI. during testing, the progressbar showed nice progress by just perforing a Thread.sleep() as the task. Then i replace the Thread.sleep() with the real task that is execution of a system command:
                        Runtime rt = Runtime.getRuntime();
                        process = rt.exec(command);     
                        exitCode = process.waitFor(); //wait until system command returnsand suddenly the progressbar doesn't proceed but pops up at the and of the complete loop. First i thought it is a refresh problem of the progressbar, but after i insertet System.out, these System.outs within the loop also only get printed (all but the very first) at the end of the loop. Toggling between the execution tasks "Thread.sleep" and "Runtime.exec" also toggles "nice progress output" and "output all at the end of the loop".
    I wonder why this happens?

    At least, i can workaround this because my system command throwed an IOException. With the correct command, it worked. But the effect still occurs, because I added a System.out in the catch clause and when using the wrong command (that cause the IOException), even those System.outs were printed in a batch way (all at wants) after all tasks finsihed. System.out.flush() didn't make any difference.

  • Backgrounding Runtime.exec

    Is there a way to background a Runtime.exec() call to a batch file? What I want to do is right after the batch file is executed I want to exit java and keep the .bat process running in the background. I am creating a process that lets the user upgrade a local JVM in the directory. But you can't necessarily do that from java. So I have a .bat file that extracts the necessary files. Any suggestions on how to background that?

    Hmmm as far as i know the Process created by Runtime.getRuntime.exec(String ex), runs independantly of the creator. And that is also what i get from reading the Process API, espacially this part "The subprocess is not killed when there are no more references to the Process object, but rather the subprocess continues executing asynchronously":
    API BEGIN
    The Runtime.exec methods create a native process and return an instance of a subclass of Process that can be used to control the process and obtain information about it. The class Process provides methods for performing input from the process, performing output to the process, waiting for the process to complete, checking the exit status of the process, and destroying (killing) the process.
    The Runtime.exec methods may not work well for special processes on certain native platforms, such as native windowing processes, daemon processes, Win16/DOS processes on Microsoft Windows, or shell scripts. The created subprocess does not have its own terminal or console. All its standard io (i.e. stdin, stdout, stderr) operations will be redirected to the parent process through three streams (Process.getOutputStream(), Process.getInputStream(), Process.getErrorStream()). The parent process uses these streams to feed input to and get output from the subprocess. Because some native platforms only provide limited buffer size for standard input and output streams, failure to promptly write the input stream or read the output stream of the subprocess may cause the subprocess to block, and even deadlock.
    The subprocess is not killed when there are no more references to the Process object, but rather the subprocess continues executing asynchronously.
    There is no requirement that a process represented by a Process object execute asynchronously or concurrently with respect to the Java process that owns the Process object.
    API END
    Poul Krogh

  • How to capture output from Runtime.exec() ?

    Hi,
    Well, the question is in the subject ...
    I'd like to capture the output of a process ran by Runtime.exec() in order to process it.
    thanks,
    ionel

    Okay ...
    Sorry for the post !
    I found the solution : Runtime.exec().getOutputStream()
    Thanks however
    ionel

  • Runtime.exec() for openning a browser

    hey guys!!
    I could open a browser using a runtime.exec(). once i have opened it can i use the process.getOuputStream() method to read what is there in the browser.
    How do i communicate with the browser?
    -karthek

    No, getOutputStream will read only what the program writes to standard output. Typically, GUI programs don't even use standard output. The only way you can communicate with processes started by Runtime.exec that I know of is with the Process class.

  • Runtime.exec on Mac

    How to use runtime.exec on Mac. I need to start iCal and I don't know how. calling runtime.exec("iCal") , runtime.exec("/Applications/iCal") and runtime.exec("/Applications/iCal.app") throws error. Please help. I don't know anything about Mac.

    Yes I did the second way and it gives a runtime
    error. I wrote a program that accepts argument and
    then executes it using getRuntime().exec(argument);
    I am still not able to start any programs under Mac.
    The problem is that I don't know anything about Mac.Suggestion.
    Figure out how to launch it from the terminal. That should give you an idea of what the command should be I think.
    Sorry I can't remember OTOH how to get into the terminal but I know you can.

Maybe you are looking for

  • My site looks weird in FF?

    Hi Guys, I've got a question for the mac and windows users who have the latest firefox installed. The six categories on my site http://www.offertelink.com (dutch: Offertes Aanvragen) display weird (position is through the site) since I played with th

  • Fiscal Year for output CSV

    I am trying to output file in CSV format. Everything works beautifully except Fiscal_date (format yyyymm); with cutoff on Sept of each year. I have codes that "interpret" the *:control.begin_date* (format yyyymmdd); if it's Sept, it'll be 201201. I a

  • Non valuated GR and commitment management

    Hello all, we have the following problem: we use commitment management in PS. Our Purchase orders have setting for non valuated GR. So the costs are only recorded on PS with the Invoice receipt. At month end when posting accruals for goods receipt bu

  • OWB and Stage/Target Schema Options?

    OWB and Stage/Target Schema Options? ========================= Thanks for your replies. As we know that we need to have Landing, Staging and Target (Data Warehouse) areas in ETL process. We are able to configure in multiple ways in OWB. Option 1 Keep

  • An unknown error has occurred manage appleid

    I needed to reset my security questions so i went to appleid.apple.com . however when i clicked manage my id and tried to log in, it would redirect me back to the previous page saying "An unknown error has occurred" I had changed my country from USA