Representing Master Detail in an XML tree

I'm trying to generate an XML document that will correctly depict the Master Detail relationship of my data using XMLSQLUtility.
Basically, I have a master table EMP that can have multiple detail records in the EMP_NOTES table. How do I use XMLSQLUtil or XMSSQLParser to represent this in an XML document. For example:
<EMP EMP_ID="12030">
<EMP_FNAME>JOHN</EMP_FNAME>
<EMP_LNAME>SMITH</EMP_LNAME>
<EMP_NOTES NOTE_ID="1" EMP_ID="12030">
<NOTE_LEN>60</NOTE_LEN>
<NOTE_TEXT>GENERAL NOTES1</NOTE_TEXT>
</EMP_NOTES>
<EMP_NOTES NOTE_ID="2" EMP_ID="12030">
<NOTE_LEN>20</NOTE_LEN>
<NOTE_TEXT>GENERAL NOTES2</NOTE_TEXT>
</EMP_NOTES>
</EMP>
<EMP EMP_ID="234450">
<EMP_FNAME>JANE</EMP_FNAME>
<EMP_LNAME>DOE</EMP_LNAME>
<EMP_NOTES NOTE_ID="1" EMP_ID="234450">
<NOTE_LEN>60</NOTE_LEN>
<NOTE_TEXT>GENERAL NOTES1</NOTE_TEXT>
</EMP_NOTES>
</EMP>
Please note that I cannot use XMLSQL Servlet since this will not be a Web based application and will not be interfacing with a Web Server.
Thanks in advance.
N.

Hi,
I couple of things.
When you say:
<div spry:detailregion="dsGallery dsGallery1
dsGallery2"> <img src="../Images/Pictures/{@path}"
><br/>
{@desc} </div>
</div>
{@desc} refers to only the first data set listed in the
detail region; in your case, 'dsGallery'.
If you want the detail region to refer to other data sets,
you have to write it like '{dsGallery2::@desc}'
But you want that detail region {@desc} to refer to any of
the data sets that you clicked on.
To do that, we have a Shell Data Set. Rather than explaining,
the sample shows you how it works:
http://labs.adobe.com/technologies/spry/samples/data_region/DataSetShell_accordion.html
Let us know if you have more questions:
Don

