Master-detail module in Web PL/SQL

Hi, I'm a beginner and I'd like to ask how many tables can I use in order to create a master-detail module. The example I have is only 2 tables which is master table and detail table respectively.
What should I do if I want to include more than 2 tables in a master-detail module?
For my case, the module i created is to create customer orders where order, order details, customer, employee and product tables are necessary .
Thanks.

This probably belongs over in the Products->DeveloperSuite->Designer forum. But I can start an answer here.
On any single designer-generated web pl/sql page, you can typically only show two levels: a master and 0->many details. You can also only edit one table per page.
You'll typically be setting up several module components using "key-based links" between them. It's not that hard, but you'll want to experiment a bit or use some resources. For example, there are a number of useful papers over on the odtug site, www.odtug.com
-- jim

Similar Messages

  • Master Detail module returns to Master page after Detail record saved

    Using Oracle Designer Editor version 10.1.2.0.2 I have generated a Web PL/SQL package
    set up as a Master/Detail where the Master and Detail records appear in separate windows.
    The Master window contains multi-records each with a link to the related Detail records.
    The user clicks on the Detail link and the window that appears will allow the user to insert
    a new Detail record. Once the user clicks the Save button I need the Detail window to disappear
    and the focus returned to the Master records preferably after a new query is performed.
    What are the steps I need to perform to navigate back to the Master page and close the Detail
    page?
    Thanks,
    Mark

    The simple answer is that to do exactly what you want would take some fundamental changes to the way the framework works. The actionInsert procedure does what it does - it saves the changes and redisplays the form. You can do post-generation changes to make it do something else, like return to the Master, but I'd advise against it.
    But if you want a way to return to the Master window, where the user clicks a button or link on the detail form after saving changes, that we can do. Just make a note of the URL that does the initial display of the Master page - probably my_module_name$.startup. Go into the detail module component, and click the User Text tab. Then at Text Location, "Bottom of View Form" (or Top if you want the link there) add for a link:
    htf.anchor('my_module_name$.startup','Return to Master')Or for a button:
    htf.formOpen('my_module_name$.startup','GET')||htf.formsubmit('Return to Master')||htf.formCloseYou may need to set the SECECS preference for this module to "No" to get this to work.
    An alternative to my method is to define an Action Item in the module that does a navigation. I often am linking directly to the View form for a master table, rather than a record list, as you are, and Action Items don't work well for that, but one might work fine for you.

  • 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 with Master-Detail web page tutorial

    My student asked me about this problem:
    I just completed the following Master-Detail tutorial...
    http://www.oracle.com/technology/products/jdev/collateral/4gl/HO_Workshop/hos1_1/HOS1_1_ADF_Forms_Designer.pdf
    ... The problem here is that when I try to define Order By CUSTOMER_ID in CustomersView the App Module test and the application both fail...
    JBO-30003: The application pool (model.OrderEntryAMLocal) failed to checkout an application module due to the following exception:oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.domain.DataCreationException, msg=JBO-25029: Data class (a domain?) String not found     at oracle.jbo.JboException.<init>(JboException.java:343)     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1772)     at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2611)
    (etc...)
    Note that I can define Order By ORDER_ID in OrdersView without problems.

    Thanks Frank... I had entered just CUSTOMER_ID as you said. After trying this, the App Module is "permanently" broken. It will not work again even if I remove the Order By entry. I was able to use Order By ORDER_ID successfully in the OrdersView. The Order By is not part of the tutorial, but I wanted to use it because I would if this was a real application.
    Message was edited by:
    user463505

  • Sql in master detail form

    I am interested in the sql used by masterdetail oracle forms.
    Suppose you don't have any crietriea then we can do just
    masterblock=select * from master
    detailblock=select * from detail
    if there are crietrieas then
    how does it uses the sql in detail query
    like below or not
    masterblock=select * from master where ..=..
    detailblock=select detail.* from master,detail where master.fld=detail.fld and master..=..

    If you look at the Copy Value from Item property of the items or items in the detail block that are specified in the join condition of the relation, you'll see that the value is copied from the master block. This creates the where condition in the query.
    If you look at :system.last_query (you can programatically message it out or display it in a text item), you'll see something like:
    SELECT ROWID,ORDER_ID,LINE_ITEM_ID,PRODUCT_ID,UNIT_PRICE,QUANTITY FROM order_items WHERE (ORDER_ID=2354) order by line_item_id
    In this particular case, the "(ORDER_ID=2354)" came from the Copy Value from Item property for the ORDER_ID item in the ORDER_ITEMS (detail) block, and the "order by line_item_id" came from the ORDER BY Clause property for the ORDER_ITEMS block.

  • Sql loader master detail tables

    Hi
    I am trying to load master detail tables using sql loader. I have a sequence in the master table as primary key and have to load primary key in detail table. is there any way i can query up the primary key by name in the control file. please whats the best way to do this.
    can i query up the primary key in the master table by the name in detail table which is jan09.
    e.g
    master data
    jan09,description
    detail data
    jan09,'test1','100,'y'
    LOAD DATA
    INFILE 'test.data'
    insert
    INTO TABLE master_table
    fields terminated by ',' optionally enclosed by '"' trailing nullcols
    (id position(1:2) "myseq.nextval",
    code char,
    creation_date date sysdate,
    last_update_date date sysdate,
    into TABLE BDETAILS
    fields terminated by ',' optionally enclosed by '"' trailing nullcols
    (id number "select id from master_table where code=" || :code
    name char,
    amt decimal,
    flag char
    )

    Hey Here is what you need.
    You will have to understand and test this properly.
    It took me quiet some time before i could get to this stage
    Here is the test data with all the commands.
    As far the ID in the detail table is concerned you have no option but to update that column once the loading is complete.
    1) create Table
    CREATE TABLE master_table(ID NUMBER,code VARCHAR2(50),creation DATE,last_update DATE);
    CREATE TABLE bdetails(ID NUMBER,NAME VARCHAR2(100),amt NUMBER,flag VARCHAR2(10));
    ALTER TABLE master_table ADD (chc VARCHAR2(10));2) Create Sequence
    CREATE SEQUENCE testseq INCREMENT BY 1;3) CTL FILE
    LOAD DATA
    INFILE 'c:\sqlldr\test.txt'  /*path of data file */
    append
    INTO TABLE master_table
    when (1) ='M'  /*to check if the record in the data file is a master record */
    fields terminated by ',' optionally enclosed by '"' trailing nullcols
    (id  expression "testseq.nextval", /*select next value from sequence */
    mcol1 filler, /*FILLER keyword is sused to skip first column from data file */
    chc,
    code  ,
    creation "sysdate",
    last_update "sysdate"
    Into TABLE BDETAILS
    when (1) ='D'  /*to check if the record in the data file is a Detail record */
    fields terminated by ',' optionally enclosed by '"' trailing nullcols
    (id  expression "testseq.currval", /* UNFORTUNATELY THIS PICKS UP THE LAST ID OF THE MASTER RECORD SESSION STUFF GOING ON HERE*/
    col1 filler position(1:2),  /* specifying this POSITION(1:2) is very very important as you need to reset the cursor to start of the line for the next record */
    name  ,
    amt ,
    flag )4) SQLLDR Command
    sqlldr scott/tiger data=c:\sqlldr\test.txt control=c:\sqlldr\1.ctl
    5) data file
    M,jan09,description
    D,test1,100,y
    M,feb09,description1
    D,test2,200,x
    M,mar09,description2
    D,test3,200,xHope this helps you and give you a lead how to proceed.
    Cheers!!!
    Bhushan

  • Problem occured when create a tree table for master-detail view objects using SQL queries?

    I am programming a tree table for master-detail view objects using SQL queries and these 2 view objects are not simple singel tables queries, and 2 complex SQL are prepared for master and view objects. see below:
    1. Master View object (key attribute is SourceBlock and some varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK,                   
            sum(                   
             case when cntr_list.cntr_size_q = '20'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr20 ,                   
            sum(                   
             case when cntr_list.cntr_size_q = '40'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr40 ,                   
             sum(                   
             case when cntr_list.cntr_size_q = '45'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr45                    
    FROM (       
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,       
               scn.CNTR_SIZE_Q,        
               count(scn.CNTR_SIZE_Q) AS cntr_qty        
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2       
        WHERE       
        scm.cmr_n = scn.cmr_n             
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                 
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                 
        AND scm.shift_mode_c = :ShiftModeCode                           
        AND scm.end_terminal_c = :TerminalCode      
        AND scm.start_terminal_c = yb1.terminal_c                  
        AND scm.start_block_n = yb1.block_n                  
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                  
        AND scm.end_terminal_c = yb2.terminal_c                  
        AND scm.end_block_n = yb2.block_n                  
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n           
        AND scn.status_c not in (1, 11)             
        AND scn.shift_type_c = 'V'             
        AND scn.source_c = 'S'       
        GROUP BY yb1.BLOCK_M, scn.CNTR_SIZE_Q       
    ) cntr_list       
    GROUP BY cntr_list.SOURCE_BLOCK
    2. Detail View object (key attributes are SourceBlock and EndBlock and same varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK,                
            sum(                     
             case when cntr_list.cntr_size_q = '20'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr20 ,                     
            sum(                     
             case when cntr_list.cntr_size_q = '40'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr40 ,                     
             sum(                     
             case when cntr_list.cntr_size_q = '45'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr45                      
    FROM (         
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,     
               yb2.BLOCK_M as END_BLOCK,  
               scn.CNTR_SIZE_Q,          
               count(scn.CNTR_SIZE_Q) AS cntr_qty          
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2         
        WHERE         
        scm.cmr_n = scn.cmr_n               
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                   
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                   
        AND scm.shift_mode_c = :ShiftModeCode                             
        AND scm.end_terminal_c = :TerminalCode        
        AND scm.start_terminal_c = yb1.terminal_c                    
        AND scm.start_block_n = yb1.block_n                    
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                    
        AND scm.end_terminal_c = yb2.terminal_c                    
        AND scm.end_block_n = yb2.block_n                    
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n             
        AND scn.status_c not in (1, 11)               
        AND scn.shift_type_c = 'V'               
        AND scn.source_c = 'S'         
        GROUP BY yb1.BLOCK_M, yb2.BLOCK_M, scn.CNTR_SIZE_Q         
    ) cntr_list         
    GROUP BY cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK
    3. I create a view link to create master-detail relationship for these 2 view objects.
    masterview.SourceBlock (1)->detailview.SourceBlock (*).
    4. I create a tree table using these 2 view objects with master-detail relationship.
    When I set default value for variable bindings of these 2 view objects and the matching records exist, tree table can work well. I can expand the master row to display detail row in UI.
    But I need to pass in dymamic parameter value for variable bindings of these 2 view objects, tree table cannnot work again. when I expand the master row and no detail row are displayed in UI.
    I am sure that I pass in correct parameter value for master/detail view objects and matching records exist.
    Managed Bean:
            DCIteratorBinding dc = (DCIteratorBinding)evaluteEL("#{bindings.MasterView1Iterator}");
            ViewObject vo = dc.getViewObject();
            System.out.println("Before MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            System.out.println("Before MasterView1Iterator ShiftModeCode="+ vo.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo.executeQuery();
            System.out.println("MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            DCIteratorBinding dc1 = (DCIteratorBinding)evaluteEL("#{bindings.DetailView1Iterator}");
            ViewObject vo1 = dc1.getViewObject();
            System.out.println("Before DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
            System.out.println("Before DetailView1Iterator ShiftModeCode="+ vo1.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo1.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo1.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo1.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo1.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo1.executeQuery();
            System.out.println("after DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
    5.  What's wrong in my implementation?  I don't have no problem to implement such a tree table if using simple master-detail tables view object, but now I have to use such 2 view objects using complex SQL for my requirement and variable bindings are necessary for detail view object although I also think a bit strange by myself.

    Hi Frank,
    Thank you and it can work.
    public void setLowHighSalaryRangeForDetailEmployeesAccessorViewObject(Number lowSalary,
                                                                              Number highSalary) {
            Row r = getCurrentRow();
            if (r != null) {
                RowSet rs = (RowSet)r.getAttribute("EmpView");
                if (rs != null) {
                    ViewObject accessorVO = rs.getViewObject();
                    accessorVO.setNamedWhereClauseParam("LowSalary", lowSalary);
                    accessorVO.setNamedWhereClauseParam("HighSalary", highSalary);
                executeQuery();
    but I have a quesiton in this way. in code snippet, it is first getting current row of current master VO to determine if update variables value of detail VO. in my case, current row is possibly null after executeQuery() of master VO and  I have to change current row manually like below.
    any idea?
                DCIteratorBinding dc = (DCIteratorBinding)ADFUtil.evaluateEL("#{bindings.SSForecastSourceBlockView1Iterator}");
                ViewObject vo = dc.getViewObject();           
                vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
                vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
                vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
                vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
                vo.executeQuery();
                vo.setCurrentRowAtRangeIndex(0);
                ((SSForecastSourceBlockViewImpl)vo).synchornizeAccessorVOVariableValues();

  • Master/Detail Viewer Application in Web Dynpro ABAP

    Hello @ll,
    i search a Master/Detail Viewer Application in Web Dynpro ABAP like this in WEB Dynpro Java (show below).
    http://help.sap.com/saphelp_nw04/helpdata/en/84/8bc1a36a38da41a46517b114ca0974/frameset.htm
    Have anyone a tutorial or can help how i config the event "onLeadSelect".
    I create a master- and detail table done all context mapping.
    Thanks in advance
    regards
    armin

    Hi Armin,
    Please go through
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/7a89b067-0801-0010-8192-a9896a60938e?quicklink=index&overridelayout=true
    Thanks,
    Prahsant

  • WF_SURVEYDEMO Code (wfsrvb.sql) for Master/Detail?

    Hi,
    I'm investigating the master/detail approach to a workflow issue I'm having.
    I've become somewhat familiar with the Oracle Workflow Guide, and now I'm looking for the code behind the package WF_SURVEYDEMO, but I can't find a /demo or /demo/US directory anywhere.
    Does anyone know where I might be able to find the code behind the WF_SURVEYDEMO package (filename wfsrvb.sql)?
    Thanks.

    Hi,
    Are you using standalone or embedded Workflow?
    Emebedded should be in $FND_TOP/admin/sql. Standalone should be in $ORACLE_HOME/wf/admin/sql I think.
    Alternatively, just pull the code out of the database by selecting from user_source or all_source.
    HTH,
    Matt
    Alpha review chapters from my book "Developing With Oracle Workflow" are available on my website:
    http://www.workflowfaq.com
    http://forum.workflowfaq.com

  • Trying to create Master - Detail form, getting  ORA-06502: PL/SQL: numeric

    Anyone know why we might get this error trying to create a Master Detail form in HTMLDB 2.0?
    ORA-20001: Unable to create master detail page. ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    Unable to create Master Detail pages.
    Return to application.

    Please create the failing case in your workspace on apex.oracle.com and tell us the workspace name, app ID and steps to recreate.
    Scott

  • Visualize master-detail relationships using SQL Edge 1.2

    SQL Edge 1.2 released by Bay Breeze Software (http://www.baybreezesoft.com) is an Eclipse Rich Client application that allows users to execute SQL queries, browse schema information, and visualize master-detail relationships.
    With SQL Edge, users can use only one query to retrieve data in a master table, and then browse data in all related detail tables. Users can also insert, edit, and delete table records in the data grids.
    SQL Edge has four perspectives. The Query Perspective allows users run any SQL queries, while the Schema Perspective displays table schema information. There are two relationship perspectives. The Relationship Table View displays data in the master-detail style. The Relationship Tree View displays master table records as top-level tree nodes. The nodes can be expanded to reveal any level of related detail records. In addition, clicking any node will display the corresponding data in a detail grid.
    The following summarizes SQL Edge's major features:
    (1) Support any JDBC compatible databases.
    (2) Allow users to specify JDBC drivers at run-time, and provide wizards to help setup JDBC connections. Easy to install, and easy to setup.
    (3) SQL editor with syntax highlighting based on currently connected databases.
    (4) SQL edtior allows users to execute SQL queries asynchronously. Users can cancel the execution by click the "Cancel" button or just close the SQL Editor.
    (5) Schema perspective displays the table schema information, including column definitions, primary key, indexes, and foreign keys.
    (6) Relationship table view displays the related data in master-detail style, with master table data shown in the top grid, and all related detail table data in a list of bottom grids.
    (7) Relationship tree view displays the master table records as top-level tree nodes, and the related detail records as child nodes. Click any of these tree nodes will display the corresponding record data in a detail grid.
    (8) Allow users to insert, edit, and delete records in the master and detail grids of the relationship table view and relationship tree view.
    (9) Allow users to define master-detail relationships even between tables in different databases. This enables the relationship table view and relationship tree view to display data relationships between tables in different databases or without pre-defined foreign keys.

    Hi, Martin.
    Maybe you don't need a master detail relationship. Do you need to do changes in your detail block, or just queries?
    If just queries, you can create your second block based on a From-Clause Query, and change the QueryDataSourceName property with a When-List-Changed trigger in your T-List.
    I know this is a little vague but, without knowing what you need to do in the second block, I'm afraid to tell you more.
    Feel free to mail me directly, if you need some pointers about Forms.
    Pedro

  • OTN HOS1.1-Using ADF to Quickly Build a Master-Detail Web Page doesn't work

    Referencing the Hands-On Session at this site 'http://www.oracle.com/technology/products/jdev/collateral/4gl/HO_Workshop/hos1_1/hos1_1_ADF_Forms_Designer.htm'. Under 'Creating the Java Server Page' section 10 through 12 does not provide the proper run results. The orders linked to the CustomerID do not display. The titles for the columns display, but nothing else for the OrdersView2.
    I'd sure like to know how to make this work. Please get back with me. I feel that some small detail was left out.
    Thanks

    Paul - Thanks for that info but I have not been able to reproduce this on 2.0 (even using htmldb.oraclecorp.com) using emp/dept master detail form.
    Scott

  • Master-Detail Multi-Row Insert

    Im still using Oracle forms 6i. How do we create here in ADF for the transaction in master-detail operation specially in inserting multi-row in detail. In forms we can use key-next item trigger next_record for new record transaction for drugs or we can use bar code scanning to insert new records & automatically go to next records waiting for another input...
    pls help me i want to upgrade & pls sorry for my english...
    just want this adf behave like forms in terms of master-detail transaction entry...
    i appreciate if someone can help me or give me demo file to download & play with it...
    Edited by: user8983555 on Nov 10, 2010 10:30 AM

    tnx for the fast reply..
    im new with jdeveloper and no knowledge in java or html. im concentrated in pl/sql , forms 6i.We still using this until now in character base in unix environment but some module in gui mode.im working in hospital which is complete informations sytem (stock,pharm..etc...gl...) which in bulk transactions specially patients outclinic & inpatients charges.now we have also this reservations system for out clinics thats the reason im like to develop for in a web that a patient can reserve on line and i dont like running our application in different front end (forms 6i &jdeveloper).
    (now currently checking form10g & just set up AS10g which is working.can deploy and connect,LAN). but im very interested in ADF when i see the demo on Oracle website.
    now our company pplanning to change our application to power builder whiich is not good in performance regarding in hadling big databases (slow query,needs burst AS...) thru to the demonstration of the
    apllication vendors.
    im very glad if you can help. can you post a links or demo file to do this as you said....(You can replicate the code in the button in some other event on your page, for example when the value of the last field in the row is changed.
    It all comes down to the question of when you actually want to create a new row, and in that event you call the createInsert method.)
    this is my only problem now to make this master-detail multi-row insert like ora form.
    again sorry for my english...

  • Can't run a Master Detail form generated by Designer2.1

    I can not run a Master Detail form on some of machines if the form is generated through Designer2.1 . Same form if developed in form builder can be run.
    Please Help.
    My Designer version in fo is as follows
    Client side version information:
    Low End Generator DLL Version 2.0.19.3.0 - Production
    High End Generator DLL Version 2.0.19.4.0 - Production
    Module Diagram and Component Editor Version 2.0.19.3.0 - Production
    MS Help Generator Version 2.0.19.3.0 - Production
    Forms Menu Generator Version 5.0.19.3.0 - Production
    Forms Design Capture Version 5.0.19.3.0 - Production
    Forms Generator Version 5.0.19.6.0 - Production
    Oracle Designer/2000 Report Design Capture Version 3.0.19.5.0 - Production
    Oracle Designer/2000 Report Design Capture Version 3.0.19.5.0 - Production
    Oracle Designer/2000 Report Generator Version 3.0.19.4.0 - Production
    Oracle Recover Custom Code Utility for Visual Basic Version 2.0.19.3.0 - Production
    Visual Basic Design Recovery Version 2.0.19.4.0 - Production
    Visual Basic Generator Version 2.0.19.4.0 - Production
    WebServer Generator Version 2.0.19.3.0 - Production
    DWRSG20 DLL Version 2.0.19.4.0 - Production
    Design Editor Guides Version 2.0.19.3.0 - Production
    Dwl Logic Editor Version 2.0.19.4.0 - Production
    Server Modeller (32 bit) Version 2.0.19.4.0 - Production
    Generator Preferences Palette Version 2.0.19.3.0 - Production
    Property Palette Version 2.0.19.3.0 - Production
    Property Dialogs Version 2.0.19.5.0 - Production
    Object Navigator Version 2.0.19.5.0 - Production
    CW NLS Message DLL (English) Version 2.0.19.0.0 - Production
    CW Common Diagrammer Dialogs Version 2.0.19.0.0 - Production ( Language Version 2.0.19.0.0)
    AWRS Language Independent Strings Module Version 3.0.19.0.0 - Production
    AWR Repository Services Version 3.0.19.0.0 - Production
    AWRE Error Handler Version 3.0.19.0.0 - Production ( Language Version 3.0.19.0.0)
    RMDG RM Diagnostics Version 3.0.19.0.0 - Production ( Language Version 3.0.19.0.0)
    Repository Version 3.0.19.0.0 - Production (DLL)
    CORE Version 3.5.4.0.0 - Production
    NLSRTL Version 3.2.4.0.0 - Production
    DBMS Version 7.3.4.0.0 - Production
    Server side version information:
    Oracle8 Enterprise Edition Version 8.0.3.0.0 - Production
    PL/SQL Version 8.0.3.0.0 - Production
    Repository Version 0.1.10.0.0 - Production
    CDAPI Version 2.0.19.0.0 - Production
    Oracle Designer/2000 Repository (TM) Version 7.0.3.0.0 - Production
    Server Side Patches
    CI0217.001
    CI0217.002
    CI0217.003
    CI0217.004
    CI0217.005
    CI0217.006
    CI0217.007
    CI0217.008
    CI0217.009
    CI0217.010
    CI0217.011
    CI0217.012
    CI0217.013
    CI0217.014
    CI0217.015
    CI0217.016
    CI0217.017
    CI0217.018
    CI0217.019
    CI0217.020
    CI0217.021
    CI0217.022
    CI0217.023
    CI0217.024
    CI0217.025
    CI0217.026
    CI0217.027
    CI0217.028
    CI0217.029
    CI0217.030
    CI0217.031
    CI0217.032
    CI0217.033
    CI0217.034
    CI0217.035
    CI0217.036
    CI0217.037
    CI0217.038
    CI0217.039
    CI0217.040
    CI0217.041
    CI0217.042
    CI0217.043
    CI0217.044
    CI0217.045
    CI0217.046
    CI0217.047
    CI0217.048
    CI0217.049
    CI0217.050
    CI0217.051
    CI0217.052
    CI0217.053
    CI0217.054
    CI0217.055
    CI0217.056
    CI0217.057
    CI0217.058
    CI0217.059
    CI0217.060

    Could you go into a little more detail on when you ran into the problem?  Things like:
    is it after you added a rule to the form?
    is it when you first try to bring up the form in an environment where you have not used Web Form Designer previously?
    is it after you added a widget to the form?
    Almost certain this won't help, but here's my blog on some common things you need to be aware of before starting to use the Web Form Designer or Process Player features in 11.1.1.7: Getting Started with Oracle BPM Composer Web Forms and Process Player | AVIO Consulting

  • ADF master-detail master selection not updating detail tables properly

    Hi All,
    I am using JDev version : 11.1.2.0.0
    I created new Fusion Web Application Module. In that module I created a master-detail data model and added them to a page fragment with a query panel. When I run it as a separate module, It works perfectly and Master selection correctly updates detail tables.
    But when I integrate that module to another Fusion Application(Add application jar file to the Master Application libraries), Master-details master selection not updating detail tables properly. This problem occurred sequentially.
    The problem is that.
    After the page load, first selection of the Master Table works correctly and detail tables update correctly.
    But second selection doesn't work, means detail table doesn't get update according to the Master table.
    And again in the third selection works correctly.
    This happens in a sequential manner. I monitor the behavior using Firebug. Observations are as follows,
    When running correctly, Response of the Post Definition is
    <?xml version="1.0" ?> <partial-response><changes><update id="pt1:t1"><![CDATA[<div tabindex="0" id="pt1:t1" class="xpa xpi" _leafColClientIds="['pt1:t1:c1','pt1:t1:c2','pt1:t1:c3','pt1:t1:c4','pt1:t1:c5','pt1:t1:c6','pt1:t1:c7','pt1:t1:c8','pt1:t1:c9','pt1:t1:c10','pt1:t1:c11','pt1:t1:c12','pt1:t1:c13']"><div id="pt1:t1::ch" style="overflow:hidden;position:relative;width:1365px;" _afrColCount="13" class="xz4"><table class="xz6" summary="This table contains column headers corresponding to the data body table below" id="pt1:t1::ch::t" style="position:relative;table-layout:fixed;width:1365px" cellspacing="0"><tr><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th></tr><tr><th id="pt1:t1:c1" _d_index="0" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c1::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">DateFormat</div></th><th id="pt1:t1:c2" _d_index="1" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c2::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">DefinisionId</div></th><th id="pt1:t1:c3" _d_index="2" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c3::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">FieldId</div></th><th id="pt1:t1:c4" _d_index="3" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c4::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">FieldLabel</div></th><th id="pt1:t1:c5" _d_index="4" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c5::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">FieldLength</div></th><th id="pt1:t1:c6" _d_index="5" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c6::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">FieldOffset</div></th><th id="pt1:t1:c7" _d_index="6" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c7::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">FieldOrder</div></th><th id="pt1:t1:c8" _d_index="7" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c8::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">FieldStatus</div></th><th id="pt1:t1:c9" _d_index="8" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c9::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">FieldType</div></th><th id="pt1:t1:c10" _d_index="9" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c10::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">FieldTypeLen</div></th><th id="pt1:t1:c11" _d_index="10" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c11::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">IgnoreField</div></th><th id="pt1:t1:c12" _d_index="11" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c12::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">IsMandatory</div></th><th id="pt1:t1:c13" _d_index="12" _afrLeaf="true" _afrRoot="true" align="left" class="xz7"><div style="position:relative; float:right"><table id="pt1:t1:c13::afrSI" _afrHoverable="true" style="display:none" class="xzs" cellpadding="0" cellspacing="0"><tr><td _afrSortAsc="1"><a tabIndex="-1" class="xza" title="Sort Ascending"></a></td><td _afrSortDesc="1"><a tabIndex="-1" class="xzb" title="Sort Descending"></a></td></tr></table></div><div class="x19d">RecordType</div></th></tr></table></div><div id="pt1:t1::db" class="xyx" style="position:relative;width:100%;overflow:hidden" _afrColCount="13"></div><div id="pt1:t1::sm" class="xzt" style="position:absolute;display:none"></div><div id="pt1:t1::ri" class="xyz" style="position:absolute;display:none;overflow:hidden"></div><div id="pt1:t1::dataW" style="display:none"></div></div>]]></update><update id="f1::postscript"><![CDATA[<span id="f1::postscript"><span id="f1::postscript:st"><input type="hidden" name="javax.faces.ViewState" value="!-75cc188st"></span></span>]]></update><update id="d1::iconC"><![CDATA[<span id="d1::iconC" style="display:none"><span id="af_table::disclosed-icon"></span><span id="af_table::undisclosed-icon"></span></span>]]></update><update id="javax.faces.ViewState"><![CDATA[!-75cc188st]]></update><eval><![CDATA[AdfPage.PAGE.__handleRichResponseAction('/MillenniumCSD-ViewController-context-root/faces/FileDefinition?_adf.ctrl-state=cmpl0ptfg_7');]]></eval><eval><![CDATA[AdfPage.PAGE.sendStreamingRequest("pt1:t1");]]></eval><extension id="adf-script-library">/MillenniumCSD-ViewController-context-root/afr/partition/gecko/default/opt/dnd-SHERMAN-1147.js</extension><extension id="adf-script-library">/MillenniumCSD-ViewController-context-root/afr/partition/gecko/default/opt/nav-SHERMAN-1147.js</extension><extension id="adf-script-library">/MillenniumCSD-ViewController-context-root/afr/partition/gecko/default/opt/menu-SHERMAN-1147.js</extension><extension id="adf-script-library">/MillenniumCSD-ViewController-context-root/afr/partition/gecko/default/opt/table-SHERMAN-1147.js</extension><eval>AdfPage.PAGE.addResource('javascript','/MillenniumCSD-ViewController-context-root/JarLoaderPages/jquery-1.7.1.min.js');</eval><eval>AdfPage.PAGE.addResource('javascript','/MillenniumCSD-ViewController-context-root/JarLoaderPages/dis_contx.js');</eval><eval>AdfPage.PAGE.addResource('javascript','/MillenniumCSD-ViewController-context-root/js/floating_bar_bottom.js');</eval><eval>if(self.window.name != "MillenniumDepository"){   self.location = "mcsd.html";   }</eval><eval><![CDATA[AdfDhtmlLookAndFeel.addSkinProperties({"af|table-tr-column-scroll-animation-duration":"300","af|table-tr-column-reorder-animation-duration":"600","af|table-tr-hover-highlight-row":"true"});AdfPage.PAGE.addComponents(new AdfRichTable('pt1:t1',{'rowSelection':'single','rowBandingInterval':0,'editingMode':'none','afrSelListener':true}),new AdfRichColumn('pt1:t1:c1',{'sortProperty':'DateFormat','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c2',{'sortProperty':'DefinisionId','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c3',{'sortProperty':'FieldId','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c4',{'sortProperty':'FieldLabel','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c5',{'sortProperty':'FieldLength','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c6',{'sortProperty':'FieldOffset','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c7',{'sortProperty':'FieldOrder','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c8',{'sortProperty':'FieldStatus','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c9',{'sortProperty':'FieldType','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c10',{'sortProperty':'FieldTypeLen','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c11',{'sortProperty':'IgnoreField','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c12',{'sortProperty':'IsMandatory','sortable':true,'minimumWidth':12,'rowHeader':false}),new AdfRichColumn('pt1:t1:c13',{'sortProperty':'RecordType','sortable':true,'minimumWidth':12,'rowHeader':false}));AdfPage.PAGE.__recordSessionTimeout(1800000, 120000, "http://127.0.0.1:7101/MillenniumCSD-ViewController-context-root/faces/FileDefinition");AdfPage.PAGE.__initPollingTimeout(600000);AdfPage.PAGE.clearMessages();AdfPage.PAGE.clearSubtreeMessages('pt1:t1');AdfPage.PAGE.clearSubtreeMessages('pt1:resId1');]]></eval></changes></partial-response>
    When not running correctly, Response of the Post Definition is
    <?xml version="1.0" ?> <partial-response><changes><update id="f1::postscript"><![CDATA[<span id="f1::postscript"><span id="f1::postscript:st"><input type="hidden" name="javax.faces.ViewState" value="!-75cc188st"></span></span>]]></update><update id="javax.faces.ViewState"><![CDATA[!-75cc188st]]></update><eval><![CDATA[AdfPage.PAGE.__handleRichResponseAction('/MillenniumCSD-ViewController-context-root/faces/FileDefinition?_adf.ctrl-state=cmpl0ptfg_7');]]></eval><eval>AdfPage.PAGE.addResource('javascript','/MillenniumCSD-ViewController-context-root/JarLoaderPages/jquery-1.7.1.min.js');</eval><eval>AdfPage.PAGE.addResource('javascript','/MillenniumCSD-ViewController-context-root/JarLoaderPages/dis_contx.js');</eval><eval>AdfPage.PAGE.addResource('javascript','/MillenniumCSD-ViewController-context-root/js/floating_bar_bottom.js');</eval><eval>if(self.window.name != "MillenniumDepository"){   self.location = "mcsd.html";   }</eval><eval><![CDATA[AdfPage.PAGE.__recordSessionTimeout(1800000, 120000, "http://127.0.0.1:7101/MillenniumCSD-ViewController-context-root/faces/FileDefinition");AdfPage.PAGE.__initPollingTimeout(600000);AdfPage.PAGE.clearMessages();AdfPage.PAGE.clearSubtreeMessages('pt1:t1');AdfPage.PAGE.clearSubtreeMessages('pt1:resId1');]]></eval></changes></partial-response>
    I could not figure out what went wrong when integrating to another module.
    Can you please help me to rectify this problem.
    Thanks
    dk

    Hi,
    sound to be an implementation specific issue that is hard to comment on without knowing how to reproduce it. If you have a rerooducible test case based on the Oracle HR schema using JDeveloper 11.1.1.6, zip it up, rename the "zip "extension to "unzip" and sent it to the mail address you find in my OTN profile. If you don't have that test case, explain how this can be reproduced
    Frank

Maybe you are looking for