Help needed in retrieving parent child relationship values

Hi,
I have a requirement to get parent child relationship values as below.
Ex: Address table
cont cont_code state state_code
C1 10 S1 1
C1 10 S2 2
C1 10 S3 3
C2 20 S4 4
C2 20 S5 5
C3 30 S6 6
C3 30 S7 7
C3 30 S8 8
I want a result of country/state and corresponding code like below.
corresponding states should be displayed under each country with some space appended to it.
Geography code
C1 10
S1 1
S2 2
S3 3
C2 20
S4 4
S5 5
C3 30
S6 6
S7 7
S8 8
I am using oracle 10g version.
Thanks in advance.

Hi,
When you post formatted text (like your output) on this site, type these 6 characters:
\(small letters only, inside curly brackets) before and after each section of formatted text, to preserve spacing.
I think you're saying that you want this output:GEOGRAPHY CODE
C1 10
S1 1
S2 2
S3 3
C2 20
S4 4
S5 5
C3 30
S6 6
S7 7
S8 8
If so, UNION, as Hoek suggested, is a good way.
GROUP BY ROLLUP is more efficient, but harder to understand:SELECT     CASE
          WHEN GROUPING (state) = 1
          THEN cont
          ELSE ' ' || state
     END          AS geography
,      CASE
          WHEN GROUPING (state) = 1
          THEN MAX (cont_code)
          ELSE MAX (state_code)
     END          AS code
