To Kill Parent / Child process

Hi ,
I'm facing problem with killing a process. I'm using "kill -9 <ppid>"(ppid - parent process id) command to kill the process, this command kills the parent process but the associated child process is not killed.
I'm new to this Solaris, and my question is
Do killing the Parent process internally kills the child process too? if the child process is taking time, how to ensure that the child process is killed before killing the Parent process.
Thanks in advance for your response.

Do killing the Parent process internally kills the child process too?Hello.
If the parent process ends (does not care if regular exit or kill) it sends a signal to all its child processes. This is equal to "kill -xxx <child_pid>" (sorry that I do not know the number "xxx" by now).
By default this signal will kill the child process but it is a signal that can be caught or ignored. This means the child process can tell the operating system that it does not wish to be killed when the parent is killed, the parent exits or an explicit "kill -xxx" is sent. (Only two signals cannot be caught or ignored: SIGKILL and one that pauses the process.)
Martin

Similar Messages

  • [Solved] Bash: killing child processes

    I decided to make a session manager that will kill all child processes before exiting, the only problem is that it doesn't kill them all.
    I tried using the same function, and using it in conjunction with
    yes >/dev/null & bash
    yes >/dev/null & bash
    yes >/dev/null & bash
    yes >/dev/null & bash
    running in a terminal, and it sent all of them the TERM signal.
    I'm out of ideas.
    Code is here.
    The relevant section is:
    # Kill child process of given parent
    # This uses PIDs not names
    # Also prints out a list of child pids that should be killed
    # FIXME: Clean this up a bit
    kill_child_processes()
    PARENT_ID=$1
    # Find child processes and put them in the form PID%seperator%COMMAND
    local CHILD_PROCESSES=$(ps o ppid,pid,command | \
    awk "{if (\$1 == $PARENT_ID) {print \$2,\"_\",\$3;}}" | \
    sed 's| _ |%seperator%|')
    # Do this for each child
    for child in $CHILD_PROCESSES; do
    # Extract the PID and COMMAND into separate variable from $child
    local child_pid=$(echo $child | sed 's|%seperator%.*||')
    local child_command=$(echo $child | sed 's|.*%seperator%||')
    # If the child command has child processes, recurse through it
    if [ "$(ps o ppid,pid,command | awk "{if (\$1 == $child_pid) {print \$2;}}")" != "" ]; then
    kill_child_processes $child_pid
    fi
    # If the command isn't part of a blacklist, send it the TERM signal
    if [ x$(for dont_kill_command in $DONT_TERM; do \
    [ x$dont_kill_command == x$child_command ] && echo "MATCH"; \
    done) == x"" ]; then
    kill $child_pid &
    # echo the PID so we can use it later
    echo $child_pid
    fi
    done
    Thanks.
    Last edited by some-guy94 (2010-01-13 22:48:39)

    gradgrind wrote:You might like to try pkill / pgrep with the -g option?
    Unfortunately that isn't what I'm looking for, I want this to work with multiple sessions(not that difficult), and also work with other apps on other tty's.
    Currently what it does is it runs ps o ppid,pid,command x which gives a nice table
    1234 5678 command1
    1234 5679 command2
    and if the ppid matches the session's pid, it's pid is saved, and (this part is looped) if it has child processes, then the function is run on the pid, afterward the pid is killed.
    It works when I separate the function from the rest of the script, but when it is in a session it fails to work properly.
    Last edited by some-guy94 (2010-01-05 23:11:57)

  • Inspection for Parent Child Relation

    Hi
    We are producing Mat.A from Mat .B and you want to copy the results from Mat.B .
    Both materials are batch managed.
    The requirement is - At the inspection for Material A , want to use batch derivation to copy results of Mat B (Parent Child Process)
    Please Guide ..
    Please schare Doc if available ..
    Mayank MEHROTRA
    Or in other words..
    Whether its possible to transfer the characteristics values of the batch from parent materia (MOM Materials)l to Child Materials
    Edited by: Mayank MEHROTRA on Jul 30, 2010 2:19 PM

    Hi Mayank,
    We had the same issue in one project. What we did, we develped a z- transaction and program for that.
    We had child batches, for eg, 1234561,1234562,1234563,1234564. here the mother batch is 123456. so we recorded value for this mother batch in MSC1N. In developed z transaction, we had a field called "mother batch" and next two fields as "from child batch" and "to child batch". So make entry in these fields and execute. Data will be populated automatically.
    Sit with a good ABAPer, he will be able to develop the same.

  • Killing a sub process from it's parent process

    does any one know if ther's a way of killing a sub process from it's parent process?

    There are a few ways to do this depending on how the subprocess was invoked and if you are inside the parent work item instance or if you are using PAPI.
    If you are not using PAPI, here's how you could abort the child work item instances spawned by a parent process's work item instance.
    Asynchronously Spawned Children
    If a child process was invoked using an asynchronous Process Creation activity, the work item instance in the parent has a predefined hash table variable called "children". Downstream of the parent's Process Creation activity (called "SpawnChildren" in the PBL logic below), you can get the child's instance id using the children hash table and use this to send a notification to a Message Wait activty in the spawned child process instance using logic like this:
    send Notification
            using instanceId = children["SpawnChildren"],
                  activityName = "TerminateChild",
                  parameters = nullThe Message Wait activity needs to have its "Allows Interrupt" property checked in the child process. As you add this Message Wait activity (called "terminateChild" in the example above) make it an orphan with no transitions in or out initially. Once notified by the parent process, it still needs to be aborted so add a new Automatic activity in the child with this logic:
    action = ABORTFinally, add a transition from the Message Wait activity in the child subprocess to the Automatic activity.
    Synchronously Spawned Children
    If all you know is the parent work item instance's id and the child subprocess was invoked using a synchronous SubFlow activity, you could send a notification to a Message Wait activity that has it's "Allows Interrupt" property checked in the parent. If the Message Wait activity flows to an Automatic activity, you could use logic like this to kill the child subprocess work item instances synchrously spawned by the parent:
    for each ch in ProcessInstance.children do
        send Notification
            using instanceId = ch,
                  activityName = "TerminateChild",
                  parameters = null
    end
    action = SKIPSince the parent's instance was stuck in the Subflow activity, you'd need to send a notification to the parent's Message Wait activity in the parent process.

  • How to kill parent and child thread in sequnece

    Hello freinds,
    I have one class FirstClass which creates one thread Pserver and Pserver creates three threads then how to kill parent Pserver and child threads.........

    define a method that requests that the parent thread terminate itself, and within the code called when the thread is shutting itself down, have it do something similar to its child threads: call methods that request they shutdown themselves.
    One common way to do this is to interrupt the thread.

  • Killing child process, not just the shell

    Killing child process, not just the shell
    #241 - 07/11/03 11:30 AM
    Edit post Edit Reply to this post Reply Reply to this post Quote
    Hi,
    I am working on a system for automatically testing student submissions on an introductory course about unix scripting. The program works by running a test script on a student submission, using Runtime.getRuntime().exec(). The Process object has a limited life span of 10 seconds (by default), and if it is still running after these 10 seconds, Process.destroy() is used to kill it.
    A bug exists when one of the submissions being tested times out. When the destroy() method is used it leaves a child process running... since students can also run
    some tests from the file submission client, the number of hanging processes soon adds up as they test and test again to get it right before submission. Eventually this results in too many processes and the server keels over.
    Does anyone have any ideas on killing these hanging processes?

    Not much help, but I think this is a known bug ...
    http://developer.java.sun.com/developer/bugParade/bugs/4770092.html

  • Vi server parent kill his child

    "I use a VI-server (parent vi) to start another VI (child) with a closed front panel. When the parent stops running he killed his child. How can I avoid this? There is no problem when the front panel of the child stays open."
    -posted

    You should open a reference to the child from itself, as long as vi's without front panel need them to stay open. If not, LV considers you closed the front panel because you wanted to exit. Be sure the child vi has enough time to open the reference before closing the parent vi, else it won't work.
    Hope this helps

  • Can a parent thread kill a child thread?

    I'm writing a multi-threaded application in which it is possible for one of the threads to go into an infinite loop. Is there any way for a parent thread to actually kill the child thread that has gone into the infinite loop? Of course the parent thread won't actually be able to discern whether or not the child thread is in an infinite loop. I would specify some time out value, and when it has been exceeded, then I would want to kill the child thread. Is this possible without setting any sort of flag that the child would read, because once it gets stuck inside an infinite loop, there will be no way to read the flag.

    Here's an example of a program that I wrote to simply ping a server. It works somewhat backwards from what you were looking for (the child interrupts the parent) but should provide some clue:
    import java.net.*;
    import java.io.*;
    import java.util.Date;
    public class ServerPing extends Thread {
      String [] args;
      public static void main(String[] args) throws Exception {
        ServerPing sp = new ServerPing(args);
        sp.start();
      ServerPing(String [] args) {
        this.args = args;
      public void run() {
        Pinger pinger = new Pinger(this);
        pinger.start();
        try {
          sleep(30000);
        catch (InterruptedException x) {
          System.exit(0); // this is ok. It means the pinger interrupted.
        System.out.println("TIMEOUT");
        System.exit(1);
    class Pinger extends Thread {
      Thread p = null;
      Pinger (Thread p) {
        this.p = p;
      public void run() {
        try {
          URL simpleURL = new URL("http://localhost:7001/ping.jsp");
          BufferedReader in = new BufferedReader(new InputStreamReader(simpleURL.openStream()));
          String inputLine;
          while ((inputLine = in.readLine()) != null)
          System.out.println(inputLine);
          in.close();
          p.interrupt();   // <<-- interrupt the parent
        catch (Exception x) {
          x.printStackTrace();
    }

  • Apache POST flex2gateway never closes or times out, reaches max child processes

    We have been trying to pass an external PCI scan, and noticed some server lockups after starting a scan.  We are scanning a couple hundred IP addresses, which all resolve to the same servers.  The scans are actively looking for vulnerabilities on the box, and one of which is flash remoting.  When we look at the apache /server-status page, it shows a ton of long running flex2gateway processes.  For instance:
    22-4
    4466
    0/3817/3817
    W
    4.07
    163840
    0
    0.0
    57.76
    57.76
    x.x.x.101
    WebNode2.ambassador.int
    POST /flex2gateway/http HTTP/1.1
    As you can see, this POST request has been running for 163840 seconds, or nearly two days.  Since it seems these POST requests never complete, even though the client has long since disconnected, they simply stack up until the server's max number of child processes has been reached, effectively killing our webserver.
    When I try to restart the clustered coldfusion instances one at a time, these POST requests do not die off.
    If I stop both clustered CF instances, the requests complete (or get killed).
    If I reload or restart apache, the requests are gone as well.
    strace gives me nothing useful:
    [root@WebNode1 ~]# strace -p 34025
    Process 34025 attached - interrupt to quit
    read(185,
    pstack gives a little more, but nothing that looks obvious to me:
    [root@WebNode1 ~]# pstack -p 34025     
    Usage: pstack <process-id>
    [root@WebNode1 ~]# pstack 34025  
    #0  0x00007fdd40444740 in __read_nocancel () from /lib64/libpthread.so.0
    #1  0x00007fdd33efe2e6 in jk_tcp_socket_recvfull () from /opt/coldfusion10/config/wsconfig/1/mod_jk.so
    #2  0x00007fdd33f1b68d in ajp_connection_tcp_get_message () from /opt/coldfusion10/config/wsconfig/1/mod_jk.so
    #3  0x00007fdd33f1ceea in ajp_get_reply () from /opt/coldfusion10/config/wsconfig/1/mod_jk.so
    #4  0x00007fdd33f20308 in ajp_service () from /opt/coldfusion10/config/wsconfig/1/mod_jk.so
    #5  0x00007fdd33ef8f5d in jk_handler () from /opt/coldfusion10/config/wsconfig/1/mod_jk.so
    #6  0x00007fdd41b92cd0 in ap_run_handler ()
    #7  0x00007fdd41b9658e in ap_invoke_handler ()
    #8  0x00007fdd41ba1c50 in ap_process_request ()
    #9  0x00007fdd41b9eac8 in ?? ()
    #10 0x00007fdd41b9a7d8 in ap_run_process_connection ()
    #11 0x00007fdd41ba6ad7 in ?? ()
    #12 0x00007fdd41ba6dea in ?? ()
    #13 0x00007fdd41ba7a6c in ap_mpm_run ()
    #14 0x00007fdd41b7e9b0 in main ()
    I dont know what that tells us exactly, but I'm leaning toward the hangup between apache and tomcat. 
    Any suggestions on where how to troubleshoot this issue?

    On a test server, I have removed the wildcard from the uriworkermap.properties file, so it now only matches "/flex2gateway" and "/flex2gateway/".  Unfortunately I'm still seeing the occasional hung apache worker. 
    Anyone have any leads on this issue?  I don't mind doing the research, I'v just exhausted the limits of my Google Fu.
    Apache Server Status for 10.10.10.205
    Server Version: Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips mod_wsgi/3.2 Python/2.6.6 mod_jk/1.2.32 mod_perl/2.0.4 Perl/v5.10.1
    Server Built: Oct 16 2014 14:48:21
    Current Time: Monday, 10-Nov-2014 16:49:22 EST
    Restart Time: Monday, 10-Nov-2014 15:25:16 EST
    Parent Server Generation: 0
    Server uptime: 1 hour 24 minutes 6 seconds
    Total accesses: 5313 - Total Traffic: 98.4 MB
    CPU Usage: u3.97 s1.26 cu0 cs0 - .104% CPU load
    1.05 requests/sec - 20.0 kB/second - 19.0 kB/request
    15 requests currently being processed, 11 idle workers
    WWWWWWW_W_W_W__W__W__WW_W_...................................... ................................................................ ................................................................ ................................................................
    Scoreboard Key:
    "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
    "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
    "C" Closing connection, "L" Logging, "G" Gracefully finishing,
    "I" Idle cleanup of worker, "." Open slot with no current process
    Srv
    PID
    Acc
    M
    CPU
    SS
    Req
    Conn
    Child
    Slot
    Client
    VHost
    Request
    0-0
    8727
    0/12/12
    W
    0.03
    4572
    0
    0.0
    0.05
    0.05
    10.10.2.201
    qc.company.int
    POST /flex2gateway HTTP/1.1
    1-0
    8728
    0/11/11
    W
    0.03
    4358
    0
    0.0
    0.18
    0.18
    10.10.2.201
    qc.company.int
    POST /flex2gateway HTTP/1.1
    2-0
    8729
    0/38/38
    W
    0.04
    3910
    0
    0.0
    1.11
    1.11
    10.10.2.201
    qc.company.int
    POST /flex2gateway HTTP/1.1
    3-0
    8730
    0/27/27
    W
    0.03
    4064
    0
    0.0
    0.79
    0.79
    10.10.2.201
    qc.company.int
    POST /flex2gateway HTTP/1.1
    4-0
    8731
    0/16/16
    W
    0.03
    4354
    0
    0.0
    0.12
    0.12
    10.10.2.201
    qc.company.int
    POST /flex2gateway HTTP/1.1
    5-0
    8732
    0/7/7
    W
    0.02
    4564
    0
    0.0
    0.02
    0.02
    10.10.2.201
    qc.company.int
    POST /flex2gateway HTTP/1.1
    6-0
    8733
    0/8/8
    W
    0.02
    4673
    0
    0.0
    0.01
    0.01
    10.10.2.201
    qc.company.int
    POST /flex2gateway HTTP/1.1
    7-0
    8734
    0/386/386
    0.37
    4
    0
    0.0
    6.49
    6.49
    10.10.2.212
    www.company.qc
    GET /marketingpages/images/login_over.jpg HTTP/1.1
    8-0
    9422
    0/10/10
    W
    0.02
    4564
    0
    0.0
    0.04
    0.04
    10.10.2.201
    qc.company.int
    POST /flex2gateway HTTP/1.1
    9-0
    10112
    0/393/393
    0.37
    6
    0
    0.0
    14.59
    14.59
    10.10.2.212
    www.company.qc
    GET /marketingpages/images/box_onesource.jpg HTTP/1.1
    10-0
    10468
    0/321/321
    W
    0.32
    846
    0
    0.0
    4.42
    4.42
    10.10.2.212
    qc.company.int
    POST /flex2gateway HTTP/1.1
    11-0
    10470
    0/398/398
    0.38
    6
    0
    0.0
    12.80
    12.80
    10.10.2.212
    www.company.qc
    GET /marketingpages/images/home_eco.jpg HTTP/1.1
    12-0
    10471
    0/340/340
    W
    0.32
    837
    0
    0.0
    4.99
    4.99
    10.10.2.212
    qc.company.int
    POST /flex2gateway/ HTTP/1.1
    13-0
    10544
    0/404/404
    0.34
    6
    0
    0.0
    5.21
    5.21
    10.10.2.212
    www.company.qc
    GET /marketingpages/images/box_top.jpg HTTP/1.1
    14-0
    10592
    0/353/353
    0.40
    6
    12
    0.0
    14.10
    14.10
    10.10.2.212
    www.company.qc
    GET /?login HTTP/1.1
    15-0
    10648
    0/296/296
    W
    0.31
    800
    0
    0.0
    3.82
    3.82
    10.10.2.212
    qc.company.int
    POST /flex2gateway/ HTTP/1.1
    16-0
    12382
    0/339/339
    0.33
    6
    0
    0.0
    2.85
    2.85
    10.10.2.212
    www.company.qc
    GET /marketingpages/images/logo_sourceone.jpg HTTP/1.1
    17-0
    12387
    0/336/336
    0.34
    6
    0
    0.0
    5.06
    5.06
    10.10.2.212
    www.company.qc
    GET /marketingpages/images/logo_onesource.jpg HTTP/1.1
    18-0
    12388
    0/265/265
    W
    0.25
    839
    0
    0.0
    2.87
    2.87
    10.10.2.212
    qc.company.int
    POST /flex2gateway/ HTTP/1.1
    19-0
    12389
    0/323/323
    0.31
    0
    0
    0.0
    4.82
    4.82
    10.10.2.212
    www.company.qc
    GET /marketingpages/lib/dimming.js HTTP/1.1
    20-0
    12390
    0/336/336
    0.31
    4
    0
    0.0
    5.24
    5.24
    10.10.2.212
    www.company.qc
    GET /marketingpages/lib/superfish.js HTTP/1.1
    21-0
    12391
    0/289/289
    W
    0.27
    805
    0
    0.0
    2.49
    2.49
    10.10.2.212
    qc.company.int
    POST /flex2gateway/ HTTP/1.1
    22-0
    12392
    0/281/281
    W
    0.27
    831
    0
    0.0
    3.17
    3.17
    10.10.2.212
    qc.company.int
    POST /flex2gateway HTTP/1.1
    23-0
    14750
    0/41/41
    0.04
    6
    0
    0.0
    0.92
    0.92
    10.10.2.212
    www.company.qc
    GET /marketingpages/images/close.jpg HTTP/1.1
    24-0
    14751
    0/43/43
    W
    0.04
    0
    0
    0.0
    1.21
    1.21
    10.10.2.36
    qc.company.int
    GET /server-status HTTP/1.1
    25-0
    14752
    0/40/40
    0.04
    6
    0
    0.0
    0.96
    0.96
    10.10.2.212
    www.company.qc
    GET /marketingpages/images/box_sourceone.jpg HTTP/1.1

  • Kill a suspended process

    According to process explorer a 32 bit process is in suspended state. Its parent is "non-existent". When I try to forcefully kill it I get a message that it currently is not executed. How do I kill this process?
    C:\WINDOWS\system32>taskkill -pid 8152
    ERROR: The process with PID 8152 could not be terminated.
    Reason: This process can only be terminated forcefully (with /F option).
    C:\WINDOWS\system32>taskkill -f -pid 8152
    ERROR: The process with PID 8152 could not be terminated.
    Reason: Deze taak wordt niet uitgevoerd op dit moment.
     

    Hi,
    You should kill child process too if any spawned to kill successfully your process:
    taskkill /pid 8152 /T /F
    /T = kills child process
    /F = forceful termination of your process
    Kate Li
    TechNet Community Support

  • JVM spawning mysterious child process of itself using Runtime.exec()

    Hello, I'm not sure if this is how this is supposed to work but I have a java application that monitors legacy c programs and after a period of time (its intermittent), I'll see a duplicate jvm process running the same classpath, classname as a child of the java application monitor. This behaviour can be reproduced with the following simple class running on either solaris 9 or 10 using 1.6.0_03-b05:
    public class Monitor {
    Process procss;
    public Monitor() {
    try {
    Runtime runtime = Runtime.getRuntime();
    for (int i = 0; i < 10000; i++) {
    System.out.println("execing command ls -l.");
    procss = runtime.exec("ls -l");
    procss.waitFor();
    catch (Exception e) {
    e.printStackTrace();
    public static void main(String[] args) {
    new Monitor();
    Using java -classpath ./ Monitor to run it. While this is running, at intermittent times doing a ps -ef you will see a duplicate jvm running whose parent process is the one that was started on the command line. Ie:
    UID PID PPID etc
    user 17434 10706 .... java -classpath ./ Monitor (the one I put running)
    user 27771 17434 .....java -classpath ./ Monitor (intermittently started)
    in another window I'll run the following shell script that will output the processes when a duplicate java process gets started as they don't seem to run very long (on my production system they will occasionally get hung up until I manually kill them):
    #!/usr/bin/ksh
    while ((1 == 1))
    do
    ps -ef | grep "Monitor" | grep -v grep > /tmp/test.out
    VAL=`cat /tmp/test.out | wc -l`
    if (($VAL != 1))
    then
    echo "Duplicate java process started"
    cat /tmp/test.out
    fi
    done
    It takes roughly 30 seconds before I start to see duplicate jvms starting to run. The concern is that is the new jvm instance running the Monitor class? Eventually on my production system the real application will have a child or 2 linger indefinetly, and threads will be deadlocked. Once I kill these child java processes, everything is back to normal. This doesn't seem to occur with the above java class but will show the duplicate child jvm's start to run after a bit.

    This is true for Solaris and Linux. Sun's implementation does a fork. A lot of people who have very large memory java applications wish there was a way to create a process from Java that doesn't involve copying the parent process. As far as I know your stuck.
    A workaround: Use jms, rmi, sockets, or files to communicate with a low memory footprint java application whose sole purpose is to spawn child processes.

  • Executing jar from java code, then kill parent java code

    Please suggest if there is any best way around on executing jar from java code then killing parent java code.
    a) I have desktop based java application say "Monitor.java" which runs every 5 minutes.
    b) How can I START external java application say "execute.jar" from Monitor.java THEN EXIT Monitor.java
    I tried various options using "ProcessBuilder" and calling bat file but I need Monitor (parent application to EXIT, immediately after calling child (execute.jar)
    Try1) ProcessBuilder builder = new ProcessBuilder("java -jar execute.jar");          
    Process process = builder.start();
    Try2) Runtime r = Runtime.getRuntime();
    Process p = null;
    p = r.exec(new String[] { "cmd", "/c", "start C:/temp/Test.bat" });

    I have a requirement to transfer data from one db to another db from Java Application Layer.Maybe, maye not. We get all sorts of weird "requirements" - which are nothing but thoughts or proposed solutions.
    But,
    Did the "requirement" mention whether the table existed already or not in the target database? - If not, did it tell you to create it - drop/create it?
    Did the "requirement" deliver some explanation to why this copying was neeeded? - Are we talking replication? - Or a one time cloning?
    Etc, etc,
    Personally I would always argue against a "reuirement" like that. - It just isn't the way to do it. Period.
    Regards
    Peter
    P.S: If you are satisfied with what COPY does, then you could let Java make an OS call and do it from there?

  • Parent-Child Join on tables in Database Adapter

    Hi,
    We are doing a join on two tables(T1 and T2) in Database adapter for an Insert operation. There is no Reference Integrity between these two tables in Database, but join is done through bpel database adapter.
    Here is a scenario - when we try to insert a record(parent-child), into these two tables, If there is any data issue in any of the child record, Adapter inserts parent-record, also inserts few child-records it processed before it encountered this data issue and terminates.
    Issue here is , We want this to be transactional, it means, If any of the child record fails adapter should rollback the entire insert operation both from parent and child tables and exit with an error. Instead BPEL inserting half records into child table.
    Is there any parameter I need to set or am I missing anything? Someone please suggest.
    Thanks,
    Phani

    There are a few options I guess.
    1. Add the referential key constraint.
    2. Add custom logic in your BPEL project to compensate for any errors you encounter in your BPEL processes.

  • Parent Child Hierarchy in OBIEE 11G

    Hi All,
    I am working on the parent child hierarchy in OBIEE 11g Source ESSBASE ..followed some of the blogs.
    http://www.rittmanmead.com/2010/07/obiee-11gr1-enhancements-to-essbase-support/
    I followed the following steps.
    1.Imported the Cubes from ESSBASE.
    2.Selected Accounts Hirearchy and changed the Hierarchy type to Value.
    3.Dragged the subject area to BMM and to Presentation.
    4.Now when i checked the Account Hierarchy from in the dashboard its not drilling down.
    If i change the Hierarchy type to Unbalanced ...then the Account hiearchy is working fine.
    Is there is any settings or process i have to follow..inorder to implement the Value based Hierarchy in OBIEE 11G source ESSBASE.
    Thanks

    So basically this means that if I build a parent child hierarchy on table A having the stucture like
    --David (Manager)
    -----James (Off1)
    --------Bill (Off2)
    and in my sales fact table for let's say today, I have only rows for Bill (Off2) because he is the only officer who did the sales today. Now when I will join my fact table to parent child hierarchy table A I will NOT get any data ? because there is no James who is the parent of Bill. So obiee need to have parent pulled off in the data (ANCESTOR) to be able to roll up the child.(IS_LEAF = 1)
    I testes this and if my data only contains only rows for Bill (or I limit on ROLE = Off2) then it won't show the hierarchy. The query which OBIEE fires is to look for either ANCESTOR_KEY = NULL OR (DISTANCE = 1 AND ANCESTOR KEY IN (Bill). Therefore it doesn't I am wondering then what is the use of builiding the parent child hierarchy when we need to pull in all the ancestors (like in this case James for bill and David for james) because in real scenarios there can be cases wherein we would want to filter the data based on other dimensions to which the parent child hierarchy joins ?

  • Multi-Org Parent-Child LOV

    Issue Description:
    in Action BC (Table: S_EVT_ACT) we are trying to implement the following organization based parent child picklists/LOVs for Status->Status Reason
    [Status] - Activity Status field (col: EVT_STAT_CD)
    *Picklist: LOV Type = 'EVENT_STATUS', picklist BC: 'List Of Values Dynamic (REL)'
    [LN Status Reason] - customised field/column (Col: X_STATUS_REASON)
    *Picklist: LOV Type = 'LN_MISSED_ACTIVITY_REASON', picklist BC: 'PickList Hierarchical'
    *Pick Map: [LN Status Reason] = [Value], [Status] = [Parent] (Constraint = Y)
    in the Admin-Data LOVs:
    Type = EVENT_STATUS, Display Value/LIC = "Not Achieved", Organization = "Org 1"
    Type = LN_MISSED_ACTIVITY_REASON
    Display Value/LIC = "Reason 1", Parent LIC = "Not Achieved", Organization = "Org 1"
    Display Value/LIC = "Reason 2", Parent LIC = "Not Achieved", Organization = "Org 1"                                                                                          
    On UI, create new record in Account - Activities, selecting Status = "Not Achieved".
    Now when i try to select the Status Reason value, the drop down does not give me any value.
    If I set the Organization to blank on "Reason 1", then the "Reason 1" value shows up in the Status Reason drop down under Account - Activities.
    In SQL of the log file, for the Status Reason drop down, it always hard code a T1.BU_ID is null in the WHERE clause, this would explain why its blank in the dropdown
    Also as a test, If i remove all the pick map constraints for the [LN Status Reason] field (ie the only record in the pick map is [LN Status Reason] = [Value]), then the drop down works correctly (ie displaying both the values with Organization = "Org 1"), and in the SQL of the log file, instead of BU_ID is null, it has BU_ID = ? with variable binding.
    Is there a reason why it would hard code the BU_ID is null in the WHERE clause in the SQL, and how to overcome this to achieve my requirement.
    Just a further update due to character limit of the original description,
    The "Owner Organization Specifier" property on the table S_EVT_ACT is blank (not sure if its related to anything though)
    The user i'm using belongs to "Org 1" for both the employee's Organization and its Position's Organization
    Thanks

    This is exactly what I'm looking for...I just can't make it work. I have 2 tables (database and schema). They are related via a database_id column. My code is below if you are willing to help.
    HTML Header
    <script>
    function get_select_list_xml1(pThis,pSelect){
    var l_Return = null;
    var l_Select = html_GetElement(pSelect);
    var get = new htmldb_Get(null,html_GetElement('pFlowId').value,
    'APPLICATION_PROCESS=CASCADING_SCHEMA',0);
    get.add('P7_DATABASE',pThis.value);
    gReturn = get.get('XML');
    if(gReturn && l_Select){
    var l_Count = gReturn.getElementsByTagName("option").length;
    l_Select.length = 0;
    for(var i=0;i<l_Count;i++){
    var l_Opt_Xml = gReturn.getElementsByTagName("option");
    appendToSelect(l_Select, l_Opt_Xml.getAttribute('value'),
    l_Opt_Xml.firstChild.nodeValue)
    get = null;
    function appendToSelect(pSelect, pValue, pContent) {
    var l_Opt = document.createElement("option");
    l_Opt.value = pValue;
    if(document.all){
    pSelect.options.add(l_Opt);
    l_Opt.innerText = pContent;
    }else{
    l_Opt.appendChild(document.createTextNode(pContent));
    pSelect.appendChild(l_Opt);
    </script>
    Application Process
    BEGIN
    OWA_UTIL.mime_header ('text/xml', FALSE);
    HTP.p ('Cache-Control: no-cache');
    HTP.p ('Pragma: no-cache');
    OWA_UTIL.http_header_close;
    HTP.prn ('<select>');
    HTP.prn ('<option value="' || 0 || '">' || '- All Schemas -'
    || '</option>'
    FOR c IN (SELECT schema, schema_id
    FROM (SELECT schema, schema_id, database_id
    FROM schema_lookup
    WHERE database_id = :cascading_selectlist_item_1)
    LOOP
    HTP.prn ('<option value="' || c.schema_id || '">' || c.schema || '</option>');
    END LOOP;
    HTP.prn ('</select>');
    END;
    P7_DATABASE_ID Form Element Attribute
    onchange="get_select_list_xml1(this,'P7_SCHEMA_ID');
    P7_SCHEMA_ID LOV
    select SCHEMA d, SCHEMA_ID v from SCHEMA_LOOKUP
    where DATABASE_ID = :P7_DATABASE_ID
    order by 1

Maybe you are looking for

  • Error when using MII with SAPUI5

    I get the following error - "Unable to get value of the property 'getElementsByTagName':object is null or undefined <!DOCTYPE HTML> <HTML> <HEAD> <meta name="description" content="UI5 table example with local JSON model" /> <meta http-equiv='X-UA-Com

  • STILL Not Able to Stop Search Suggestions

    This is a follow-up to an earlier question I asked, viz. [https://support.mozilla.org/en-US/questions/928773 Stop Search Suggestions in the Awesome Bar]. The solution presented in that question worked for a while, but now the ugly problem has returne

  • Sending attachments in email notifications

    Hi! Is it possible to attach files to email templates? IDM doc seem to have not too much info on this. Any help is greatly appreciated. Thanks.

  • How to Integrate SAP EP with SAP PI to send data for creating reports in BW

    Hi Gurus I am struck with an Object/Interafce Creation in my project. My requirement is to Integrated SAP Enterprise Portal and SAP BW using SAP Pi. I am working on SAP PI7.1. The SAP EP sits on the Oracle Database and it will send some data required

  • How to read .doc files on 5800 express music? pls ...

    When I try and open my .doc files it says file format error or something... Recently installed Office on my phone... New to this... please help...