Similar Messages

  • Master-details query to XML file?

    Hi:
    I'm new in XML and Oracle. I want to create XML file from two tables (master-details).
    I made a small serach and tried some examples:
    Say we have these tables:
    CREATE TABLE "TEST_XML"
    (     "ID" NUMBER,
         "NAME" VARCHAR2(15),
         "AMOUNT" NUMBER,
         CONSTRAINT "TEST_XML_PK" PRIMARY KEY ("ID") ENABLE
    CREATE TABLE "TEST_XML2"
    (     "ID2" NUMBER,
         "NAME2" VARCHAR2(20),
         "AMOUNT2" NUMBER
    ALTER TABLE "TEST_XML2" ADD CONSTRAINT "TEST_XML2_FK" FOREIGN KEY ("ID2")
         REFERENCES "TEST_XML" ("ID") ENABLE
    INSERT INTO TEST_XML VALUES (1,'A',50);
    INSERT INTO TEST_XML VALUES (2,'B',30);
    INSERT INTO TEST_XML VALUES (3,'C',70);
    INSERT INTO TEST_XML2 VALUES (1,'AA',10);
    INSERT INTO TEST_XML2 VALUES (1,'AB',20);
    INSERT INTO TEST_XML2 VALUES (1,'AC',20);
    INSERT INTO TEST_XML2 VALUES (2,'BA',10);
    INSERT INTO TEST_XML2 VALUES (2,'BB',20);
    INSERT INTO TEST_XML2 VALUES (3,'CA',20);
    INSERT INTO TEST_XML2 VALUES (3,'CB',40);
    INSERT INTO TEST_XML2 VALUES (3,'CC',10);
    I want a query to create XML file contains data from TEST_XML table and for each row the related data from TEST_XML2 table.
    I did some tries (working in iSQL*PLUS):
    SET SERVEROUTPUT ON
    DECLARE
    v_ctx DBMS_XMLGEN.ctxType;
    v_file Utl_File.File_Type;
    v_xml CLOB;
    v_more BOOLEAN := TRUE;
    BEGIN
    -- Create XML document from query.
    v_ctx := DBMS_XMLGEN.newContext('select id,name,amount,cursor (select id2,name2,amount2 from test_xml2 t2 where t2.id2=t1.id) val from test_xml t1');
    DBMS_XMLGEN.setMaxRows(v_ctx, 10);
    DBMS_XMLGEN.setRowsetTag(v_ctx, 'CLAIM');
    -- Output XML document to file.
    v_file := Utl_File.FOpen('TEST_DIR', 'test1.xml', 'w');
    WHILE v_more
    LOOP
    v_xml := DBMS_XMLGEN.GetXML(v_ctx,0);
    EXIT WHEN dbms_xmlgen.getNumRowsProcessed(v_ctx) =0;
    Utl_File.Put(v_file,v_xml);
    END LOOP;
    Utl_File.FClose(v_file);
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM,1,255));
    Utl_File.FClose(v_file);
    END;
    But hte output wasn't as I wanted:
    <CLAIM>
    <ROW>
    <ID>1</ID>
    <NAME>A</NAME>
    <AMOUNT>50</AMOUNT>
    <VAL>
    <VAL_ROW>
    <ID2>1</ID2>
    <NAME2>AA</NAME2>
    <AMOUNT2>10</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>1</ID2>
    <NAME2>AB</NAME2>
    <AMOUNT2>20</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>1</ID2>
    <NAME2>AC</NAME2>
    <AMOUNT2>20</AMOUNT2>
    </VAL_ROW>
    </VAL>
    </ROW>
    <ROW>
    <ID>3</ID>
    <NAME>C</NAME>
    <AMOUNT>70</AMOUNT>
    <VAL>
    <VAL_ROW>
    <ID2>3</ID2>
    <NAME2>CA</NAME2>
    <AMOUNT2>20</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>3</ID2>
    <NAME2>CB</NAME2>
    <AMOUNT2>40</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>3</ID2>
    <NAME2>CC</NAME2>
    <AMOUNT2>10</AMOUNT2>
    </VAL_ROW>
    </VAL>
    </ROW>
    <ROW>
    <ID>2</ID>
    <NAME>B</NAME>
    <AMOUNT>30</AMOUNT>
    <VAL>
    <VAL_ROW>
    <ID2>2</ID2>
    <NAME2>BA</NAME2>
    <AMOUNT2>10</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>2</ID2>
    <NAME2>BB</NAME2>
    <AMOUNT2>20</AMOUNT2>
    </VAL_ROW>
    </VAL>
    </ROW>
    </CLAIM>
    Notice that for each details (from TEST_XML2) there is <VAL> tag which I don't need beside i want a query which is applicable on all environments.
    May anyone help me please......
    Regards,
    Saad

    The following looks like it produces your desired output. I used the WITH to simulate your two tables so I didn't have to CREATE them. This runs on 10.2.0.1. I'm not sure what bugs you are referring to as SQL/XML is stable in 10g that I have seen. I'm sure some bugs exist somewhere in it, just not with this usage. Just start with the SELECT statement to run on your system.
    WITH test_xml AS
    (SELECT 1 ID, 'A' name, 50 amount FROM DUAL UNION ALL
    SELECT 2, 'B', 30  FROM DUAL UNION ALL
    SELECT 3, 'C', 70  FROM DUAL),
    test_xml2 AS
    (SELECT 1 ID2, 'AA' name2, 10 amount2 FROM DUAL UNION ALL
    SELECT 1, 'AB', 20  FROM DUAL UNION ALL
    SELECT 1, 'AC', 20  FROM DUAL UNION ALL
    SELECT 2, 'BA', 10  FROM DUAL UNION ALL
    SELECT 2, 'BB', 20  FROM DUAL UNION ALL
    SELECT 2, 'BC', 20  FROM DUAL UNION ALL
    SELECT 3, 'CA', 20  FROM DUAL UNION ALL
    SELECT 3, 'CB', 40  FROM DUAL UNION ALL
    SELECT 3, 'CC', 10  FROM DUAL)
    SELECT XMLElement("CLAIM",
             XMLAgg(
               XMLElement("ROW",
                 XMLForest(id "ID",
                           name "NAME",
                           amount "AMOUNT"),
                 (SELECT XMLAgg(XMLElement("VAL_ROW",
                                 XMLForest(id2 "ID2",
                                           name2 "NAME2",
                                           amount2 "AMOUNT2")))
                          FROM test_xml2 t2
                         WHERE t2.id2=t1.id)
      FROM test_xml t1This solution works in any environment where you can issue a SQL statement from, be it SQL*Plus, PL/SQL, Java, etc.

  • Export a master-details tables to XML

    Hi, here is my requirement :
    I'm having a page which shows data from 4 views as master details and need to have a command button to export the all these master details data into an xml structured file predefined by a xsd. Would like to get some help , to finish this task using ADF components. Thanks in advance.

    Could any one suggest any documentation , or sample code or demo to export a master details data as a xml file using ADF BC. Thanks.

  • Af:tree with master-detail doesnt work

    Hi,
    I created master-detail(used updateable VO's) and test it from the application module and everything worked as expected.
    Now I try to show all master and detail data in af:tree component.
    At the runtime I can see only master data, but there's no detail data at all. I tried all of this before and everything worked fine, and now I cant get this work.
    <!-- jsf page page1.jspx-->
    <af:tree value="#{bindings.Master1.treeModel}"
    var="node">
    <f:facet name="nodeStamp">
    <af:outputText value="#{node}"/>
    </f:facet>
    </af:tree>
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="10.1.3.39.84" id="app_page1PageDef"
    Package="main.userinterface.pageDefs">
    <parameters/>
    <executables>
    <iterator id="Master1Iterator" RangeSize="10"
    Binds="Master1" DataControl="AppModuleServiceDataControl"/>
    </executables>
    <bindings>
    <tree id="Master1" IterBinding="Master1Iterator">
    <AttrNames>
    <Item Value="IdMaster1"/>
    <Item Value="Name"/>
    <Item Value="MasterValue1"/>
    <Item Value="MasterValue2"/>
    <Item Value="MasterValue3"/>
    </AttrNames>
    <nodeDefinition DefName="main.datamodel.queries.Master1"
    id="Master1Node">
    <AttrNames>
    <Item Value="MasterValue1"/>
    </AttrNames>
    <Accessors>
    <Item Value="Detail1"/>
    </Accessors>
    </nodeDefinition>
    <nodeDefinition DefName="main.datamodel.queries.Detail1"
    id="Detail1Node">
    <AttrNames>
    <Item Value="DetailValue1"/>
    </AttrNames>
    </nodeDefinition>
    </tree>
    </bindings>
    </pageDefinition>
    Thank you in advance.
    Alex

    Note, that PanelCollection is a naming container. So if you have wrapped your table in a PanelCollection you will have to add PanelCollection's ID to master table's ID when refering the master table as a partial trigger for the detail one. For example, if the value of detail table's partialTriggers attribute has been <tt>partialTriggers="::masterTable"</tt> now it should become <tt>partialTriggers="::pnlColl:materTable"</tt> (supposing that PanelCollection's ID is <tt>pnlColl</tt>).

  • Parsing XML document with nested elements into multiple db tables(master-detail)

    Can you help me with storing xml document into master-detail tables?
    I have two tables:
    1) customers (customerid number primary key, firstname varchar2(30),lastname varchar2(30))
    2) cust_addresses (customerid number references customers, street varchar2(30),city varchar2(30),state varchar2(10),zip varchar2(10))
    I have XML document:
    <?xml version="1.0"?>
    <ROWSET>
    <ROW num="1">
    <CUSTOMERID>1044</CUSTOMERID>
    <FIRSTNAME>Paul</FIRSTNAME>
    <LASTNAME>Astoria</LASTNAME>
    <HOMEADDRESS>
    <STREET>123 Cherry Lane</STREET>
    <CITY>SF</CITY>
    <STATE>CA</STATE>
    <ZIP>94132</ZIP>
    </HOMEADDRESS>
    <HOMEADDRESS>
    <STREET>N.Fryda 4</STREET>
    <CITY>CB</CITY>
    <STATE>CZ</STATE>
    <ZIP>37005</ZIP>
    </HOMEADDRESS>
    </ROW>
    </ROWSET>
    I know that I must use DBSM_XMLSave package, create view and instead of trigger but I did found no example in documentation.
    Thanx.

    Interested question; one I do not know the answer to at the moment, I am afraid. I would like to know your results.
    To tell others, though, what I have done. I did finally adapt Muench's not-yet-published examples #71 to work with a table. Here the table has as it's value "#{backing_app_EPG_DAYPG.jobDayDriverTable[row.Id1]}"
    This accesses a hash map defined in the backing bean as follows:
    public Map jobDayDriverTable = new HashMap(){
    @Override
    public Object get(Object key) {
    Number jobDayId = (Number)key;
    if (getEpgDayPage().jobDayDrivers(jobDayId) != null) {
    return getEpgDayPage().jobDayDrivers(jobDayId).getAllRowsInRange();
    else return null;
    jobDayDrivers returns RowIterator. From this I call getAllRowsInRange which returns a Row[]. The table consumes this as a value, and lists the values as I want.
    Since the table is using Rows for its rows, I am guessing that it would have access to #{row.rowKeyStr}, or at least #{row.<pk>} which would allow you to programmatically set the current row using code like the following:
    public static boolean setCurrentRow() {
    // BindingContainer bindings = getBindings();
    OperationBinding operationBinding =
    // bindings.getOperationBinding("setCurrentRowWithKey");
    (OperationBinding)EL.get("#{bindings.setCurrentRowWithKey}");
    Object result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    return false;
    return true;
    You could call this as part of code in a pages backing bean behind a button or link.
    Hope this helps somebody.
    By the way example #71 was to get a detail set of rows from a master row value and display the detail set in the master row of an af:table.
    You can find this and other examples at http://radio.weblogs.com/0118231/stories/2004/09/23/notYetDocumentedAdfSampleApplications.html

  • Inserting XML(Master Detail like PO)into Database

    hi,
    Can any one suggest me which tools or what methodolgy I should use to insert master detail data like one header and multiple rows into database.
    I am unable to insert into database through object view with the help of XML SQL utility for Java.
    Please help in this....
    null

    Here's an example that ships with
    the XSQL Servlet release 0.9.8.6
    (due out any day now on OTN!!)
    With this set of types and object view
    you can insert documents like the
    example at the end that is REM'd out.
    drop view department;
    drop type dept_t;
    drop type emp_list;
    drop type emp_t;
    create or replace type emp_t as object (
    empno number,
    ename varchar2(80),
    sal number
    create or replace type emp_list as table of emp_t;
    create or replace type dept_t as object (
    deptno number,
    dname varchar2(80),
    loc varchar2(80),
    employees emp_list
    create or replace view department of dept_t
    with object OID (deptno)
    as select deptno, dname, loc,
    cast(multiset(select empno, ename, sal
    from emp
    where emp.deptno = dept.deptno
    ) as emp_list ) employees
    from dept;
    create trigger department_ins
    instead of insert on department
    for each row
    declare
    emps emp_list;
    emp emp_t;
    begin
    -- Insert the master
    insert into dept( deptno, dname, loc )
    values (:new.deptno, :new.dname, :new.loc);
    -- Insert the details
    emps := :new.employees;
    for i in 1..emps.count loop
    emp := emps(i);
    insert into emp(deptno, empno, ename, sal)
    values (:new.deptno, emp.empno, emp.ename, emp.sal);
    end loop;
    end;
    REM
    REM
    REM <ROWSET>
    REM <ROW>
    REM <DEPTNO>99</DEPTNO>
    REM <DNAME>ACCOUNTING</DNAME>
    REM <LOC>NEW YORK</LOC>
    REM <EMPLOYEES>
    REM <EMPLOYEES_ITEM>
    REM <EMPNO>1111</EMPNO>
    REM <ENAME>CLARK</ENAME>
    REM <SAL>2450</SAL>
    REM </EMPLOYEES_ITEM>
    REM <EMPLOYEES_ITEM>
    REM <EMPNO>2222</EMPNO>
    REM <ENAME>KING</ENAME>
    REM <SAL>5000</SAL>
    REM </EMPLOYEES_ITEM>
    REM <EMPLOYEES_ITEM>
    REM <EMPNO>3333</EMPNO>
    REM <ENAME>MILLER</ENAME>
    REM <SAL>1300</SAL>
    REM </EMPLOYEES_ITEM>
    REM </EMPLOYEES>
    REM </ROW>
    REM </ROWSET>
    null

  • 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();

  • Heirarchy Tree in a Master Detail Relationship

    I am trying to use the heirarchy tree in a multiple tab
    interface form in Forms 6i. I have the tree populating properly
    on the initial master record query. However, I can't get the
    tree to clear on subsequent queries, like a master-detail clears
    on an ON-CLEAR-DETAIL trigger. The heirarchy tree doesn't
    clear, since no relationship is built between the master and the
    tree block. I'm using a procedure to do the populating. It gets
    called from several different triggers.
    Anyone done something like this before? How did you do it?
    Any assistance would be appreciated!
    Keith Geving
    [email protected]

    hmmm,
    If you're creating your tree from a record group you could Clear
    that group and build the tree again, this will create an empty
    tree:
    tree_recs := Get_Group_Row_Count(Group_id);
    for i in 1..tree_recs loop
    delete_group_row(Group_id, tree_recs - i + 1);
    end loop;
    ftree.set_tree_property('Your_Tree', ftree.record_group,
    Group_id);

  • Master Detail with programmatic ViewObjects and writeXML

    Hi,
    Using jdev 11.1.1.3.
    I created two programmatic ViewObjects related by a ViewLink (1to*).
    From an application module method, I create a row in the master ViewObject. Then using the accessor obtain the RowIterator for the detail, and create a row on that detail.
    If then I use the writeXML method on the master ViewObject, the output is only representing the master, not the detail.
    Here is the code:
            VO_MasterImpl voMaster = getVO_Master2();
            //create the master row
            VO_MasterRowImpl rowMaster = (VO_MasterRowImpl)voMaster.createRow();
            String id = "unique";
            rowMaster.setAtt1(id);
            rowMaster.setAtt2("something");
            //obtain the rowIterator for the detail
            RowIterator detail = rowMaster.getVO_Detail();
            //create the detail row
            VO_DetailRowImpl rowDetail = (VO_DetailRowImpl)detail.createRow();
            rowDetail.setAtt1(id);
            rowDetail.setAtt2("sth2");
            //insert the detail row
            detail.insertRow(rowDetail);
            //insert the master row
            voMaster.insertRow(rowMaster);
            //obtain the xml
            Node node = voMaster.writeXML(-1,XMLInterface.XML_OPT_ALL_ROWS);master.att1 is key for Master.
    detail.att1 is foreign key to Master.
    This is the contents of node:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <VO_Master><VO_MasterRow><Att1>unique</Att1><Att2>something</Att2></VO_MasterRow></VO_Master>What I would expect is that the detail row (<VO_DetailRow>) appears within the <VO_MasterRow>.
    Anyone knows what I'm missing here?
    Thanks
    Roger B
    Edited by: RogerB on 30-Dec-2010 02:16

    Hi,
    After some more tests...
    As said before, I tried with SQL VOs (Dept and Employees). No differences between the VL Dept and Emp, and the VL VO_Master and VO_Detail. They have same relationship (1 to *) and also same (changing names) SQL where (source and destination).
    I debuged the code, using ADF source code, and noticed the following:
    When iterating the rows to write the XML, at ViewRowImpl, it takes the AttributeDef and perform different actions depending on mKind (ATTR_ASSOCIATED_ROW or ATTR_ASSOCIATED_ROWITERATOR). Second one is for ViewLink.
    Once inside ATTR_ASSOCIATED_ROWITERATOR, I can see that the default RowSetIterator, has no rows (getRowCount = 0). So no child rows (for the VO_Detail), are added to the XML Node.
    On the other hand, the Dept and Employees, I can see that the default RowSetIterator has rows.
    Could this be related to the fact that Programatic ViewObjects are not persisted anywhere?
    any other clues appreciated? Does anyone tried this before (programatic master detail relationship writing to XML) ?
    Regards,
    Roger

  • 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

  • Master Detail Report for PDF Printing

    Dear All,
           While trying to create a master detail report using Oracle APEX 4.2 and BI Publisher. I tried creating report queries and report layout following the below mentioned steps.
    CREATE TYPE emp_row AS OBJECT (
      EMPNO NUMBER(4),
      ENAME VARCHAR2(10),
      JOB VARCHAR2(9),
      MGR NUMBER(4),
      HIREDATE DATE,
      SAL NUMBER(7,2),
      COMM NUMBER(7,2)
    CREATE TYPE emp_tab AS TABLE OF emp_row;
    CREATE TYPE dept_row AS OBJECT (
      DEPTNO NUMBER(2),
      DNAME VARCHAR2(14),
      LOC VARCHAR2(13),
      EMP_LIST emp_tab
    SELECT SYS_XMLAGG (
      SYS_XMLGEN(
      dept_row(
      d.deptno, d.dname, d.loc,
      CAST(MULTISET(SELECT e.empno, e.ename, e.job, e.mgr, e.hiredate, e.sal, e.comm
      FROM emp e
      WHERE e.deptno = d.deptno) AS emp_tab)
      SYS.XMLGENFORMATtYPE.createFormat('DEPT')
      ) AS "XML_QUERY"
    FROM dept d
    WHERE d.deptno = 10;
    Though the above steps generates xml output while trying to generate in APEX it says unsupported datatype. Tried using DBMS_LOB as well no luck. Any inputs will be quite helpful. Should there be any other way to incorporate master detail report printing in APEX kindly advise.
    Thanks
    Ahmed

    Hi Ahmed_Jed,
    Ahmed_Jed wrote:
    Thanks Kiran for your prompt response. I tried following the steps already using this link (How To Create a Master-Detail PDF Report) somehow the detail record was not getting processed perhaps was trying to generate xml data using the above query. Any other reference will be highly appreciated.
    Regards
    Ahmed
        Well the problem lies here:
    SELECT SYS_XMLAGG (
      SYS_XMLGEN(
      dept_row(
      d.deptno, d.dname, d.loc,
      CAST(MULTISET(SELECT e.empno, e.ename, e.job, e.mgr, e.hiredate, e.sal, e.comm
      FROM emp e
      WHERE e.deptno = d.deptno) AS emp_tab)
      SYS.XMLGENFORMATtYPE.createFormat('DEPT')
      ) AS "XML_QUERY"
    FROM dept d
    WHERE d.deptno = 10;
        The Report Query itself generates XML data (in the required BI Publisher format). So, no need to generate it like this.
        As you are using table functions your query should be of the type:
    SELECT EMPNO
                , ENAME
                , JOB
                , MGR
                , HIREDATE
                , SAL
                , COMM
        FROM TABLE ( EMP_PKG.GET_EMPLOYEES ( :PXX_DEPTNO ))
        where EMP_PKG.GET_EMPLOYEES is packaged table function which returns the Object Table of type EMP_TAB mentioned above.
        When you test the above Report Query with sample DEPTNO, it will generate the sample XML, which you can use to generate Report Layout in RTF format using BI Publisher Desktop.
        Hope this helps!
    Regards,
    Kiran

  • Summary Report using Master-Detail Data on Siebel BI Publisher Report

    I have to create a Summary Report using Master-Detail relationship. Report fields are Account Name, Special Need Type, Customer Status, No of Customers, No of Claims. I am using rtf to create template and any help is highly appreciated
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ListofIO>
    - <ListOfBipCustomerSpecialNeeds>
    - <Account>
    <Name>CVNE</Name>
    - <ListOfContact>
    - <Contact>
    <SpecialNeedsFlg>Y</SpecialNeedsFlg>
    <SpecialNeedsType>Large Text</SpecialNeedsType>
    <PersonUId>1-6NI9</PersonUId>
    - <ListOfContact_Claims>
    - <Contact_Claims>
    <AccountNumber>TEST0015362272</AccountNumber>
    <ClaimNumber>1-4FVL</ClaimNumber>
    <ClaimStatus>Closed</ClaimStatus>
    <ClaimGBPAmount />
    </Contact_Claims>
    </ListOfContact_Claims>
    </Contact>
    - <Contact>
    <SpecialNeedsFlg>Y</SpecialNeedsFlg>
    <SpecialNeedsType>Braille</SpecialNeedsType>
    <PersonUId>1-L0A</PersonUId>
    - <ListOfContact_Claims>
    - <Contact_Claims>
    <AccountNumber />
    <ClaimNumber>1-ACX6</ClaimNumber>
    <ClaimStatus>Open</ClaimStatus>
    <ClaimGBPAmount>818.18196694218</ClaimGBPAmount>
    </Contact_Claims>
    - <Contact_Claims>
    <AccountNumber />
    <ClaimNumber>1-GI58</ClaimNumber>
    <ClaimStatus />
    <ClaimGBPAmount>45454.099173473</ClaimGBPAmount>
    </Contact_Claims>
    </ListOfContact_Claims>
    </Contact>
    - <Contact>
    <SpecialNeedsFlg>Y</SpecialNeedsFlg>
    <SpecialNeedsType>Large Text</SpecialNeedsType>
    <PersonUId>1-6FPP</PersonUId>
    - <ListOfContact_Claims>
    - <Contact_Claims>
    <AccountNumber>CVNE</AccountNumber>
    <ClaimNumber>1-7BRL</ClaimNumber>
    <ClaimStatus>Reviewed</ClaimStatus>
    <ClaimGBPAmount>562</ClaimGBPAmount>
    </Contact_Claims>
    </ListOfContact_Claims>
    </Contact>
    </ListOfContact>
    </Account>
    <Login>SADMIN</Login>
    </ListOfBipCustomerSpecialNeeds>
    </ListofIO>
    Edited by: user2298324 on 13-Aug-2010 09:36

    Thanks for the reply. The many to many relationship between Claims and Payments are achieved through intersection table in siebel. When Customer has multiple claims, single payment issued for both claims. Also single claim can multiple payments such (part compensation, interests, final compensation etc)

  • Error trying to run a sample master-detail JSF form in Jdev 10.1.3

    I've tried JDeveloper 10.1.3 folowing a tutorial , master-detail one , involving Adf Faces which I found it here http://www.oracle.com/technology/products/jdev/101/tutorials/e2ebcfaces/buildmaster-detailpagewithjdevandadfbc.htm.
    1. I dowloaded JDeveloper 10.1.3
    2. I made -in Jdeveloper- a connection to OE8 schema
    2. I created an application with web application template ; in my new workspace i had 2 projects Model and ViewController
    3. In model i choose Business Tier - ADF Bussiness Components - Business Components from Tables and I followed instructions in tutorial
    4. In ViewController I created Web Tier - JSF - JSF JSP , with the JSF-JSP wizard a jsp page browseCustomerOrders.jsp. For building a master detail form i folowed instructions in tutorial
    However ...
    5. When I tried to run i received ....
    " [Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
    **** Unable to obtain password from principals.xml. Using default.
    D:\jdevstudio1013\jdev\system\oracle.j2ee.10.1.3.34.12\embedded-oc4j\config>
    D:\jdevstudio1013\jdk\bin\javaw.exe -ojvm -classpath D:\jdevstudio1013\j2ee\home\oc4j.jar;D:\jdevstudio1013\jdev\lib\jdev-oc4j-embedded.jar -Xverify:none -DcheckForUpdates=adminClientOnly -Doracle.application.environment=development -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config D:\jdevstudio1013\jdev\system\oracle.j2ee.10.1.3.34.12\embedded-oc4j\config\server.xml
    [waiting for the server to complete its initialization...]
    05/11/30 12:04:16 Exception in thread "OC4J Launcher" oracle.classloader.util.AnnotatedNoClassDefFoundError:
         Missing class: oracle.core.ojdl.logging.LoggingConfiguration
         Dependent class: com.evermind.server.XMLApplicationServerConfig
         Loader: oc4j:10.1.3
         Code-Source: /D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar
    The missing class is not available from any code-source or loader in the server.
    05/11/30 12:04:16      at oracle.classloader.PolicyClassLoader.handleClassNotFound (PolicyClassLoader.java:2073) [D:/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.internalLoadClass (PolicyClassLoader.java:1681) [D:/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1633) [D:/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1618) [D:/jdevstudio1013/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) [jre bootstrap, by jre.bootstrap]
         at com.evermind.server.XMLApplicationServerConfig.initJ2eeLogging (XMLApplicationServerConfig.java:243) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.XMLApplicationServerConfig.postInit (XMLApplicationServerConfig.java:255) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.xml.XMLConfig.init (XMLConfig.java:200) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.xml.XMLConfig.init (XMLConfig.java:117) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.ApplicationServerLauncher.run (ApplicationServerLauncher.java:74) [D:/jdevstudio1013/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in D:\jdevstudio1013\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at java.lang.Thread.run (Thread.java:595) [jre bootstrap, by jre.bootstrap]
    05/11/30 12:04:16 Fatal error: server exiting
    Process exited with exit code 1. "
    Where do you think i am wrong?
    Many thanks

    Hi,
    the problem seems not to be within your application but in missing files on your embedded OC4J. Just try and unzip the JDeveloper 10.1.3 install again.
    Frank

  • Help on Master Detail relation

    Im using XSQL command line processor 1.0.2.0.
    How I can I write a SQL query To display master detil relation in the output?
    For example Department and Emp are two different tables with master detail relation...
    I just want to display the output some thing like..
    <Department>
    <Details>
    <Dep_name>Accounts</Dep_name>
    <Dep_no>10</Dep_no>
    <EMP>
    <EMP_NAME>AAAAAA</EMP_NAME>
    <EMP_NO>999999999</EMP_NO>
    <HRD>01/01/2000</HRD>
    </EMP>
    <EMP>
    <EMP_NAME>BBBBBB</EMP_NAME>
    <EMP_NO>100000000</EMP_NO>
    <HRD>01/01/2000</HRD>
    </EMP>
    </Details>
    <Details>
    <Dep_name>INVENTORY</Dep_name>
    <Dep_no>20</Dep_no>
    <EMP>
    <EMP_NAME>CCCCCCC</EMP_NAME>
    <EMP_NO>8888888888</EMP_NO>
    <HRD>01/01/2000</HRD>
    </EMP>
    <EMP>
    <EMP_NAME>BBBBBB</EMP_NAME>
    <EMP_NO>100000000</EMP_NO>
    <HRD>01/01/2000</HRD>
    </EMP>
    </Details>
    </Department>

    [list]
    [*]First, I'd recommend upgrading to XSQL 1.0.4.3, the latest production release that is part of the XDK for Java 8.1.7.1 at http://otn.oracle.com/tech/xml
    [*]Then, explore using the Oracle CURSOR() expression to create nested rowsets. This is documented in our SQL language reference info here on OTN. My book has several examples of using CURSOR() to produce master/detail results, too.
    [list]
    Steve Muench
    Development Lead, Oracle XSQL Pages Framework
    Lead Product Manager for BC4J and Lead XML Evangelist, Oracle Corp
    Author, Building Oracle XML Applications
    null

  • Detail-Disclosure problem with Master- Detail VO

    Hi,
    I have UIX pages based on Master - Detail VO, detail data being shown when you press Detail button on the left, detail data display in the BC4J Table correctly, but I am able to update only the last record of the rowset. when I click on the first master detail and press update button i get Null Pointer Exeception error and other problem is that my detail data has sorted headers, when i click on the sorted column header, it close the Detail portion on the Table.
    Here is UIX page listing, please any one review the code and let me what is wrong
    Thanks
    View Page
    <?xml version="1.0" encoding="windows-1252" ?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    xmlns:viewpage="http://www.example.org/siriusbilling/templates">
    <ctrl:head xmlns="http://www.w3.org/TR/REC-html40">
    <title>View Properties</title>
    </ctrl:head>
    <templates xmlns="http://xmlns.oracle.com/uix/ui">
    <templateImport source="templates/SiriusBilling.uit"/>
    </templates>
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="PropertiesForeignKeyLink1AppModule"
    definition="siriusbilling.SiriusBCModule"
    releaseMode="stateful" >
    <bc4j:viewObjectDef name="PropertyTypesMasterView"
    rangeSize="2" />
    <bc4j:viewObjectDef name="PropertiesDetailView"
    rangeSize="5" />
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    <ctrl:content xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui">
    <viewpage:siriusPageLayout>
    <pageHeader>
    <globalHeader selectedIndex="0">
    <contents>
    <link text="View Properties" />
    </contents>
    </globalHeader >
    </pageHeader>
    <contents>
    <try xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui" >
    <catch>
    <displayException />
    </catch>
    <contents>
    <!-- this will contain any validation errors after form
    submission -->
    <messageBox automatic="true" />
    <bc4j:rootAppModuleScope name="PropertiesForeignKeyLink1AppModule" >
    <contents>
    <header text="Properties Search" >
    <contents>
    <form name="search" method="POST" >
    <contents>
    <inlineMessage prompt="Search by:" vAlign="middle" >
    <contents>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <flowLayout>
    <contents>
    <choice name="attrName"
    data:selectedValue="attrName@ctrl:page"
    shortDesc="Search Column">
    <contents>
    <option text="Property Id" value="PropertyId" />
    <option text="Property Name" value="PropertyName" />
    <option text="Property Description" value="PropertyDescription" />
    <option text="Unit Of Measure" value="UnitOfMeasure" />
    </contents>
    </choice>
    <textInput prompt="Criteria" name="attrValue" columns="20"
    data:text="attrValue@ctrl:page"
    shortDesc="Search Criteria for Propeties"/>
    </contents>
    </flowLayout>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    <end>
    <submitButton text="Go" ctrl:event="search" />
    </end>
    </inlineMessage>
    </contents>
    </form>
    </contents>
    </header>
    <spacer width="10"/>
    <separator />
    <header text="Property Types" >
    <contents>
    <form name="viewForm" method="POST" >
    <contents>
    <bc4j:viewObjectScope name="PropertyTypesMasterView" >
    <contents>
    <bc4j:table name="viewPropertyTypeTable" automatic="false"
    width="100%" alternateText="No rows found"
    formSubmitted="true"
    partialRenderMode="self"
    data:detailDisclosure="tableDetails@ctrl:eventResult">
    <!-- the key identifying the current row in the table -->
    <bc4j:keyStamp>
    <bc4j:rowKey name="key" />
    </bc4j:keyStamp>
    <contents>
    <!-- placing the region in automatic mode will cause the key
    named child to be rendered, followed by each attribute
    in the ViewObject using the attrStamp named child. -->
    <!-- A bc4j:column element is added for each attribute
    in the ViewObject. -->
    <bc4j:column attrName="PropertyType">
    <columnHeader>
    <bc4j:sortableHeader text="Property Type"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="TableName">
    <columnHeader>
    <bc4j:sortableHeader text="Table Name"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="Comments" >
    <columnHeader>
    Comments
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    </contents>
    <detail>
    <flowLayout>
    <contents>
    <header text="Properties Detail">
    <contents>
    <spacer width="10"/>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <!-- placing the table in automatic mode will cause the table
    to contain the keyStamp named child followed by the
    columnStamp named child for each attribute in the
    ViewObject. -->
    <bc4j:table name="viewTable" automatic="false"
    width="100%" alternateText="No rows found"
    formSubmitted="true"
    partialRenderMode="self">
    <tableSelection>
    <!-- single selection for each row in the table -->
    <singleSelection selectedIndex="0" text="Select Row and ...">
    <contents>
    <submitButton text="Create" ctrl:event="create" />
    <!-- the update button causes the currently selected
    row to be sent to the update page -->
    <submitButton text="Update"
    ctrl:event="update" />
    <!-- the delete button causes the currently selected
    row to be removed -->
    <submitButton text="Delete"
    ctrl:event="delete" />
    </contents>
    </singleSelection>
    </tableSelection>
    <!-- the key identifying the current row in the table -->
    <bc4j:keyStamp>
    <bc4j:rowKey name="key" />
    </bc4j:keyStamp>
    <contents>
    <!-- A bc4j:column element is added for each attribute
    in the ViewObject. -->
    <bc4j:column attrName="PropertyId">
    <columnHeader>
    <bc4j:sortableHeader text="Property Id"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="PropertyName">
    <columnHeader>
    <bc4j:sortableHeader text="Property Name"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="PropertyDescription">
    <columnHeader>
    <bc4j:sortableHeader text="Property Description"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="UnitOfMeasure">
    <columnHeader>
    <bc4j:sortableHeader text="Unit of Measure"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    </contents>
    </bc4j:table>
    </contents>
    </bc4j:viewObjectScope>
    <formValue name="disclosed" value="true" />
    </contents>
    </header>
    </contents>
    </flowLayout>
    </detail>
    </bc4j:table>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    </form>
    </contents>
    </header>
    </contents>
    </bc4j:rootAppModuleScope>
    </contents>
    </try>
    </contents>
    </viewpage:siriusPageLayout>
    </ctrl:content>
    <handlers>
    <event name="search" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- search for the view criteria -->
    <bc4j:findByExample>
    <bc4j:exampleRow ignoreCase="true" >
    <bc4j:exampleAttribute>
    <bc4j:nameBinding><bc4j:parameter name="attrName" /></bc4j:nameBinding>
    <bc4j:valueBinding><bc4j:parameter name="attrValue" /></bc4j:valueBinding>
    </bc4j:exampleAttribute>
    </bc4j:exampleRow>
    </bc4j:findByExample>
    <bc4j:executeQuery/>
    <!-- store the current search criteria as page properties -->
    <bc4j:setPageProperty name="attrName" >
    <bc4j:parameter name="attrName" />
    </bc4j:setPageProperty>
    <bc4j:setPageProperty name="attrValue" >
    <bc4j:parameter name="attrValue" />
    </bc4j:setPageProperty>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="first" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the first department -->
    <bc4j:first/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="previous" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the previous department -->
    <bc4j:previous/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="next" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the next department -->
    <bc4j:next/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="last" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the last department -->
    <bc4j:last/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="sort" source="viewTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- sort by the submitted attribute name -->
    <bc4j:sort/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="sort" source="viewPropertyTypeTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- sort by the submitted attribute name -->
    <bc4j:sort/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="goto" source="viewPropertyTypeTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the submitted range -->
    <bc4j:goto/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="goto" source="viewTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- navigate to the submitted range -->
    <bc4j:goto/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="create" >
    <!-- forward to the create page -->
    <ctrl:go name="InsertProperties" redirect="true" />
    </event>
    <event name="update" >
    <!-- forward to the update page, passing the selected key
    as a page property -->
    <ctrl:go name="UpdateProperties" redirect="true" >
    <ctrl:property name="key" >
    <ctrl:selection name="viewTable" key="key" />
    </ctrl:property>
    </ctrl:go>
    </event>
    <event name="delete" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- find the selected Row -->
    <bc4j:findRowByKey>
    <bc4j:keyBinding>
    <bc4j:selectionKey name="viewTable" key="key" />
    </bc4j:keyBinding>
    <bc4j:handlers>
    <!-- remove the selected ViewObject row -->
    <bc4j:removeRow />
    <!-- execute the query to eliminate dead row access -->
    <bc4j:executeQuery/>
    </bc4j:handlers>
    </bc4j:findRowByKey>
    </bc4j:findViewObject>
    <!-- commit the transaction, forwards to self automatically -->
    <bc4j:commit/>
    </bc4j:findRootAppModule>
    </event>
    <event name="show">
    <method class="servlet.showDetails" method="doHideShowEvent" />
    </event>
    <event name="hide">
    <method class="servlet.showDetails" method="doHideShowEvent" />
    </event>
    </handlers>
    </page>
    Update View
    <?xml version="1.0" encoding="windows-1252" ?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    xmlns:updatepage="http://www.example.org/siriusbilling/templates">
    <ctrl:head xmlns="http://www.w3.org/TR/REC-html40">
    <title>Update Properties</title>
    </ctrl:head>
    <templates xmlns="http://xmlns.oracle.com/uix/ui">
    <templateImport source="templates/SiriusBilling.uit"/>
    </templates>
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="PropertiesForeignKeyLink1AppModule"
    definition="siriusbilling.SiriusBCModule"
    releaseMode="stateful" >
    <bc4j:viewObjectDef name="PropertiesDetailView" >
    <bc4j:rowDef name="UpdatePropertiesDetailView" autoCreate="false" usesCurrency="true">
    <bc4j:propertyKey name="key" />
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    <!-- Display only 20 rows -->
    <bc4j:viewObjectDef name="PropertyTypesView" rangeSize="20" >
    <bc4j:rowDef name="UpdatePropertyTypesView" autoCreate="false">
    <bc4j:propertyKey name="key" />
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    <ctrl:content xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui">
    <updatepage:siriusPageLayout>
    <pageHeader>
    <globalHeader selectedIndex="0">
    <contents>
    <link text="Update Property" />
    </contents>
    </globalHeader >
    </pageHeader>
    <contents>
    <try xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui" >
    <catch>
    <displayException />
    </catch>
    <contents>
    <switcher childName="default">
    <boundAttribute name="childName">
    <if>
    <comparison type="equals">
    <dataObject select="key" source="ctrl:page"/>
    <dataObject source="ui:null"/>
    </comparison>
    <fixed text="error"/>
    </if>
    </boundAttribute>
    <case name="error">
    <header text="Required page property 'Property Type' missing. Cannot display page."/>
    </case>
    <case name="default">
    <flowLayout>
    <contents>
    <!-- this will contain any validation errors after form
    submission -->
    <messageBox automatic="true" />
    <script>
    <contents>
    function UOMLovCallBack(lovwin, event)
    var value = lovwin.returnUOMValue;
    if (value!=(void 0))
    document.updateForm.UnitOfMeasure.value = lovwin.returnUOMValue;
    </contents>
    </script>
    <form name="updateForm" method="POST" >
    <contents>
    <!-- we cannot implicitly determine that events
    will be triggered because submit buttons are
    outside the form scope, so add the placeholder
    explicitly -->
    <formParameter name="event" />
    <!-- layout the fields in two columns -->
    <spacer width="10"/>
    <tableLayout width="80%"
    cellPadding="2"
    hAlign="center">
    <contents>
    <bc4j:rootAppModuleScope name="PropertiesForeignKeyLink1AppModule" >
    <contents>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <bc4j:rowScope name="UpdatePropertiesDetailView" >
    <contents>
    <bc4j:messageChoice prompt="Property Type" attrName="PropertyType" name="PropertyType">
    <contents>
    <bc4j:optionList voName="PropertyTypesView" attrName="PropertyType" textAttributeName="PropertyType" size="30"/>
    </contents>
    </bc4j:messageChoice>
    <bc4j:messageInput prompt="Property Id" vAlign="left" attrName="PropertyId" size="30"/>
    <bc4j:messageInput prompt="Property Name" attrName="PropertyName" size="30"/>
    <bc4j:messageInput prompt="Property Description" attrName="PropertyDescription" size="30" />
    <bc4j:messageLovField prompt="Unit Of Measure"
    attrName="UnitOfMeasure"
    name="UnitOfMeasure"
    onClick="openWindow(window,
    'UOMLov.uix',
    'lovwin',
    {width:480, height:300},
    true,
    'dialog',
    UOMLovCallBack);
    return false;" />
    </contents>
    </bc4j:rowScope>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    </bc4j:rootAppModuleScope>
    </contents>
    </tableLayout>
    </contents>
    </form>
    </contents>
    <contents>
    <contentFooter>
    <contents>
    <html:center>
    <!-- place a row of buttons below the content -->
    <pageButtonBar>
    <contents>
    <!-- the cancel button performs a transaction rollback -->
    <button text="Cancel" ctrl:event="cancel" />
    <!-- the update button submits the user-entered
    form data -->
    <submitButton text="Update" formName="updateForm"
    ctrl:event="apply" />
    </contents>
    </pageButtonBar>
    </html:center>
    </contents>
    </contentFooter>
    </contents>
    </flowLayout>
    </case>
    </switcher>
    </contents>
    </try>
    </contents>
    </updatepage:siriusPageLayout>
    </ctrl:content>
    <handlers>
    <event name="cancel" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- rollback the current transaction -->
    <bc4j:rollback/>
    <!-- forward to the summary page -->
    <ctrl:go name="ViewProperties" redirect="true" />
    </bc4j:findRootAppModule>
    </event>
    <event name="apply" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- find the row by key, falling back on a new default
    row if the key is not found -->
    <bc4j:findRow name="UpdatePropertiesDetailView" >
    <!-- set each attribute explicitly -->
    <bc4j:setAttribute name="PropertyId" />
    <bc4j:setAttribute name="PropertyType" />
    <bc4j:setAttribute name="PropertyName" />
    <bc4j:setAttribute name="PropertyDescription" />
    <bc4j:setAttribute name="UnitOfMeasure" />
    <!-- commit the transaction -->
    <bc4j:commit/>
    <bc4j:executeQuery/>
    <!-- forward to the summary page -->
    <ctrl:go name="ViewProperties" redirect="true" />
    </bc4j:findRow>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    </handlers>
    </page>

    I think the detailDisclosure state needs to be saved and retrieved from the session.
    I'm not sure using a table with singleSelection inside a detail disclosure is supported. Are you doing master-detail inside of detail disclosure? Detail disclosure is not really meant for that. In jdev 10g preview we make hooking up a master-detail easy. Here's a link to some doc about it.
    http://otn.oracle.com/products/jdev/collateral/tutorials/9050/adfuix_tut.html#Create%20a%20Master-Detail%20page

Maybe you are looking for

  • Web Policy Agent 2.1 for Apache 1.3.27 with Identity Server 6.1

    Web Policy Agent 2.1 for Apache 1.3.27 with Identity Server 6.1 Does anybody has a working combination of the above ? I get a ID login page and after that I always get a access denied page. I get this exception on the agent logs: 2004-10-14 16:28:00.

  • Start Weblogic Server gives missing module b2b.war error

    I am getting the following error when I downloaded the BEA Workshop and platform 8.1 and tried starting the WLS domain under evalguide. Any clues on how I can fix this missing b2b.war error is highly appreciated Thanks Raman <Mar 24, 2004 10:49:14 AM

  • Account name confusion?

    A friend was just given a G4.  It's a Dual 800 PowerPC G4, 1.12 GB.  It's running OSx 10.3.9 I changed the name in the 'Accounts' for her.  I didn't create a 'new' account, I just changed the name of the admin account.  It seemed to take just fine -

  • Resize Picture

    How do I resize a picture smaller in Adobe Photoshop Album Starter Edition 3.0? Thank-you for any help. Corrinna ps. do you know how to save 2 pictures as 1 jpeg file?

  • Ordering/Ranking based on Character field

    Hi All, I need to ordering/Rank a column based on varchar field. Here is my input Create table #InputTmp CustomerNumber Varchar(10), AccountNumber Varchar(10) Insert into #InputTmp Select '1234','123121' Union All Select '1234','4728272' Union All Se