FROM     t
GROUP BY cont
,      ROLLUP (state)
ORDER BY cont
,      state          NULLS FIRST
By the way, this looks like a bad table design.
In a relational database, the fact that the name 'C1' belongs to cont_code 10 should only be stored in one place.  You have the same information on 3 separate rows.
Also, if 'C1' and 'S1' are both names, they should probably be in the same column, so that (to give just one example) you can find the information about 'x1' without knowing if it is a cont or a state.
A better design would be.NAME     CODE     PARENT     DSCR
====     ====     ======     ====
C1     10          CONT
S1     1     10     STATE
S2     2     10     STATE
S3     3     10     STATE
C2     20          CONT
S4     4     20     STATE
S5     5     20     STATE
C3     30          CONT
S6     6     30     STATE
S7     7     30     STATE
S8     8     30     STATE
If the data is this simple, then the dscr column isn't needed.  Whether parent is NULL or not tells whether the rows represents a cont or a state.
To get the results you want from a table like this, you could use CONNECT BY.  Using either UNION or ROLLUP, you have to know, at the time you write the query, how many levels there will be in the parent-child tree, and the length of the code is proportional to that depth, and the table has to be changed if you ever need to add another level.  CONNECT BY can handle any number of levels, and the length and complexity of the code is the same whether you have just 2 levels (countries and strates), or 7 levels (continents, regions, countiries, states, districts, cities and neighborhoods) or 72 levels.  The table doesn't need any more columns, no matter how deep the tree gets.
Edited by: Frank Kulash on Sep 16, 2010 11:54 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • Function to get the path using a parent-child relationship

    Hello,
    I have a table which uses parent-child relationship to store the options available. I need a function to give me the full path given the id of a particular option.
    I have two different functions. One of them uses the Oracle built in function and the other uses simple queries with a loop.The code of the functions are given below.
    Now, the problem is with their "performance". The difference in their performance is significant. The function using the Oracle function takes more than 2 hours to run a query whereas the other function takes less than 2 minutes.
    I am having trouble trusting the other function. No matter how many tests I perform on the output of both the functions, it always comes out to be the same.
    Any thoughts to help me understand this ??
    Function 1
    =====================
    FUNCTION Gettree (opt_id IN NUMBER,i_app_id IN NUMBER)
    RETURN VARCHAR2
    IS
    path VARCHAR2(32767);
    application_no NUMBER;
    BEGIN
    SELECT ABC.APP_OPT_ID INTO application_no FROM ABC
    WHERE ABC.APP_ID = i_app_id AND ABC.PARENT_ID IS NULL;
    SELECT LPAD(' ', 2*LEVEL-1)||SYS_CONNECT_BY_PATH(app_opt_name, '=>') "Path" INTO path
    FROM ABC
    WHERE app_opt_id = opt_id
    START WITH parent_id =application_no
    CONNECT BY PRIOR app_opt_id =parent_id;
    path := SUBSTR(path,INSTR(path,'>')+1,LENGTH(path));
    RETURN path;
    END Gettree ;
    Function 2
    ======================
    FUNCTION GetOptPath(opt_id NUMBER,app_id NUMBER)
    RETURN VARCHAR2
    IS
    string VARCHAR2(900);
    opt VARCHAR2(100);
    pid NUMBER(38);
    BEGIN
    SELECT ABC.parent_id,ABC.app_opt_name INTO pid,string FROM ABC WHERE ABC.app_opt_id = opt_id;
    IF pid IS NULL
    THEN
    RETURN 'root';
    ELSIF pid IS NOT NULL
    THEN
    LOOP
    SELECT ABC.app_opt_name,ABC.parent_id INTO opt, pid FROM ABC WHERE ABC.app_opt_id = pid;
    EXIT WHEN pid IS NULL;
    string := opt || '=>'|| string;
    END LOOP;
    RETURN string;
    END IF;
    END;

    Hi,
    user8653480 wrote:
    Hello Frank,
    The parameters taken by gettree & getoptpath are app_opt_id and app_id and both the functions return only one string i.e. the path of that particular option (app_opt_id) starting from its root and not all the descendants of that option/root node of that option.
    So, does that mean that gettree first fetches all the descendants of the root node of the given option and then returns the required one ??Yes. It's a little like the situation where you need to meet with your co-worker Amy, so you send an e-mail to everyone in the department telling them to come to your office, and then, when they arrive, tell everyone except Amy that they can leave.
    >
    And if that is the case, then won't it be better to use the bottom-up approach to fetch the required path just for that particular option ?? 'coz my requirement is that only.. given an option_id get the full path starting from the root.Exactly!
    I have used explain plan also for both the functions.. but since I did not know how to anlayze the output from plan_table so I just compared the value in the fields and they were exactly the same for both the queries.If you'd like help analyzing the plans, post them, as Centinul said.
    I am attaching a sample data with the outputs of both the functions for the reference.
    (tried attaching the file but could not find the option, so pasting the data here)
    App_opt_ID     App_ID     Parent_ID     App_opt_name     "gettree(app_opt_id,app_id)"     "getoptpath(app_opt_id,app_id)"
    1          1     NULL          application          NULL                    root
    2          1     1          module1               module1                    module1
    3          1     1          module2               module2                    module2
    4          1     2          submod1               module1=>submod1          module1=>submod1
    5          1     3          submod1               module2=>submod1          module2=>submod1
    6          1     5          opt1               module2=>submod1=>opt1          module2=>submod1=>opt1
    7          2     NULL          app2               NULL                    root
    8          2     7          scr1               scr1                    scr1
    9          2     8          opt1               scr1=>opt1               scr1=>opt1
    10          2     7          scr2               scr2                    scr2Please help.The best solution is to do a bottom-up query, and write a function like reverse_path (described in my first message) to manipulate the string returned by SYS_CONNECT_BY_PATH. You seem to have all the PL/SQL skills needed for this.
    Another approach is a revised form of gettree, like I posted earlier. Does it do what you want or not?
    If you'd help, then post a little sample data in a form people can actually use, such as CREATE TABLE and INSERT statements. Post a few sets of parameters, and the results you need from each set, given the sample data posted.

  • Find parent/child relationships At More Than 2 Levels

    Hello,
    Does anyone have a solution to find parent/child relationship for data more than 2 levels deep?
    I have a solution when there's a simple parent-child relationship but not when there's a grandparent-parent-child relationship or deeper.
    Ex. I have a table company_parent_child that stores the relationship betwen a company and it's direct parent.
    create table TEMP_COMPANY_PARENT_CHILD
    PARENT_ID NUMBER(10),
    COMPANY_ID NUMBER(10)
    insert into TEMP_COMPANY_PARENT_CHILD values (1, 10);
    insert into TEMP_COMPANY_PARENT_CHILD values (1, 11);
    insert into TEMP_COMPANY_PARENT_CHILD values (1, 12);
    insert into TEMP_COMPANY_PARENT_CHILD values (2, 13);
    insert into TEMP_COMPANY_PARENT_CHILD values (10, 100);
    insert into TEMP_COMPANY_PARENT_CHILD values (10, 101);
    insert into TEMP_COMPANY_PARENT_CHILD values (10, 102);
    insert into TEMP_COMPANY_PARENT_CHILD values (11, 103);
    1->
    ___10->
    ______100,101,102,
    ___11->103
    Companies 100, 101 and 102 are under parent 10 and grandparent 1.
    I need to create such a view or another temp table so that when I pass the parent ID, I will pull all the children on all levels. In addition, and this is the tricky part, when I join this new temp table or view to another data table without any parameters, the data should not be duplicate, ie. each company ID should appear only once.
    create table TEMP_JOIN
    company_id number(10),
    order_id varchar2(10)
    insert into TEMP_JOIN values (100, 'a');
    insert into TEMP_JOIN values (101, 'b');
    insert into TEMP_JOIN values (102, 'c');
    insert into TEMP_JOIN values (103, 'd');
    insert into TEMP_JOIN values (10, 'e');
    insert into TEMP_JOIN values (11, 'f');
    insert into TEMP_JOIN values (12, 'e');
    insert into TEMP_JOIN values (13, 'f');
    Thanks.

    start by learning CONNECT BY/START WITH. once you've
    written a query to read the grandparent-parent-child
    relationship, then come back with more questionsYes. we did look heavily into connect by/start with, in fact along with "connect_by_iscycle","connect_by_isleaf","connect_by_root" as well.
    Our dilemma is that when a joint is made between those two tables mentioned above TEMP_COMPANY_PARENT_CHILD and TEMP_JOIN, we are not able to create a view that would contain distinct company_ids, each mapped to a unique order id.
    The problem is we cannot have this type of joint when there are "n" level relationship between companies (or company_id). Basically, I think we should have our unique order id mapped to a unique key. This unique key should be a specialized key that we can know at anytime the entire path of the ancestry which we can know by sys_connect_by_path(company_id,'/') path.
    How do we know which path to take. The best bet is to "connect_by_isleaf" and just have the distinct "deep" path which form the specialized unique key. If you need help on this let me know. (A hint, sort by LEVEL and then do a rank after partitioning by company id and then filter the records by rank = 1, try this one!!!)
    So, we will eventually have a joint (say Table X) like
    PATH ORDER_ID
    /1/10/100 a
    /1/10/101 b
    /1/10/102 c
    /1/10 e
    /1
    /1/11/103 d
    /1/11 f
    I think this is the best view we can have to maintain a joint with no repetition along PATH as well as ORDER_ID. If you have any other thoughts, let me know.
    Then you query by path using INSTR to pull records by company_id.
    for example, if you want to get all the children for company_id "10" you would just say
    select * from X where INSTR(PATH,10,1,1) <> 0
    or if you want to get all the children for company_id "11" you would just say
    select * from X where INSTR(PATH,11,1,1) <> 0
    What do you think? Has anyone used the path information for traversing the tree? Or is there any article that tells us how to make effective use of sys_connect_by_path(company_id,'/') path.
    Thank you. Hope it made sense!

  • Customer Master -- Parent + Child Relationship

    Hi
    I have an requirement from user asking me to set Parent -Child relationship for a customer.
    Correct me if i am wrong.
    I have customer numbers 1000 and 2000.
    In "payment transactions" tab , i have included 2000 in "Alternat. Payer" field. So now 2000 will be the alternative payer for 1000 customer.
    I want to see this relationship in FBL5N. In what way should i ensure that the functionality is maintained.
    Please let me know
    Thanks
    Rajanikanth.

    Please note I do not respond direct through e mail, only on this forum.
    If the customer has not been set up correctly there will not be any entries in the branch field.
    As mentioned you need to have the parent customer number set as the "payer " partner function in the child's customer account number.
    This will mean you are selling to the chil, but the parent is paying, and this is where the invoice will go to.
    If you have not set the master data up like this, then there will not be any values there for you.
    Please award points if this is helpful and has been helpful so far.

  • Does table STPOX contain parent-child relationship between components

    Hello
    I need to get a list of components of SO BOM.
    FM CS_BOM_EXPL_KND_V1 exports an output table STPOX.
    Does this table contain parent-child relationship between components? If yes , can somebody tell me which fields contain parent child id.
    thanks

    Hi,
    STPOX is not a table, it is a structure & hence there is no storing of data in a structure. The table which stores this info is STPO.
    To get the link you can refer to STPO-STLNR & pass this value to MAST-STLNR, this way you can link the child with its parent.
    Regards,
    Vivek

  • Parent child relationship is not displaying for IDOC_OUTPUT_ORDERS (PO)

    Hi,
    Can somebody help me the reason why parent child relationship not displaying properly for ORDER05 basic type?
    If we go in details about the problem, a purchase order is creating in R/3 through EBP. To modify my requirement I am using userexit EXIT_SAPLEINM_002. Here I am appending the records in the segment for E1EDKT1 and E1EDKT2. IDOC is creating with an error of status record 26.
    When I check in the transaction WE19 for the respective IDOC the data is showing correctly for all the segments including e1edkt1 and e1edkt2 segments and also I check in the table EDID4 segment number is showing correctly and the for the segment E1EDKT2 PGNUM also showing correctly, but when I see the IDOC in the transactions WE02 unable to see parent child relationship between E1EDKT1 and E1EDKT2 segment. Simply the data is displaying one below other like other segment.
    I don't know the reason why it is displaying like that?
    If anybody is having the solution is highly appreciable.
    Regards,
    Noorul

    hi hassan,
    When you are appendng the REcods which belong to the purticular segment..
    all the segment needs to be appended in in the proper order as in the WE30..
    I<b> think you are appending the segment E1EDKT2 at the end of the EDIDD.. or IDOC_DATA in the user exit..</b> .. eventho no eerror will be displayed but idoc will generted with sataus 26 .. if check the <b>STATUIs Recored u ewill find the SYNTaX ERROR.</b>
    <b>Sollution for ur probelm is</b>... don append the E1EDKT2 at the lastr instead <b>you ahve to insert the segment E1EDKT2. only afer E1EDKT1..</b>..
    Tehn you r problem will be solved.. I had faced the Same proble when i worked on material maser idoc..
    <b>Close this thread if when u r problem ise solved</b>
    Reward if helpful
    Regards
    Naresh Reddy K

  • EJB 3, OneToMany that Acts As Tree, or Parent Child relationship support?

    (Sorry for the RoR reference)
    I first searched the forum and found this post that came close, but not exactly what I'm needing since my table doesn't reference the PK:
    http://forum.java.sun.com/thread.jspa?forumID=13&threadID=767913
    I have a table called Folder that represents a folder hierarchy. It has a 'Path' field and a 'Parent' field, and of course 'ID'. Each Folder knows its parent by the 'Parent' field, which references 'Path', not* 'ID'. Both are Strings.
    To find all the children of a Folder, the sql for a PreparedStatment might look something like this (shared for clarity of the situation):
    SELECT * FROM Folder
    WHERE Parent = ?Question:
    What are the proper annotations in EJB 3 / JPA to allow this kind non-primary key parent/child relationship mapping?
    Can I specify a named query that handles the logic and then reference it in the OneToMany annotation? Other cool tricks?
    Here is what I am trying (no runtime errors, but no results either). (Example simplified)
    @Entity
    @Table(name = "Folder")
    @NamedQueries(value = {@NamedQuery(.......)})
    public class Folder implements Serializable {
        @Id
        @Column(name = "ID", nullable = false, updatable = false)
        private Integer folderID;
        @Column(name = "Path", nullable = false)
        private String path;
        @Column(name = "Parent")
        private String parent;
        // v Here's the kicker v
        @OneToMany(cascade={CascadeType.ALL}, fetch=FetchType.EAGER)
        @JoinTable(name="Folder",
            joinColumns={@JoinColumn(name="Parent")},
            inverseJoinColumns={@JoinColumn(name="Path")})
        private List<Folder> children;
        // getters and setters ....
    }Thanks!

    It looks like the relationship is bi-directional.
    Will this work...
    // Parent.java
    @Entity
    public class Parent implements java.io.Serializable {
    @Id
    public Long parentId;
    @OneToMany(cascade=CascadeType.PERSIST,mappedBy="parent")
    public Collection<Child> children;
    // Child.java
    @Entity
    public class Child implements java.io.Serializable {
    @Id
    public Long childId;
    @ManyToOne
    public Parent parent;  // target of mappedBy
    }Then, in your code (a session facade?), you'll create the parent first, create the children, then add the children to the parent. Your code is also responsible for maintaining the reference back to the parent.
    Parent p = new Parent();
    for(int i=0; i<10; i++) {
      Child c = new Child();
      p.children.add(c);
      c.parent = p;
    em.persist(p);

  • Re: Circular Parent-Child relationship amongwidgets.

    Alaiah,
    Setting the parent to NIL is the proper thing to do to remove
    a widget from a panel. Why don't you try just setting it
    to NIL and not adding the new chart to the window to make
    sure that it gets removed. If that doesn't work, maybe
    Window.UpdateDisplay, but you shouldn't have to do that.
    As far as the parent-child relationship issue, when you set
    the widget's Parent to NIL, that is actually invoking a virtual
    attribute that does more than just NIL out the reference. One
    of the things that happens is that the child is removed from
    the parent's Children array. Do a task.lgr.putline(<parent>.Children.Items)
    to see how many items are in the array, then do the NIL, then
    do a second putline and you'll see the array has one less item.
    Bobby
    At 06:10 PM 12/19/96 PST, Chandrashekar, Alaiah wrote:
    >
    I am trying to draw a Bar Graph on a panel which in turn sits on the main
    window. The height policy of the panel widget is set to SP_TO_PARENT so that
    when the window is resized the panel is also resized according to the parent
    window. I have a situation that every time the panel is resized I need to
    scale the Bar Graph in accordance with the new panel size and draw it. But
    before drawing the newly scaled Bar Graph I am clearing out all the children
    of the panel ( I am doing this just to refresh the panel) and then drawing
    the newly scaled Bar Graph. But this does not work!!! I still find some
    left over from the previous Bar Graph!!! Any help in this matter is greatly
    appreciated.
    Also I don't understand this circular parent-child relationship. If I assign
    a NIL to Parent attribute of all the children of the panel, what will happen
    to the Children attribute of the panel? Won't there be any memory leak by
    adopting the above procedure of disconnecting a child from its parent? If
    so, how do we take care of it?
    Thanks in advance!
    Alaiah Chandrashekar
    The following is the segment of the code which could be useful for clarity:
    // Draws the Bar Graph for the first time.
    self.ShowChart(TestData);
    self.Open();
    event loop
    when task.Shutdown do
    exit;
    // When the window is resized
    // I am scaling the Bar Graph for the new
    // panel size.
    when self.window.AfterReSize do
    self.ClearChartPanel();
    // self.window.UpdateDisplay();
    self.ShowChart(TestData);
    end event;
    self.Close();
    Method ClearChartPanel is as follows:
    for child in self.<ChartPanel>.Children do
    child.Parent = NIL;
    end for;

    Alaiah,
    Setting the parent to NIL is the proper thing to do to remove
    a widget from a panel. Why don't you try just setting it
    to NIL and not adding the new chart to the window to make
    sure that it gets removed. If that doesn't work, maybe
    Window.UpdateDisplay, but you shouldn't have to do that.
    As far as the parent-child relationship issue, when you set
    the widget's Parent to NIL, that is actually invoking a virtual
    attribute that does more than just NIL out the reference. One
    of the things that happens is that the child is removed from
    the parent's Children array. Do a task.lgr.putline(<parent>.Children.Items)
    to see how many items are in the array, then do the NIL, then
    do a second putline and you'll see the array has one less item.
    Bobby
    At 06:10 PM 12/19/96 PST, Chandrashekar, Alaiah wrote:
    >
    I am trying to draw a Bar Graph on a panel which in turn sits on the main
    window. The height policy of the panel widget is set to SP_TO_PARENT so that
    when the window is resized the panel is also resized according to the parent
    window. I have a situation that every time the panel is resized I need to
    scale the Bar Graph in accordance with the new panel size and draw it. But
    before drawing the newly scaled Bar Graph I am clearing out all the children
    of the panel ( I am doing this just to refresh the panel) and then drawing
    the newly scaled Bar Graph. But this does not work!!! I still find some
    left over from the previous Bar Graph!!! Any help in this matter is greatly
    appreciated.
    Also I don't understand this circular parent-child relationship. If I assign
    a NIL to Parent attribute of all the children of the panel, what will happen
    to the Children attribute of the panel? Won't there be any memory leak by
    adopting the above procedure of disconnecting a child from its parent? If
    so, how do we take care of it?
    Thanks in advance!
    Alaiah Chandrashekar
    The following is the segment of the code which could be useful for clarity:
    // Draws the Bar Graph for the first time.
    self.ShowChart(TestData);
    self.Open();
    event loop
    when task.Shutdown do
    exit;
    // When the window is resized
    // I am scaling the Bar Graph for the new
    // panel size.
    when self.window.AfterReSize do
    self.ClearChartPanel();
    // self.window.UpdateDisplay();
    self.ShowChart(TestData);
    end event;
    self.Close();
    Method ClearChartPanel is as follows:
    for child in self.<ChartPanel>.Children do
    child.Parent = NIL;
    end for;

  • Circular Parent-Child relationship among widgets.

    I am trying to draw a Bar Graph on a panel which in turn sits on the main
    window. The height policy of the panel widget is set to SP_TO_PARENT so that
    when the window is resized the panel is also resized according to the parent
    window. I have a situation that every time the panel is resized I need to
    scale the Bar Graph in accordance with the new panel size and draw it. But
    before drawing the newly scaled Bar Graph I am clearing out all the children
    of the panel ( I am doing this just to refresh the panel) and then drawing
    the newly scaled Bar Graph. But this does not work!!! I still find some
    left over from the previous Bar Graph!!! Any help in this matter is greatly
    appreciated.
    Also I don't understand this circular parent-child relationship. If I assign
    a NIL to Parent attribute of all the children of the panel, what will happen
    to the Children attribute of the panel? Won't there be any memory leak by
    adopting the above procedure of disconnecting a child from its parent? If
    so, how do we take care of it?
    Thanks in advance!
    Alaiah Chandrashekar
    The following is the segment of the code which could be useful for clarity:
    // Draws the Bar Graph for the first time.
    self.ShowChart(TestData);
    self.Open();
    event loop
    when task.Shutdown do
    exit;
    // When the window is resized
    // I am scaling the Bar Graph for the new
    // panel size.
    when self.window.AfterReSize do
    self.ClearChartPanel();
    // self.window.UpdateDisplay();
    self.ShowChart(TestData);
    end event;
    self.Close();
    Method ClearChartPanel is as follows:
    for child in self.<ChartPanel>.Children do
    child.Parent = NIL;
    end for;

    Hello Evandro,
    I am listing the steps to create a relationship manually.
    1. Create 2 records in the relationship table in console, one for "Married to" and the other one for "Owner". In order to do that the repository needs to be unloaded.
    2. Once you create these 2 records in the table through console, load the repository.
    3. Log on to the Data Manager.
    4. Now as per your example, there are 3 records in the main table, namely
         JOHN
         MARY
         ACME
    5. Select only one record in the record list area e.g. JOHN (where you see the list of records)
    6. Then, in the record edit area, double click on the relationship tab,
    7. New Window opens up.
    8. HERE ALL THE OPTIONS ARE GRAYED OUT. But Select the relationship which you want to create, in our case married to.
    9. Now select the record MARY in the record list area. (NOT in the pop window, but main window).
    10. Then on the top bar menu, select Relationships --> Adds to Group.
    11. Now close the Pop window and observe that the relationship has been created between JOHN and MARY.
    Let me know if it worked for you. if not, post some more information about your problem such as where you tried to configure and what options were grayed out.
    Please update.
    Thanks
    Shai
    I need to do a relationship among the BP where each record in Main Table correspond a BP (Person or Organization).
    The relationship should link the BPs as shown below:
    Records
    1; John
    2; Mary
    3; ACME
    In record 1, I need to say that John is married with Mary, where Married is a type of the relationship and that Mary is Owner of the ACME, where u201COwneru201D is other relationship type.
    I have tried to configure a Relationship (where the parent and child tables were the Main Table) in MDM, but I couldnu2019t to do it because the screen for this feature was locked. I need to be certified that the child link exist in the repository.
    Thank you.
    Evandro.

  • Material with Parent Child Relationship

    Hi,
    Need some advise.
    We have this scenario, use purchased materials (.e.g Computer bundle with mouse, monitor and keyboard). We need to track these components separetely at different cost and update inventory with serial no.
    Upon creating Sales Order for the above materials, how to we ensure that the full set of materials is picked and delivered. As each components has it own material code.
    Is there possible to link up these materials with some sort of parent child relationship? And how to handle it in SAP MM and SD moduld.
    Thank you.

    Peck,
    Unless I am missing something, this is not a Materials Management issue, it is a Sales/Distribution issue.
    I think the easiest way is to check the 'complete dlv.' (Complete Delivery) checkbox on the Sales order (VA02>Sales Tab).
    When this flag is set, none of the items in the sales order can be confirmed unless all of them are confirmed.  All confirmations must be for the same day.  No delivery can be created unless all items are deliverable.
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/dd/560602545a11d1a7020000e829fd11/frameset.htm
    Rgds,
    DB49

  • Reverse Engineering fails to "identify" parent - child relationship

    Using Reverse Engineering I obtained two classes - visual compapesence clearly shows that one is inherited from another.
    I wish I could copy and paste individual "class Diagrams' for each of those two to demonstrate my point ...
    How I could merge those two class diagrams together and "force"
    to recognize "parent" <-> child relationship /

    On possible solution is to create a diagram in each pacakge that was reverse engineered.
    I agree with peter, that a single diagram would not be useful when revese engineering a large project. When diagram get that large, it is hard to see more than a couple of model elements at one time. While we do have the Navigate Link tool, it is still painful to navigate around the diagram. If you printed a diagram that big, it would take up an entire wall.
    It is hard to determine what diagrams are needed to explain a software project. For this reason, we have tried to make it easy to build diagrams. Peter, mentioned the first mechanism. Create Diagram From Selected (CDFS) was designed to allow the user to select the model elements that need to populate a diagram. When performing CDFS the diagram will be populated, Relationship Discovery will be executed, and the diagram will be layed out.
    Another approach is to create a dependency diagram. You can select a model element, and create a dependency diagram. The contents of a dependency diagram will be the model elements that the selected model element uses. For example, if the model element generalizes from another model element, the super class will be present on the diagram. If another model elements extends the selected model element, the subclass will not be represented on the dependency diagram.
    Another diagram creation tool that might be needed is a inheritance diagram creator. An inheritance diagram creator, would make it very easy to see model element super classes, implemented interfaces, and the subclasses.
    I hope this helps.

  • Import Manager - Import Parent Child Relationships

    I have a parent child relationship set up in console.
    Kits / Parts.
    Has Required = No
    Has Quantity = No
    I am trying to import the data for the relationship links using Import Manager.
    The source is a Excel file.
    Item Number <Kits>       Item Number<Parts>
    ACC-123                               ACC-1234
    ACC-123                               ACC-555
    I mapped the Item Number Kits and Item Number Parts.
    When I import, I am getting the following error
    <b>Import failed. Failed to find the aggregation record from its field values.
    Source record no: 1</b>
    I am able to import the same record using Data Manager if the file format is Text.
    Any help is appreciated.
    Helpful answers will be duly rewarded

    The key field that you use to load the relationship must be defined as:
    Unique................Yes
    Display...............Yes
    Multilingual..........No
    My problem was that I had defined Model Number as multiligual. When I changed this setting and loaded with Update Indices the load worked.
    I have not found anywhere in the literature that talks about this restriction. You can create the relationship in the Console. You can load this type of relationship in Data Manager. You can not however load them in Import Manager.

  • Update column with parent child relationships

    Hi,
    i need to update a column with parent child relationship.
    Please provide the possible queries..
    Gobi..

    Hi,
    Depending of the objective and the size of the tables, personally, for maintenance purposes, I preferred duplicate the parent with the new column value and duplicate the child records with this same new value. Other alternative is disable the foreign key temporarily.
    You can take a look on this link below too:
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5773459616034
    Cheers

  • Determining Parent/Child Relationships of Sets

    Is there an SAP function module or set of tables that will provide parent/child relationships of a set?   For example lets say I have a set that looks like:
    TOPNODE
    ...SUBNODE1
    ......SUBNODE1A
    ...SUBNODE2
    I need something that shows me
    PARENT      CHILD
    TOPNODE   SUBNODE1
    SUBNODE1 SUBNODE1A
    TOPNODE   SUBNODE2
    I found a FM called G_SET_TREE_IMPORT but I don't see any parent/child relationships there.

    Hi Wardell,
                     Use Class : <b>cl_gui_column_tree</b>
    data : column_tree  TYPE REF TO cl_gui_column_tree,
    CREATE OBJECT column_tree
          EXPORTING
          parent                      =
      split_container->top_left_container
          node_selection_mode         =
      cl_gui_column_tree=>node_sel_mode_single
            item_selection              = 'X'
            hierarchy_column_name       = 'COLUMN1'
            hierarchy_header            = hhdr
       EXCEPTIONS
            lifetime_error              = 1
            cntl_system_error           = 2
            create_error                = 3
            illegal_node_selection_mode = 4
            failed                      = 5
            illegal_column_name         = 6
            OTHERS                      = 7
      IF sy-subrc <> 0.
       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Reward points if helpful.

  • How to use GL Parent Child relationships in Discoverer?

    Subject: How to used GL Parent Child relationships in Discoverer?
    How to use GL Parent Child relationships in Discoverer?
    Please let me know how to incorporate the parent -child relation ships exsiting in GL Accouting flexfield Segments in Discoverer for drill downs? we have GL - BIS views installed.
    How to create the specific Parent -child relationship hierarchies in Discoverer from the FND_* tables?
    Please help.
    Thanks.
    KS.

    Hi,
    I'm also trying to implement this. If you have come any further in solving this any hints would be much appreciated...
    regards,
    AJ

Maybe you are looking for