Commiting a new row to 2 separate tables on a single jspx page

Hello all
I have 2 tables in my jspx page. Table Employees as an ADF table, and table Departments as an adf form. They are related via a view link as a * to 1 relationship so the departments view is the detail of the employee view. This means that whenever I click in the employee table on a single row, whichever Dept ID that employee has is shown in the form, automatically.
I have CreateInsert button, Delete and Commit buttons binded to the departments form, and another CreateInsert Delete and Commit binded to the Employees table. When I run the page in AppMod everything works fine and I can add a new row to the table Employees. However when I try to add a row into Departments the AppMod gives me this error message.
Jun 15, 2010 1:46:58 PM oracle.jbo.jbotester.MainFrame main
INFO: BC4J Tester started.
Exception in thread "AWT-EventQueue-0" oracle.jbo.TooManyObjectsException: JBO-25013: Too many objects match the primary key oracle.jbo.Key[1 ].
at oracle.jbo.server.EntityCache.throwTooManyObjectsException(EntityCache.java:505)
at oracle.jbo.server.EntityCache.handleDuplicateKey(EntityCache.java:513)
at oracle.jbo.server.EntityCache.addForAltKey(EntityCache.java:870)
at oracle.jbo.server.EntityCache.add(EntityCache.java:474)
at oracle.jbo.server.EntityImpl.callCreate(EntityImpl.java:955)
at oracle.jbo.server.ViewRowStorage.create(ViewRowStorage.java:1143)
at oracle.jbo.server.ViewRowImpl.create(ViewRowImpl.java:428)
at oracle.jbo.server.ViewRowImpl.callCreate(ViewRowImpl.java:445)
at oracle.jbo.server.ViewObjectImpl.createInstance(ViewObjectImpl.java:4915)
at oracle.jbo.server.QueryCollection.createRowWithEntities(QueryCollection.java:1843)
at oracle.jbo.server.ViewRowSetImpl.createRowWithEntities(ViewRowSetImpl.java:2368)
at oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:2409)
at oracle.jbo.server.ViewRowSetImpl.createAndInitRow(ViewRowSetImpl.java:2374)
at oracle.jbo.server.ViewObjectImpl.createAndInitRow(ViewObjectImpl.java:9684)
at oracle.jbo.jbotester.NavigationBar.doInsertAction(NavigationBar.java:136)
at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:109)
at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:117)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Jun 15, 2010 1:47:08 PM oracle.jbo.jbotester.MainFrame exit
INFO: BC4J Tester exit code(0)
Process exited with exit code 0.
I realize this message means I have duplicate primary key rows but I do not understand why as they are seperate tables.
So I turn to you, Oracle Oracles, for wisdom and guidance

Well, you cannot do that in the detail->master way you are describing. It's easy to understand why you get the error:
1). You have a detail->master link.
2). When you click "new" to create a new department, you are doing so in the context of the link, which means that the department ID for the new record is created in the context of the currently selected employee.
3). You now have 2 departments with the same primary key
4). JBO-25013
There are only 2 ways that I can think of to do this:
1). Use a master->detail instead of a detail->master (I know this isn't how you want to do it, but...)
2). In your original page, use a single VO that combines both employees and departments. When you click "new department" in the context of an employee, update the selected employee with the key of the new department.
John

