Master-Detail 2 levels

Hi All,
I'm trying to transform a Oracle Form to JHeadStart, but the form has a 2 levels of Master-Detail configuration. The result in my JSP page is a additional button which I guess should call an other page containing the second level of Master-detail. But when clicking on the button, I have a "Error in page" message.
I've read on the developper's guide that 2 levels master-detail Forms are not transformed.
Do you have a specific manner to transform that king of Form ? maybe by changing my original Oracle form ?
Rocco

Rocco,
The JHeadstart tutorials have a topic "Nesting Groups More than 2 Levels Deep". This topic explains how to make post-generation steps to get the functionality you want. Choose the tutorial for your View Type / Controller Type combination (you can find them via J:\jheadstart\doc\index.html).
Hope this helps,
Sandra Muller
JHeadstart Team

Similar Messages

  • Post-generating 3-level master-detail-detail screens

    Hi all,
    for a consulting project, I had to create several three-level master-detail screens using JHeadstart. For the JHS demo app, this would mean for example that a location page contained a list of departments at the location and underneath it a list of employees working at the currently selected department.
    From what I have learned so far using JHS, this is not supported by the wizards and should be done by post-generation changes. This forum has a few topics mentioning the problem and possible solutions, but most of the time just fragments of the complete solution/approach. As I had to create several of these 3-level detail screens, I tried to uniformly document them, providing the 7-step guide as outlined below. I only started working with JHS recently, so please let me know where I take a long way round or where my approach is not appropriate at all :o)
    NOTE1: Terminology-wise, for the example given above, I will call the departments the 2nd level detail and employees the 3rd level detail, while locations are the first level masters. I hope this is not too confusing ;o)
    NOTE2: the example code is not guaranteed to work with the JHSdemo. I just changed the names of variables and classes from my own application to the familiar entities of the demo.
    STEP 1: Generate plain MD screens for the first and second level entities (table-form) using the JHS application generator and make sure all generated features you want in your page are OK. Afterwards, switch off the UIX generation in your application structure file. If you want multiple entities at the third detail level,
    STEP 2: Add the functional contents of the generated 3rd level detail UIX page to the main master UIX page, right underneath the 2nd level detail-table but still inside the <header> entity of this 2nd level detail. (I'm not too sure whether this really matters, but at least the indentation looks nice). What I call "functional contents" is the <header> entity containing the 3rd level detail table.
    STEP 3: Edit the java file of the 3rd level view object, adding a variable storing the identifier (primary key) of the currently selected 2nd level detail row. If you haven't used the java file before, generate it by doubleclicking the view object and checking the generate view object box in the Java screen.
    private String $selectedDeptID;
    public void setSelectedDeptID(String id) {
    $selectedDeptID = id;
    STEP 4: Edit the java file of your application module (in the model layer) and add a method for updating the view objects search queries like the example below:
    public void updateEmployeeView(String deptID) {
    // fetch the view object instance
    EmployeeViewImpl view = (EmployeeViewImpl)this.getEmployeeView1();
    // register the currently selected departments ID
    view.setSelectedDeptID(deptID);
    // re-execute the view objects query
    view.executeQuery();
    // reset the selected ID
    view.setSelectedDeptID(null);
    STEP 5: Create a java class for handling the event when a user selects a different 2nd level detail row.
    package view;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import oracle.adf.controller.struts.actions.DataActionContext;
    import oracle.adf.model.BindingContext;
    import oracle.adf.model.bc4j.DCJboDataControl;
    import oracle.adf.model.binding.DCDataControl;
    import oracle.adf.model.binding.DCUtil;
    import oracle.cabo.servlet.BajaContext;
    import oracle.cabo.servlet.Page;
    import oracle.cabo.servlet.event.EventResult;
    import oracle.cabo.servlet.event.PageEvent;
    import oracle.cabo.servlet.ui.data.PageEventFlattenedDataSet;
    import oracle.cabo.ui.data.DataObject;
    import oracle.cabo.ui.data.DataSet;
    import oracle.cabo.ui.beans.table.SelectionUtils;
    import oracle.jbo.ApplicationModule;
    * USER-DEFINED EVENT-HANDLING CLASS
    * this class is triggered after the user selects another row in the Department
    * table/form in the Locations.uix screen. It derives the ID (pk) of the
    * selected row and launches the AppModule method to update the view objects
    * select queries with the selected DeptID.
    public class RowSelector
    * private variable holding the name of the DataControl module for this
    * Application Module
    private static final String DATACONTROLNAME = "AppModule" + "DataControl";
    * private variable holding the name of the table/form object in the uix page
    * from which we want to derive the selected row data.
    private static final String TABLEFORMNAME = "DepartmentsView2";
    * private variable holding the name of the form field holding the database
    * ID (pk) of a row in the ${TABLEFORMNAME} table/form
    private static final String IDFIELDNAME = "Dept_ID";
    * This method fetches the ID of the user-selected row in the DepartmentsView2
    * table/form in the Locations.uix form.
    * Afterwards, it fires the ApplicationModule method for updating the view objects
    public static EventResult doSelectionEvent(BajaContext bc, Page page, PageEvent event)
    try {
    // create a new FlattenedDataSet for the table name
    DataSet tableInputs = new PageEventFlattenedDataSet(event, TABLEFORMNAME);
    // fetch the UI table index from the DataSet (NOT the pk from the db)
    int index = SelectionUtils.getSelectedIndex(tableInputs);
    // fetch the DataObject representing all the input elements on the current table row.
    DataObject row = tableInputs.getItem(index);
    // fetch the value of the input field holding the ID (pk) of the selected department row
    Object value = row.selectValue(null, IDFIELDNAME);
    if (value != null) {
    // tell the AppModule to update the appropriate view object(s)
    getAppModuleImpl(bc.getServletRequest()).updateEmployeeView(value);
    // quick and dirty exception handling. not too many exceptions possible due to
    // hard-coded field/table/module names. anyway, taking no action at all is not
    // that bad an option for a demo ;o)
    } catch (Exception e)
    e.printStackTrace();
    return null;
    * method for fetching the active Application Module
    public static AppModuleImpl getAppModuleImpl(HttpServletRequest request)
    BindingContext ctx = DCUtil.getBindingContext(request);
    DCDataControl dc = ctx.findDataControl(DATACONTROLNAME);
    AppModuleImpl service = (AppModuleImpl)dc.getDataProvider();
    return service;
    STEP 6: Override the executeQueryForCollection method in your view object java file to make sure it uses the selected 2nd level detail rows ID for the bound variable specifying the 3rd level select query. Otherwise, the select query for the 3rd level detail set appears to use the ID of the first 2nd level detail row selected for the currently selected 1st level master. In the example below, no other bound variables are used in the view object, otherwise, the indexing might have to be adjusted.
    protected void executeQueryForCollection(Object qc, Object params[], int noUserParams) {
    if ($selectedDeptID != null) params[0] = $uur;
    super.executeQueryForCollection(qc, params, noUserParams);
    STEP 7: In the Locations.uix page, set a primaryClientAction for the radio select input in the 2nd level detail screen. This action should fire an event (fe 'userChoseDepartment') and refresh the 3rd level detail tables using the partial refresh options in the primaryClientAction dialog window. Afterwards, add an event handler to the bottom of your Locations.uix page, linking the event specified before to the doSelectionEvent in the RowSelector class.
    So, that's how it worked for me. I hope it does the same for you and please do post any comments or remarks if problems arise or simplifications are possible. The more remarks or bugs appear in the above code, the more the JHS team is hinted to enable auto-generated 3rd level detail screens :-D
    Cheers,
    benjamin

    Benjamin,
    Thank you for sharing your expreinces with us!
    A few remarks:
    1. With JHeadstart 10.1.2.1 you can generate unlimited master-detail levels in the same page when using UIX and table-layout for the detail groups This feature is implemented usin g UIX table detail disclosure: when you click on the "show" link in a row in of the level 2 detail table, you will see in the detail disclosure area the level 3 detail table.
    There is a screen shot of this feature in the JHeadstart Developers Guide for 10.1.2.1, chapter 3, section "Creating Table Pages". You can now download the dev guide from the JHeadstart Product Center:
    http://www.oracle.com/technology/consulting/9iservices/jheadstart.html
    2. You have a lot of steps related to synchronizing the level 3 ViewObject with the level 2 ViewObject. You can leave all this work to ADF Business Components, by adding the l;evel 3 ViewObject as a nested usage to the level 2 ViewObject in your application module data model.
    Ths would save you the work you aredoing in steps 3 to 6.
    Steven Davelaar,
    JHeadstart Team.

  • Linking JSP master-detail pages

    Hi all,
    I am developing a JSP-BC4J application with JDev903.
    I have a hierarchy of 5 view objects, let's say VO1,..,VO5, linked to each other by one-to-many view links. I would like to make a drill-down for this data.
    With the JSP for BC4J wizard, I generated an JSP application, which contains (among others) 4 JSP master-detail pages:
    - VO1 DataRecord with VO2 DataTable
    - VO2 DataRecord with VO3 DataTable
    etc.
    In the DataTable's, I added the next master-detail page as an edittarget. If you click it, the next page appears, but the data on this page do not correspond with the master table row that you clicked. So probably, you have to add some extra code to synchronize the row sets.
    My questions:
    - how can you get this to work ?
    - what is the best place to change things ?
    - does anyone have an example of this ?
    Cheers,
    Frank

    As long as you add ViewLinks between your master-detail levels, the synchronization is automatic. You just have to make sure you use the 'correct' view object usage name. Look at your ApplicationModule's model via its editor.

  • Help needed in Master Detail Form - 2 level of details

    Hi,
    I have a form with 2 levels of Master Detail and a Find window
    The Datablocks are
    - Batch
    - Headers
    - Lines
    - Manual datablock for Find Wndow
    I have created relation between Bacthes and Headers with Batch Id
    I have created relation between Headers and Lines using HeaderId.
    The issue is that,
    If I search with '%' in Batch block, by default it will show results in 'Headers' and 'Lines' block.but if i navigate to the next record in batch block , only Headers block shows results but Lines block does not show result.
    If I search from Find window also, only Batch and Headers block shows results but Lines block will be empty.
    In the 'Batch' block if I search with specific data , the screen shows results in 'Headers' and 'Lines' block.
    Can you please help me solve it.
    I have written a PRE-QUERY on Batches block to set where clause from Find window.
    I have written a PRE-QUERY in Headers block to set where clause from Find window
    Thanks,
    Kamath.
    Thanks,
    Gowtam

    Hi,
    When you execute normal not by searching through ENTER_QUERY mode. Then data is coming in all blocks
    - Yes. Once I go to the Form if I search using '%' in batch block or search for a particlaur record i Batch block, the results shows up in Headers and Lines block.
    Ex: say there are 2 records in Batch block(A and B) and I search by %, by default i get 1 batth record (A) and corresponsding headers and lines
    now when i use down arrow key in the batch block, second record(B) will be showed in batch block. relevant Headers block records will be shown but Lines block does not get queried.
    Similarly if coem to the Form from search window then also, Batch and Header blcoks wil be shown but not Lines block
    PREQUERY at Batch Level_*
    V_WHERE := 'WHERE 1 = 1';
    IF :XXYH_ICAN_CALC_WB_FIND.PERIOD IS NOT NULL THEN
         V_WHERE :=      V_WHERE || ' AND PERIOD = '''||:XXYH_ICAN_CALC_WB_FIND.PERIOD||'''';
    END IF;               
    IF :XXYH_ICAN_CALC_WB_FIND.BATCH_ID IS NOT NULL THEN
         V_WHERE :=      V_WHERE || ' AND BATCH_ID = '''||:XXYH_ICAN_CALC_WB_FIND.BATCH_ID||'''';
    END IF;
    IF      V_WHERE IS NOT NULL THEN
         set_block_property('XXYH_ICAN_WB_BATCHES',DEFAULT_WHERE,V_WHERE );                          
    END IF;     
    PRE-QUERY at Header Level_
    IF :XXYH_ICAN_CALC_WB_FIND.BATCH_ID IS NOT NULL THEN
         V_WHERE :=      V_WHERE || ' AND BATCH_ID = '''||:XXYH_ICAN_CALC_WB_FIND.BATCH_ID||'''';
    END IF;
    IF      V_WHERE IS NOT NULL THEN
    set_block_property('XXYH_ICAN_WB_TRX_HEADERS',DEFAULT_WHERE,V_WHERE );
    END IF;     
    Thanks,
    kamath.

  • 3 Levels Master Detail View Object with Java class interface

    Hi Developers,
    I've created 3 tables with one to many relations as below
    BOARD ------<- APPLICANT ------<- QUALIFICATION
    a board includes many applicants and an applicant includes many qualifications.
    When I add these tables to a Fusion Project, JDeveloper 11g helps me to add the Entity Links and View Associations automatically.
    Then, I defined these relations in an ApplicantModule's Data Model as below.
    [+] BoardVO1
          |
          |--[+] ApplicantVO1
                   |
                   |--[+] QualificationVO1The problem is: I cannot write any function in QualificationVO and publish it by client interface.
    I created a simple function with a single line (System.out.println(...) ) in QualificationVOImpl.java. and selected it in Client Interface. But when I execute it from the ApplicantionModel for testing, an oracle.jbo.NoObjException JBO-25003 is raised. with message: Object ... ApplicantVO1 of type ApplicationModule not found.
    Has anyone tried to implement some coding in the third level of a master details view structure as my example? How do you make it works?
    I'm using JDeveloper 11.1.1.3 with ADF BC.
    Regards,
    Samson Fu

    Samson,
    Looks like a bug (probably with the application module tester). I created your tables:
    create table board(board_id number primary key not null);
    create table applicant(applicant_id number primary key not null, board_id number not null);
    create table qualification(qualification_id number primary key not null, aplicant_id number not null);
    alter table applicant add a_fk foreign key(board_id) references board;
    alter table qualification add q_fk foreign key(aplicant_id) references applicant;I created a JDev project and got the same results. I've e-mailed a test case off to Frank.
    Frank - the method is indeed exposed on the VO instance, and I tried testing that way, but the AM tester gives the error as if it is looking for an AM instance with the VO's name.
    John

  • Second level detail in master-detail via VL does not return rows

    Sorry, I did not want to repost the entire thread. Please see the last entry in the following thread for my urgent question.
    second level detail in master-detail-detail does not return rows
    "second level detail in master-detail-detail does not return rows"
    Thanks so much!
    Teri

    Ahhh ... that explains everything!
    You wrote:
    ListView1
    -> ListRowView2 (via ListRowFkLink1)
    -> ListValueView2 (via ListValueFkLink2)
    That's why I thought it's a master and two details.
    But it's more like:
    ListView1
        -> ListRowView2 (via ListRowFkLink1)
              -> ListValueView2 (via ListValueFkLink2)Is that correct?
    That's the explanation.
    A ViewLink is basically a RowSetIterator controlling a detail RowSet. When the iterator navigates, the detail RS is refreshed.
    When you create a hierarchy in the wizard, the controlling master iterator is always the default iterator! But you used a new iterator (listRowIter) to iterate over your first detail. The default iterator of that first detail didn't move, hence the RowSet of your second detail was not refreshed.
    When you navigate in the tester, the tester always uses the default iterator. That's why it worked there.
    Sascha

  • Multiple level of Master Detail with ShowOneTab

    I am developing an ADF application using JDeveloper.
    Let us assume that we have three entities A,B and C. I have created three view objects and two View Link objects to implement three level Master-Detail relationship.
    I have created master table - detail table on a jspx page where master is entity A and detail is entity B. Detail table is in a showDetailItem component in showOneTab which works fine.
    Now I have the requirement to create another level of master detail hierarchy between entity B and C. The master of this relationship is B, which is displayed on one showDetailItem tab as stated above. While the detail for entity C must display on second tab (showDetailItem).
    I have set the partial trigger id of third table to masterDetail2 (id of the entity B table now serving as master). I have also set the AutoSubmit property of this table to true. But the data is not refreshed, it always displays the first set of records.
    Please suggest what I can do or if I am missing something to implement the solution?
    Regards,
    Amir

    Hi,
    I think this is because PPR doesn't work on hidden components (that are components that are not rendered). Try and add a listener to the tab canvas that then on changing the tabs, re-executes the iterator for this table
    Frank

  • 3 Level Master-detail-detail data view implementation

    Hi OAF Gurus,
    I have a requirement, where in I have to show a 3 level master-detail relationship data on a page. Is it possible to implement a master-detail-detail table structure i.e. table-in-table-in-table view. I have done table-in-table ( a 2 level or master-detail ) structure before, but I am running out of ideas on this one. Below is the requirement.
    I have queryBean for a customer search, then when searched by a customer, I get the Customer search results in a table below. Then I need to show Customer Sites in an inner table and then in another inner table on the Customer Sites, I need to show the customer contacts, something like this below.
    + Customer Name, Customer Acct.Number ....
    + SiteId , Site Name, BillTo, ShipTo
    + ContactName, Contact Address, Contact Phone Number
    Hope you can provide me some ideas. I appreciate all your help. Thanks again.

    Anyone any ideas, please let me know. This is really urgent. Please let me know if there is any way we can do this, other than going to a new page. Appreciate your feedback.
    Thanks.

  • URGENT HELP PLS :  Issue with Multi Level Master Detail block

    This is an issue someone else had posted in this forum few years back but there was no solution mentioned, I have run into this same issue , The problem is as explained below.
    Any help on this is appreciated.
    Scenario:
    There are 3 Blocks in the form : A (Master Block)
    : B (Detail of A )
    : C (Detail of B )
    There is master detail relation created between A and B and B and C. So initially when we query for a record in Master A, it shows all records properly in B and C.
    Now if i navigate to the first record of B , and then second record of B , records corresponding to that record shows up properly in C block.
    Till now everything works fine.
    Issue 1:
    But in case after querying initially on Master Block A,If I go directly to the second record of B block, it clears the whole B block and C block.
    Issue 2:
    Same thing happens if I am on C block ( corresponding to second record of B block) and then navigate to first record in B block , it again clears the whole B block and C block.
    Please Help !!
    Thanks !

    Thanks Xem for Your reply , I tried those settings but it did not help..here is the original link that to the thread that talks about the same problem ,
    Issue with Multi Level Master Detail block
    The last update to this was the following :
    "I figured out that this is happening because Block Status is set to 'Changed' and this is causing it to clear out the blocks.
    But cant figure out why the status is setting to 'Changed' "
    Any Help from the form Gurus on this form in this matter is truely appreicated !!
    Thanks,
    Zid.

  • Row level validation for Master-Detail form

    OA JDeveloper 9i (RUP5) 9.0.3.5 (Build 1453)
    I have a form which is based on a master detail relationship.
    - For each employees details (Advancetable) based on a EO (AbsenceInputsEO)
    - For each employee you can add one or more allowances records (AdvanceTable) VO (AbsenceInputsVO)
    Both the above VO and EO is based on the same table (XHR_BWCD_KRONOS_INTERFACE)
    How do stop a user from selecting (radio button) the next employee in an advance table (master level), it the the records they entered at the detail level for the previous employee is not valid?
    I used the the same validation method I used for the "APPLY" event to validate the records entered at detail level
    to the "EmployeeSelect" event, but the error message showed only after the new employee has been selected. Thus the error message that is displayed does not relate to the employee record selected at that stage.
    How do I prevent the user from selecting the next employee in the Master(Advancetable) if the records in the Detail(AdvanceTable) is not valid?

    Thanks for you help,
    Where able to reset the "SelectFlag" for the employee the error related to, but now I endup with two radio buttons being selected. One for the employee which the error relates to and one for the employee which triggered the validation when user navigated away from the current employee record.
    I need to be able to set the attribute "SelectFlag" for any other employee selected in the master record to "N", before the error is thrown. I do not seem to be able to access the newly selected employee record to set the "SelectFlag" to "N" as I only have access to the currentrow SelectFlag in the processFormData.
    It looks to be if I can only access the new selected employee in the processFormRequest(OAPageContext pageContext, OAWebBean webBean), but I never get to this method as the error message stop processing in the processFormData().
    I have the following code in the processFormData(OAPageContext pageContext, OAWebBean webBean)
    if ("EmployeeSelect".equals(event))
    if (!IsValid(pageContext,am,true,AsgJobName,EmpStartDate.toString()))
    // oracle.jbo.Row ValidationRow = vo.getFirstFilteredRow("SelectFlag", "Y");
    // Set flag for employee record with error
    Row [] rows = vo.getFilteredRows("SelectFlag", "Y");
    // getFilteredRows returns a zero-length array if it finds no matches.
    if ((rows != null) && (rows.length > 0))
    // Set the master row and get the unique identifier.
    Row masterRow = rows[0];
    am.findViewObject("EmployeeAbsenceDetailsVO1").getCurrentRow().setAttribute("SelectFlag","Y");
    vo.setCurrentRow(masterRow);
    // Unselect new Employee
    throw new OAException(ErrorMessage, OARowValException.ERROR);
    } // EmployeeSelect-Event
    Question:
    =======
    Can I access the newly selected employee rows from the processFormData to reset the "SelectFlag" to "N" before I through the error message? I would like to be able to do this in the section I have marked "// ?????", before I throw the error. How would I do this?

  • Issue with multiple level master details

    Hi All,
    I just came around with following scenario and found it is not working as expected.
    GFVO ( Primary Key Attribute -> GFID )
    | ---- ViewLink between GFVO and ParentVO on attribute GFID
    Parent VO (PrimaryKey PID )
    | -- ViewLink between Parent VO and Child VO on attribute ATTR1
    ChildVO (PrimaryKey CID )
    Data ->
    GF VO has record -
    1 , xyz
    2 , abc
    Parent VO
    PID Name PGFID ATTR1
    1 ppp 1 1
    2 ttt 1 2
    3 lll 2 1
    4 kkk 2 2
    Child VO
    CID Name ATTR1
    1 cc1 1
    2 cc2 1
    3 cc3 2
    4 cc4 2
    Requirement is I want to show the name attribute of Parent in Child VO. I have used parent accessor exposed in child to display the name of the parent. When I use this multiple hierarchy in AM and run it I find the wierd result.
    Say I select Row (2 , abc) in GF VO.
    I should see below two rows in Parent Row.
    PID Name PGFID ATTR1
    3 lll 2 1
    4 kkk 2 2
    Now I select Row ( 3 lll 2 1 ) in Parent VO , it shows the following Child ROw I get this result -
    CID Name ATTR1 ParentName( accessed throug ViewAccessor)
    1 cc1 1 ppp
    2 cc2 1 ppp
    Gotcha ..... Parent Name ? I am assuming that when we try to access the parent through accessor it will give the parent row from the already filtered VO based on first Viewlink. Rather it requires and gives the first parent as if I m having a single join.
    Thanks,
    Rajdeep

    Hi,
    for a master-detail between tables you create a tree binding each. Assuming the data model you defined contains the three view objects in a hierarchy, you simple drag the parent, then the first child and then the second child as a table to teh view. You then configure the PartialTriggers property of child2 table to point to child1 and parent table. The child 1 table partial triggers property will point to the parent table. This should make the m/d work. If on the server you want to use accessors in the code to get to the details of a child (on the client I would use the iterator binding in the PageDef file), make sure you access the correct instance of the ViewOject
    Frank

  • Having multiple level of master/detail with data tags

    Hi,
    Here is a Database Model for the purpose :
    - An EMPLOYEE is in one and only one DEPT
    - a DEPT has several EMPLOYEEs
    Suppose that:
    - An EMPLOYEE come from one and only one SCHOOL which is in a SCHOOL table
    - a SCHOOL have educated several EMPLOYEEs
    Suppose that:
    - A SCHOOL is part of one and only one SCHOOL_CATEGORY (Engineer school for example)
    - A SCHOOL_CATEGORY concerns several SCHOOL
    I would like to show a JSP page containing :
    Employees for DEpt : 12456
    table headers:
    Employee ID | Employee Name | School Name | School Category Name
    as you can see we have a master/detail between Master view DEPT and Detail view EMPLOYEE and EMPLOYEE is master for School which is detail view for employee and school category is detail view for school which is master for school category ! (do you follow me ? ;-))
    Do you see my concerns ??
    How do we do that whith data tags ??
    Thank's a lot for you help...
    It's urgent...

    Hi,
    I guess you are trying to achieve this using BC4J if so then you can modify your view object for employee so as to have School and category listed when you base your datatags on that view.
    You would need to modify your view object query by using expert mode.
    Thanks
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Olivier LAHILLE ([email protected]):
    Hi,
    Here is a Database Model for the purpose :
    - An EMPLOYEE is in one and only one DEPT
    - a DEPT has several EMPLOYEEs
    Suppose that:
    - An EMPLOYEE come from one and only one SCHOOL which is in a SCHOOL table
    - a SCHOOL have educated several EMPLOYEEs
    Suppose that:
    - A SCHOOL is part of one and only one SCHOOL_CATEGORY (Engineer school for example)
    - A SCHOOL_CATEGORY concerns several SCHOOL
    I would like to show a JSP page containing :
    Employees for DEpt : 12456
    table headers:
    Employee ID | Employee Name | School Name | School Category Name
    as you can see we have a master/detail between Master view DEPT and Detail view EMPLOYEE and EMPLOYEE is master for School which is detail view for employee and school category is detail view for school which is master for school category ! (do you follow me ? ;-))
    Do you see my concerns ??
    How do we do that whith data tags ??
    Thank's a lot for you help...
    It's urgent...<HR></BLOCKQUOTE>
    null

  • Unrelated data in master detail sections of a custom BIP  report deployed in R12 EBS

    We have a custom Master Detail BIP report generated by calling XDO APIs from a custom Java concurrent program (common_report_attachment) . This Java concurrent program is called from another custom concurrent program (po_validation) that processes a batch of POs in a single concurrent request.
    PO_Validation Program (processes a batch of POs per request) -> Java Concurrent Program -> BI Publisher Report APIs
    BIP report generates data for master detail sections based on two sql queries (given below) that have 'where' clause based on a common external parameter "P_TRX_HDR_ID".
    NOTE: No explicit data link is used NOR an output column of parent query is used in the where clause of detail query as bind parameter.
    - <dataTemplate name="NAPPB2BPORPT" description="Data Template for B2B PO Report" version="1.0">
    - <properties>
      <property name="xml_tag_case" value="upper" />
      <property name="db_fetch_size" value="200" />
      <property name="scalable_mode" value="on" />
      </properties>
    - <parameters>
      <parameter name="P_TRX_HDR_ID" dataType="number" />
      </parameters>
    - <dataQuery>
    - <sqlStatement name="Q_PO_HDR">
    - <![CDATA[
    SELECT poh.po_number                                     PO_NUMBER
              , poh.quote_number                             QUOTE_NUMBER
              ---- other columns -----
             FROM nappcust.napp_o2i_po_headers poh
                ,napp_aso_quote_headers_v naqv
               WHERE 1=1
               AND naqv.quote_number=poh.quote_number
               AND poh.header_id = :P_TRX_HDR_ID
      ]]>
      </sqlStatement>
    - <sqlStatement name="Q_LINES">
    - <![CDATA[
    SELECT  pol.item                                            ITEM
          , pol.partner_part_number                             PARTNER_PART_NUMBER
          -- other columns --
       FROM napp_o2i_po_lines pol
       , napp_o2i_po_headers poh
       , aso_quote_lines_all aqla
       , mtl_system_items_b msib
    WHERE 1=1
      AND poh.header_id               = pol.header_id
      AND pol.header_id               = :P_TRX_HDR_ID
      AND aqla.quote_header_id        = poh.QUOTE_HEADER_ID
      AND msib.inventory_item_id      = aqla.inventory_item_id
      AND msib.organization_id        = aqla.organization_id
      AND (pol.quote_line_number       = aqla.quote_line_id
           OR pol.quote_line_number    = aqla.quote_line_id||1)
      ]]>
      -- Added for the defect 13954
      </sqlStatement>
      </dataQuery>
    - <dataStructure>
    - <group name="G_PO_HDR" source="Q_PO_HDR">
      <element name="PO_NUMBER" value="PO_NUMBER" />
      <element name="QUOTE_NUMBER" value="QUOTE_NUMBER" />
      --- mappings for other columns of "Q_PO_HDR"
      - <group name="G_LINES" source="Q_LINES">
      <element name="ITEM" value="ITEM" />
      <element name="PARTNER_PART_NUMBER" value="PARTNER_PART_NUMBER" />
        --- mappings for other columns of "Q_LINES"
      </group>
      </group>
      </dataStructure>
      </dataTemplate>
    Issue: Sometimes when the parent concurrent request runs for a batch with multiple POs the report generated for the last PO has inconsistent data in the master and detail sections. To elaborate, the detail section is having correct data pertaining to the PO identified by the parameter "P_TRX_HDR_ID". However, the master section is having data pertaining to the previous PO processed from the same batch.
    This issue is not occurring consistently and is not reproducible at will. I
    'm suspecting this could be because of not having data link between the queries but confirm from someone who has experienced this issue.
    Regards,
    Srinath

    is there any way from the page, can we pass the some values, which can identify the page level data?
    if so pass the parameter to BIP report query.

  • Problem on Master Detail CRUD

    Dear All,
    I am trying to figure out how ADFBC handles Master Detail relationship as this
    is the first time where I need to handle table relationship.
    From practice, I only used one table but this time I need to manage the relationship also.
    I have two tables below. They have a one to many relationship.
    PART_ID in the PARTS_CODE table is populated by a DB sequence.
    PARTS_CODE                                   PART_DESC
         - PART_ID (PK)                              - PART_ID (PK)
         - RANGE                                   - REGION  (PK)
         - CATEGORY                              - DESCUse Case is like this:
    PARTS_CODE table holds the data on the parts while PARTS_DESC holds the information on the Region specific description of the parts.
    Now I created a View object that joins the two tables. Then I drag this View Object from
    my Data Control as an update-able table.
    I just have some questions on the implementations:
    1. When I drag the CreateInsert button and click it, I notice that it adds a new row to the
         table but I notice that it creates Input Text component only on the columns associated with
         the PARTS_CODE Table, the other columns for the PART_DESC does not have any UI components.
         How to solve this?
    2. How can I manage the relationship such that when it inserts the data on the PARTS_CODE, I need
         to get the DB sequence generated number and insert it into the PART_DESC table
    3. Any demo/links that shows CRUD operations that involves master detail tables?
    I have searched the forum for Master-Detail Crud but I only see how to display the relationship and not
    the CRUD operations.
    Found this blog also http://andrejusb.blogspot.com/2009/03/create-operation-for-master-detail.html but
    I am having trouble fully understanding it yet.
    JDEV 11G PS3
    Thanks

    Hi,
    Which of the following is your case scenario?
    1) By pressing CreateInsert, You want to have one new row with data from both tables?
    For this, You should make the reference entity to be updatable. You will find the property in the Entities level of your View Object. By creating at the same time, you have to handle the PK properly. Especially if there is a change to the PK of the master entity.
    2) Do You want to have two createInsert Buttons and press them in order?
    You have to follow the view Link
    Regards,
    Dimitris.

  • Master Detail Form - unable to add detail row

    Dear,
    I have a test application that runs for years on apex.oracle.com.
    Since 3rd of june 2010 I am unable to add rows on a detail form.
    Any ideas?
    Help is welcome!
    Kind regards
    Lorenz

    4.0 Conversion Issue
    Lorenz stated I can create the orderheader, but unable to create orderlines.Simply nothing happens, when I click the add row button.>
    I share the same issue as Lorenz, on a Master/Detail form, I am able to create my Master row and but nothing happens when attempting to create detail rows. I was able to switch my application to theme 13 (Traditional Blue) from 2 (Blue and Tan) and was then able to create and add details rows.
    My dilemma. When switching to theme 13 and others, none appear to support Two Level Tabs in the same manner as Theme 2. Essentially the applications look and feel is not going to go over well with my user base of 3+ years.
    Is there another standard theme that will support Two Level Tabs like Theme 2 and allow the addition of detail rows on a Master/Detail form?
    Is this a reported 4.0 conversion issue?
    Jeff

Maybe you are looking for