Similar Messages

  • Commiting 3 new rows - only 2 exist after

    Hi OTN,
    in my ADF BC application I have a bounded taskflow for creating new rows.
    It contains CreateInsert operations for VO1 and VO2 (VO2 is a child of VO1 and a child of another VO which is not touched by the taskflow). I've put postChanges between those operations so no temporary keys are there - the keys are generated via DB triggers.
    After those operations another bounded taskflow is called which contains CreateInsert for VO3 (VO3 is a child of VO1) and a form where Commit is called.
    After Commit I navigate to a test page which shows three forms representing VO1, VO2 and VO3. The page shows me that each of three new rows was created - I see them (with the real key valyes) in the forms.
    But in database only two new rows appeared. VO1 and VO3 (tables) have new rows, but no new row appeared in VO2 table. The form on a test page showed me a VO2 row which really didn't exist.
    Why is there no new row in one of tables?
    I use only one ApplicationModule.
    VO2 is a standard VO based on an entity. It is updatable.
    No errors in logfile.
    I how absolutely NO idea, why does it happen.
    Would love to hear an advice.
    Thanks.
    JDev 11.1.1.3

    Hi,
    if VO2 is dependent on VO1, when you create a new row in VO how to do you ensure its getting committe before VO2 gets committed ? Did you set the composite flag on the association between the two ? Another solution to handle this synchronization - to avoid constraint validations - is documented in the Fusion developer guide
    Frank

  • BAPI to insert a new row in the MCHA table

    Hi all,
    I am in search of a BAPI to insert a new row in the MCHA table... with the fields of the materail, plant and batch values.
    Any inputs on this..is highly appreciable...
    thanks in advance...
    regards..
    prathima.

    explore BAPI_BATCH_CREATE

  • BAPI to insert a new row in the AUSP table

    Hi all,
    I am in search of a BAPI to insert a new row in the AUSP table... with the fields of the object and
    characteristic values.
    Any inputs on this..is highly appreciable...
    thanks in advance...
    regards..
    prathima.

    hi,
    from best of my knowledge  here is list of bapi through you can insert ausp table.
    check it.
    CLSE_SELECT_AUSP
    CLVF_INSERT_AUSP
    BAPI_CLASS_CREATE
    C14K_AUSP_CHANGE_VALUE
    CLSE_SELECT_AUSP
    CLVF_UPDATE_AUSP
    C14K_AUSP_ADD_UPD
    BAPI_CLASS_CREATE
    regards,
    vipul

  • Inserting a new row in a child table referencing an already existing parent

    I have two tables PARENT & CHILD (one to many), both of which are populated at different times.
    In our toplink mappings, parent contains a collection of child Domain Objects, & and child Domain object contains a one - one to parent.
    How can I insert a new row in a child table with reference to an already existing row in parent?
    When I fetch the parent Domain object and try to set it in the child Domain Object and use the unitOfWork.registerObject() it goes into a circular loop of selecting from 2 other tables.
    Please suggest.

    Odd, have you disabled caching and indirection? (NoIdentityMap, dontUseIndirection, or alwaysRefresh/disableCacheHits). If so, then this could be the issue.
    Otherwise please include the sample code you use to perform this, and verify that you do not have any unusual code in your set/get methods or in descriptor events. Also turn TopLink logging on and include a sample. Also ensure that you do not modify your objects until after registering them in the unit of work, and only modify the unit of work clones.

  • New Row gets created in table automatically

    Hi all,
    I have a panel box(pb1) in my JSFF which has a table(tbl1).
    When the table is empty, if i collapse table's parent panel box i.e. pb1,
    n again expand it..,I see new row created in the table...
    I haven't put any code to create new blank row in table view object on collapse n expand of panel box...
    How to fix this issue..?
    JDEV vesion : 11.1.1.4.0
    Please reply...
    Thanks.

    Hi yaminip,
    Its not necessary to put the code in expand and collapse action of the panel box may it can be in different place
    and the table may refersh while u expand /collapse the panel box and new row came to visible.... keep break point in the EntityImpl Create method or ViewObjectImpl InsertRow method
    Find when its get fired........
    Regards,
    Suganth.G

  • Insert multiple rows into a same table from a single record

    Hi All,
    I need to insert multiple rows into a same table from a single record. Here is what I am trying to do and I need your expertise. I am using Oracle 11g
    DataFile
    1,"1001,2001,3001,4001"
    2,"1002,2002,3002,4002"
    The data needs to be loaded as
    Field1      Field2
    1               1001
    1               2001
    1               3001
    1               4001
    2               1002
    2               2002
    2               3002
    2               4002
    Thanks

    You could use SQL*Loader to load the data into a staging table with a varray column, then use a SQL insert statement to distribute it to the destination table, as demonstrated below.
    SCOTT@orcl> host type test.dat
    1,"1001,2001,3001,4001"
    2,"1002,2002,3002,4002"
    SCOTT@orcl> host type test.ctl
    load data
    infile test.dat
    into table staging
    fields terminated by ','
    ( field1
    , numbers varray enclosed by '"' and '"' (x))
    SCOTT@orcl> create table staging
      2    (field1  number,
      3     numbers sys.odcinumberlist)
      4  /
    Table created.
    SCOTT@orcl> host sqlldr scott/tiger control=test.ctl log=test.log
    SQL*Loader: Release 11.2.0.1.0 - Production on Wed Dec 18 21:48:09 2013
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Commit point reached - logical record count 2
    SCOTT@orcl> column numbers format a60
    SCOTT@orcl> select * from staging
      2  /
        FIELD1 NUMBERS
             1 ODCINUMBERLIST(1001, 2001, 3001, 4001)
             2 ODCINUMBERLIST(1002, 2002, 3002, 4002)
    2 rows selected.
    SCOTT@orcl> create table destination
      2    (field1  number,
      3     field2  number)
      4  /
    Table created.
    SCOTT@orcl> insert into destination
      2  select s.field1, t.column_value
      3  from   staging s, table (s.numbers) t
      4  /
    8 rows created.
    SCOTT@orcl> select * from destination
      2  /
        FIELD1     FIELD2
             1       1001
             1       2001
             1       3001
             1       4001
             2       1002
             2       2002
             2       3002
             2       4002
    8 rows selected.

  • Create a new Row in an advanced table in an advanced table

    Hi,
    I am handling the master detail relationship. For this i have used advanced table in an advanced table. I am facing a problem while creating a new row in the inner advanced table.
    I have a Display Sequence column in the inner advanced table. I want to handle the logic for displaying the value of this attribute. As per dev guide i have attached the view link and for handling the Add New row event i am using the below code
    OAAdvancedTableBean sublineDetailsTableBean = (OAAdvancedTableBean) webBean.findChildRecursive("SublineAdvTableRN");
    OATableFooterBean sublineTableFooterBean = (OATableFooterBean) sublineDetailsTableBean.getFooter();
    if (sublineDetailsTableBean.getName().equals(pageContext.getParameter(SOURCE_PARAM))
    && ADD_ROWS_EVENT.equals(pageContext.getParameter(EVENT_PARAM)))
    This is working fine. The challenge i am facing is for creating a new row. Below is the code given in dev guide
    // get a handle to inner tableOATableBean innerTable =
    (OATableBean)webBean.findChildRecursive("InnerTableBean");
    // create an enumeratorOAInnerDataObjectEnumerator enum =
    new OAInnerDataObjectEnumerator(pageContext, innerTable);
    while (enum.hasMoreElements())
    RowSet innerRowSet = (RowSet) enum.nextElement();
    // get all rows
    Row []rowsInRange = innerRowSet.getAllRowsInRange();
    for (int i = 0; i < rowsInRange.length; i++)
    Row nextRow = (Row) rowsInRange;
    // In case you want to add new rows in this RowSet, you can do the same
    OARow newRow = (OARow) innerRowSet.createRow();
    // initialize value for some attribute and insert the row
    newRow.setAttribute("SomeAttr", "SomeValue");
    innerRowSet.insertRow(newRow);
    The Above code creates a new Row in all the master records.
    How do i identify that the add new Row event has been triggered for which master record?
    Can any body please help me on this. I am stuck from a long time and am unable to find the appropriate solution.
    Thanks in advance
    Raj Papdeja

    Hi,
    Following is the code written in PFR,
    OAAdvancedTableBean sublineDetailsTableBean = (OAAdvancedTableBean) webBean.findChildRecursive("SublineAdvTableRN");
    System.out.println("sublineDetailsTableBean::"+sublineDetailsTableBean);
    OATableFooterBean sublineTableFooterBean = (OATableFooterBean) sublineDetailsTableBean.getFooter();
    System.out.println("lineTableFooterBean::"+sublineTableFooterBean);
    if (sublineDetailsTableBean.getName().equals(pageContext.getParameter(SOURCE_PARAM))
    && ADD_ROWS_EVENT.equals(pageContext.getParameter(EVENT_PARAM)))
    System.out.println("Inside Add New Row Button Event for the Sub Lines");
    strValueParam = (String) pageContext.getParameter(VALUE_PARAM);
    System.out.println("strValueParam=>"+strValueParam);
    ViewLink vl = am.findViewLink("GEPSCSTaskLineToSublineVL1");
    System.out.println("View Link=>"+vl);
    if(vl != null)
    OAViewObject vo = (OAViewObject) vl.getSource();
    if(null != vo)
    GEPSCSTaskLineItemsVORowImpl voRow =
    (GEPSCSTaskLineItemsVORowImpl) vo.getCurrentRow();
    Number LineNo = voRow.getLineNo();
    System.out.println("Source Row Line No::"+LineNo);
    /*OAViewObject vo = (OAViewObject) am.findViewObject("GEPSCSTaskLineItemsVO1");
    GEPSCSTaskLineItemsVORowImpl voRow = (GEPSCSTaskLineItemsVORowImpl) vo.getCurrentRow();
    Number LineNo = voRow.getLineNo();
    System.out.println("Line No::"+LineNo);*/
    // Getting the LineNo as null
    /*int intRowCount = vo.getRowCount();
    if(intRowCount > 0)
    System.out.println("Sublines are already present");
    GEPSCSTaskLineItemsVORowImpl tasklineVORow =
    (GEPSCSTaskLineItemsVORowImpl)vo.getCurrentRow();
    Number lineNo = (Number) tasklineVORow.getLineNo();
    System.out.println("LineNo=>"+lineNo);
    Number lastLineDispSequence = null;
    // Method to set the display sequence
    //am.invokeMethod("createNewSublineRow");
    // create an enumerator*/
    OAInnerDataObjectEnumerator enum =
    new OAInnerDataObjectEnumerator(pageContext, sublineDetailsTableBean);
    while (enum.hasMoreElements())
    RowSet innerRowSet = (RowSet) enum.nextElement();
    // get all rows
    Row []rowsInRange = innerRowSet.getAllRowsInRange();
    intRowCount = rowsInRange.length;
    System.out.println("intRowCount=>"+intRowCount);
    if(intRowCount == 0)
    System.out.println("No Rows present");
    OARow newRow = (OARow) innerRowSet.createRow();
    // initialize value for some attribute and insert the row
    newRow.setAttribute("DisplaySequence", new Number(1));
    innerRowSet.insertRow(newRow);
    else if(intRowCount > 0)
    System.out.println("Rows are already present");
    Row nextRow = (Row) rowsInRange[intRowCount-1];
    lastLineDispSequence = (Number) nextRow.getAttribute("DisplaySequence");
    OARow newRow = (OARow) innerRowSet.createRow();
    // initialize value for some attribute and insert the row
    newRow.setAttribute("DisplaySequence", new Number(lastLineDispSequence.intValue()+1));
    innerRowSet.insertRow(newRow);
    break;
    When i try to fetch the Line No which is the primary ID of the Parent VO, it always returns me the LineNO of the first Row and not of the parent row for which i have clicked the Add new Subline button of the Child record
    Number LineNo = voRow.getLineNo();
    System.out.println("Source Row Line No::"+LineNo);
    Is there any way to fetch the primary ID of the row for which i have selected the Add new Subline button
    Thanks
    Raj Papdeja

  • How do you Copy a row to create a new row in the same table?

    Hi,
    We have a PurchaseOrderHeaderView object and on click of Copy Purchase Order we want to copy a row in PURCHASE_ORDER_HEADER table to create a new row. We don't want to copy the primary key only the remaining fields.
    Regards
    Madhuri

    If you use ADF BC, you can create a new row programatically via createRow and use a sequence to create the Id and use the "original" row (probably the current row in the view object) to copy the values from to newly created row. Then use insertRow and commit to create the copied row.
    Ronald

  • Trying to automatically add a new row w/o mutating table error...

    I'm using Oracle 10g express. I'm trying to automatically add a new row with the same e_ID, (RDD + 6 months) as the updated row when RC is updated. I'm fairly new to Oracle, so I need some help on creating a trigger. If you need more details let me know. Thanks in advance.
    create table E
    e_id number(6,0) not null,
    constraint e_pk primary key(e_id)
    create Table ER
    e_Id Number(6,0) Not Null,
    SC Date,
    RDD Date,
    RC Date,
    Constraint ER_Fk Foreign Key(E_Id) References E(E_Id)
    );

    mookjais wrote:
    I'm using Oracle 10g express. I'm trying to automatically add a new row with the same e_ID, (RDD + 6 months) as the updated row when RC is updated. I'm fairly new to Oracle, so I need some help on creating a trigger. If you need more details let me know. Thanks in advance.
    create table E
    e_id number(6,0) not null,
    constraint e_pk primary key(e_id)
    create Table ER
    e_Id Number(6,0) Not Null,
    SC Date,
    RDD Date,
    RC Date,
    Constraint ER_Fk Foreign Key(E_Id) References E(E_Id)
    );Do you mean following(example)?
    create trigger after_insert_e
    after
      insert
    on  e /*This is table name*/
    referencing new as new old as old
    for each row
    begin
    insert into  ER(e_Id,SC,rdd,rc)
    values(:new.ed_id,sysdate,sysdate,sysdate);
    end;

  • How to create new row in Adf uix table

    hi,
    I am using Jdev 10.1.2 , Can any body tell me how to insert new row in table ?
    Thanx

    Hi,
    try creating a createInsert action.
    Regards,
    Koen Verhulst

  • Import new rows to the existing table (urgent)

    Hello everyone,
    i have two databases in different locations. but in the initial stage, both are same.
    if i add rows or update rows in database 1, i want to export the rows updated or added newly from database 1 and import to database 2 without any modification in database2 (i mean only the modified rows and new rows only to be imported to database2)
    for example;
    in initial stage
    database 1-
    table 1(5 rows)
    table 2( 6 rows)
    table 3 (1 row)
    database 2-
    table 1(5 rows)
    table 2( 6 rows)
    table 3 (1 row)
    later stage
    database 1-
    table 1(7 rows)
    table 2( 9 rows)
    table 3 (1 row)
    i need to update the below database 2 with 2 rows in table 1 and 3 rows in table 2. and it should not affect the table 3.
    database 2-
    table 1(5 rows)
    table 2( 6 rows)
    table 3 (1 row)
    i need a solution for this. if anyone know the solution plz post the reply.

    also expdp and impdp commands will work on 10g only i think so. but we are using 9i.Since you're using 9i, use Query option from Export(exp). Below notes would help.
    [http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:478275606639]
    [http://www.dbatools.net/experience/export_query_option.html]
    exp using query parameter
    -Anantha

  • Add new row at top of table

    I searched, but my query may not have been structured to yeild results. In my table I would like to insert new rows at the top of the table. The only way I can think of right now would be getting the last row that isn't null and move the data from that row to the next increment. After that, count down by 2 and do the same over again until I get to row 0. There really isn't any particular data in my table that I could sort by so that isn't really an option.
    Is there something simple I am over-looking?

    Alrighty. And I guess it was insertRow() I was looking for the entire time, not addRow(). Ugh... need sleep.

  • Task to add new row and values to Table?

    Hi, I am new to SSIS, I have a table that I would like to capture daily currency conversion rates. In my Control Flow
    pane, I've been able to use a web service task to get a string value of the conversion rate pass it to an XML task, and connect it to at Data Flow Task. So now I'm not sure what to do from here. I would like to input the daily values into my table:
    [CurrencyID] [int] IDENTITY(1,1) NOT NULL,
    [CurrXDate] [datetime] NOT NULL,
    [Country] [nvarchar](50) NOT NULL,
    [CurrXRate] [float] NOT NULL,
    insert into tbl_CurrXrates
    (CurrXDate, Country, CurrXRate)
    values
    (getdate(), 'USD', @[User::ConversionRate])
    What data tasks and order would I use to add a new row to my table which I think would be a simple insert statement. Hope my
    question makes sense.

    You can put into a package variable and use as part of the insert statement via a SSIS expression to drive a Execute SQL Command to insert it or
    Have the value off the webservice dumped to a XML file and then consume it with XML Source which will allow the values to be inserted into the table (e.g. OLEDB Destination)
    Arthur
    MyBlog
    Twitter

  • Single row editing for multiple tables in a single page

    Hi!
    I have split a table with many many columns into more tables with a lower number of columns. There is an ID column (sequence generated) that is Primary Key common for all tables. Obviously, the relationship between these tables is 1 to 1, so it’s not about having to build master-detail pages.
    What I need now is to edit all these tables in a single page: one single row from each table. The Automated Row Fetch & Automatic Row Processing (DML) processes used for the old table must be replaced by something else.
    Is there a way to use in a single page more pairs of such processes for more tables?
    I want to avoid manually writing processes with lot of PL/SQL code to handle row fetch & update.
    Keep in mind that the page will have an ID item that can be used to identify unique rows in all my tables.
    Thanks,
    Sorin

    I have split a table with many many columns into more tables with a lower number of columns
    IMHO that is a very bad idea. There is nothing wrong with having many columns in a table. If you would like to split them to better "categorize" them, just create views on the table and expose different subsets of the columns.
    I want to avoid manually writing processes with lot of PL/SQL code to handle row fetch & update.
    That is unavoidable given how you have designed the underlying tables.
    You could try creating a view that joins all the tables by the PK and creating a form based on that view. Then write a INSTEAD OF trigger on the view that "doles out" the DML on the view to each of the underlying tables.

Maybe you are looking for

  • Problem in Jtree while retrieving values from a hashtable

    Hi I am trying to show some values in a Jtree.I am receiving the values in a hashtable.The hashtable contains unique key but duplicate values.i want to show that values of that hashtable in a tree(but unique values)and under each value show all the k

  • Manual entry of CST & VAT cond in sales order

    Hi all, I have a senario where in my client wants to enter CST and VAT manually in the sales order, we are using TAXINN, Is it advisible for the above senario or can we maintain the above conditions manually. Problem is i changed the conditon types t

  • Service Pack 2 for Windows Server 2003 broke our online connection to our self-hosted website

    We have two office computers with Microsoft Server 2003. On one of these machines, we have hosted our own website for about 10 years. Eveything worked well until yesterday night, when Microsoft upgraded  our webhost machine with Service Pack 2. When

  • Workspace Manager Performace

    Hello, I've been evaluating WM, and I'm interested in folk's thoughts on performance. Specifically, I've tried merge a roughly 2.5GB workspace back to LIVE. It ran for about 30 hours before dying due to memory. Also, I feel as if basic DML is slightl

  • 0CO_PC_PCP_03 Cost Estimate Itemizations at the top level

    We are wanting to use extractor 0CO_PC_PCP_03 to extract the itemisation behind a cost estimate (The data in table CKIS). The issue with the extractor is that it breaks a multilevel BOM  down to the basic levels (ie, itemisation explosion). However w