Master detail problem in HTML DB

We created a master detail page using master detail page wizard.
But when we create a detail record, master column's values which supporting relation (Foreign Keys) aren't transfered to detail block.
So detail record cannot created. How can we solve this.
Where we can control coordination information between master detail page .
Thanks for your help.

We have solved this problem regenarating FK.
But We are facing other problem too.
when creating master detail form using wizard if we choose "Edit detail on separate page" option the detail page not working correctly
When we try to create detail record " PK value cannot be null" error occurs. It means PK value not transfered this detail page.
It seems like a bug ???
How can we solve it. How can we manually support this Item value.
Thank You.

Similar Messages

  • Master detail problem

    Using jsf/adf with business components.
    I have a jsp page which displays form information. This page can be used to create a new record or edit existing record. On the form, there is a section for home addresses and a different section for work addresses. I have a master detail setup. The master record is essentially an employee (view object). Also, i have one view object for Home Addresses and one view object for Work Addresses. The difference is simply in the sql where clause. One retrieves addresses where address_type LIKE 'WORK%' and the other view retrieves addresses where address_type LIKE 'HOME%. So, both views are built on the same address table. (entity object). There is a one to many (master/detail) relationship between employee and home addresses. There is also a one to many (master/detail) relationship between employee and work addresses. So, I've created view link objects for both the home address and work address and associated each to the parent record to get the master detail hooked up. things work great when i'm trying to retrieve and edit a record(s). The home addresses and work addresses are kept separate like they should be and displayed in their appropriate sections on the form. The problem i'm having is with the create record. When the page is first rendered, I want blank input fields to display for both the master record and the detail records. So, i'm programmatically creating the master and detail records before the page is rendered. I create the master row, then create one row for the work address section and one row for the home address section. The problem i'm having is that both of the detail rows which are created this way are displaying in the same work address section. So, when the page is first rendered, i see input fields only in the work address section, and both the rows have been created there, which is evidenced by the fact that i can scroll thru these two newly created records using the "next" button that was dragged/dropped for the work address section. During the create process, it appears (thru debugging) that both of these detail rows are being created properly, with their own separate iterator, so why does it appear that both rows belong to the same iterator when the page is first rendered? I have included the code below which creates the master detail rows:
    //this method is called upon the initial entry into the tabbed page if
    //user is in "create" mode. It handles creating the master and detail row(s).
    public void createMasterDetailRows(){
    ViewObject vo = getMasterView();
    Row masterRow = vo.createRow();
    masterRow.setNewRowState(Row.STATUS_INITIALIZED);
    vo.insertRow(masterRow);
    //for the initial entry into the tabbed page in create mode, the address row(s) must be created explicitly.
    createWorkAddressRow();
    createHomeAddressRow();
    public void createWorkAddressRow(){
    RowIterator iterator = (RowIterator)this.getMasterView().getCurrentRow().getAttribute("WorkAddressView");
    Row newWorkAddressRow = iterator.createRow();
    newWorkAddressRow .setNewRowState(Row.STATUS_INITIALIZED);
    iterator.insertRow(newWorkAddressRow );
    int rowCount = iterator.getRowCount();
    System.out.println("Address row inserted at " + rowCount);
    public void createHomeAddressRow(){
    RowIterator iterator = (RowIterator)this.getMasterView().getCurrentRow().getAttribute("HomeAddressView");
    Row newHomeAddressRow = iterator.createRow();
    newHomeAddressRow.setNewRowState(Row.STATUS_INITIALIZED);
    iterator.insertRow(newHomeAddressRow);
    int rowCount = iterator.getRowCount();
    System.out.println("Home Address row inserted at " + rowCount);
    }

    Sergio,
    You need to set the currency to the row passed in the request parameter from the browse page.
    You can used the row tag to do that:
    <jbo:Row id="rowCur" datasource="yourMasterDS" rowkeyparam="jboRowKey" action="find">Charles.

  • Master-Detail Problem SESSION & REQUEST

    I'd really appreciate some help with this:
    I got a very simple master detail application, with a data table in the master page that gets it's data from a spring-hibernate bean, pretty straightforward.
    My business requirement indicates that at first the list will be empty, and after selecting a few criteria values, the list should return with the results(query results).....
    I'm using one of the columns with a commandLink tag as usual, to go to the detail page like any number of applications you have seen.
    Now the problem arises in that, if my backing bean for my list and criteria is set as a SESSION, everything works fine. However if i set the backing bean in REQUEST scope navigation doesn't ocurr acording to the action and it just redisplays an empty list in the same page (the master list page).....
    I changed everything back and forth between sun and apache's releases and nothing...tried a bunch of different things and nothing either...the log doesn't show any exceptions or anything...
    Anybody have a clue on this?????
    public class PersonList {
    private PersonManager personManager;
    private List    personsData;
    private String  inputTextEmpId;
    private String  inputTextJobCode;
    private String  inputTextFirstName;
    private String  inputTextLastName;
    private boolean initialFlag = true;
       public void setPersonManager(PersonManager personManager) {
           this.personManager = personManager;
       public PersonManager getPersonManager() {
          return personManager;
      public List getPersonsData() {
           List results = (personManager.getAllPersonsQuery(
             initialFlag,
           inputTextEmpId, 
           inputTextJobCode,
           inputTextFirstName,
           inputTextLastName);
          initialFlag = true;
          if (results == null) return new ArrayList();
          else return results;
    public void setPersonsData(List personsData) {
         this.personsData = personsData;
    public String getInputTextEmpId() {
         return inputTextEmpId;
    public void setInputTextEmpId(String inputTextEmpId) {
         this.inputTextEmpId = inputTextEmpId;
    public String getInputTextFirstName() {
         return inputTextFirstName;
    public void setInputTextFirstName(String inputTextFirstName) {
         this.inputTextFirstName = inputTextFirstName;
    public String getInputTextLastName() {
         return inputTextLastName;
    public void setInputTextLastName(String inputTextLastName) {
         this.inputTextLastName = inputTextLastName;
       public void queryGenerator (ActionEvent event) {
            setInitialFlag(false);
       public boolean isInitialFlag() {
            return initialFlag;
       public void setInitialFlag(boolean initialFlag) {
            this.initialFlag = initialFlag;
    <%@ include file="/taglibs.jsp"%>
    <h:form id="personX">
    <h:messages layout="table" styleClass="conversionError"/>
    <h:panelGrid styleClass="data-table-column-header" columns="9">
      <h:outputText value="#{messages.personEmpId}"/>
      <h:outputText value="#{messages.personJobCode}"/>
      <h:outputText value="#{messages.personFirstName}"/>
      <h:outputText value="#{messages.personLastName}"/>
      <h:inputText value="#{personList.inputTextEmpId}" size="4" styleClass="data-table-column-text"/>
      <h:selectOneMenu value="#{personList.inputTextJobCode}" styleClass="data-table-column-text">
           <f:selectItem itemValue="%"  itemLabel="ALL"/>
           <f:selectItem itemValue="AA" itemLabel="AA"/>
           <f:selectItem itemValue="BB" itemLabel="BB"/>
           <f:selectItem itemValue="OT" itemLabel="OT"/>
      </h:selectOneMenu>
      <h:inputText value="#{personList.inputTextFirstName}" size="9" styleClass="data-table-column-text"/>
      <h:inputText value="#{personList.inputTextLastName}" size="9"  styleClass="data-table-column-text"/>
    </h:panelGrid>
      <t:dataTable
        value             =  "#{personList.personsData}"
        var               =  "person"
        id                =  "personDataList"
        border            =  "0"
        columnClasses     =  "rightAlign,centerAlign,leftAlign,leftAlign,rightAlign,
                              centerAlign,centerAlign,centerAlign,centerAlign"
        rowClasses        =  "data-table-row-odd,data-table-row-even"
        styleClass        =  "data-table"
        headerClass       =  "data-table-header"
        footerClass       =  "boldLeft" >
       <f:facet name="header">
        <h:outputText value="#{messages.personList}"/>
       </f:facet>
       <h:column>
         <t:commandLink action="personform" immediate="true" >
            <h:outputText value="#{person.id}" />
            <t:updateActionListener property="#{personForm.id}" value="#{person.id}" />
         </t:commandLink>
       </h:column>
       <h:column><h:outputText value="#{person.jobCode}"/></h:column>
       <h:column><h:outputText value="#{person.firstName}"/></h:column>
       <h:column><h:outputText value="#{person.lastName}"/></h:column>
      </t:dataTable>
    <h:commandButton value="Generate Report" actionListener="#{personList.queryGenerator}" styleClass="button"/>
    </h:form>

    What is the meaning of initialFlag?
    If the bean in request scope, when firstly invoking
    getPersonData()
    the flag is true because queryGenerator() is not
    invoked yet in the request.
    If the bean in session scope, the value of
    initialFlag may hold to be false
    since invoking queryGenerator() in the previous
    request.initialFlag is just something I use to bring back an empty list
    when the action is performed....
    However my problem is not displaying the list correctly, is actually Jumping to the detail form (a different JSP) from the commandLink on the datatable results....,
    instead it just re-renders the same page (just like if there was a conversion or validation error)
    Fragment: From DAO..
         public List getAllPersonsQuery(
                   boolean initialFlag,               
                   String empId,
                   String jobCode,
                   String firstName, String lastName)
    if (initialFlag) return new ArrayList();
    else {
      String status = "A";
      return getHibernateTemplate().find("from Person person where person.employmentStatus=(?) " +
    getNormalClause(empId,            " person.empId "  )+
    getNormalClause(jobCode,          " person.jobCode ")+
    getNormalClause(firstName,        " person.firstName ")+
    getNormalClause(lastName,         " person.lastName ")+
    " order by person.lastName, person.firstName" , status);
      <navigation-rule>
       <from-view-id>/persons.jsp</from-view-id>
       <navigation-case>
          <from-outcome>personform</from-outcome>
          <to-view-id>/personForm.jsp</to-view-id>
        </navigation-case>
      </navigation-rule>
    <%@ include file="/taglibs.jsp"%>
    <h:messages layout="table" styleClass="error"/>
    <h:form id="personForm">
    <h:inputHidden value="#{personForm.person.id}"/>
    <h:inputHidden value="#{personForm.id}"/>
    <h:inputHidden value="#{personForm.person.empId}" binding="#{personForm.empId}"/>
    <h:inputHidden value="#{personForm.person.jobCode}" binding="#{personForm.jobCode}"/>
    <h:inputHidden value="#{personForm.person.firstName}" binding="#{personForm.firstName}"/>
    <h:inputHidden value="#{personForm.person.lastName}" binding="#{personForm.lastName}"/>
    <h:inputHidden value="#{personForm.person.createdUser}" binding="#{personForm.createdUser}"/>
    <h:inputHidden value="#{personForm.person.createdTime}" binding="#{personForm.createdTime}">
      <f:convertDateTime pattern="MM/dd/yyyy"/>
    </h:inputHidden>
    <h:inputHidden value="#{personForm.person.lastUpdateUser}" binding="#{personForm.lastUpdateUser}"/>
    <h:inputHidden value="#{personForm.person.lastUpdateTime}" binding="#{personForm.lastUpdateTime}">
      <f:convertDateTime pattern="MM/dd/yyyy"/>
    </h:inputHidden>
      <h:panelGrid columns="2" columnClasses="exclusions-column-text,exclusions-column-text-green">
        <h:outputText value="Employee#:"/>
        <h:outputText value="#{personForm.empId.value}"/>
        <h:outputText value="Job Title:"/>
        <h:outputText value="#{personForm.jobCode.value}"/>
        <h:outputText value="First Name:"/>
        <h:outputText value="#{personForm.firstName.value}"/>
        <h:outputText value="Last Name:"/>
        <h:outputText value="#{personForm.lastName.value}"/>
       </h:panelGrid>
    </h:panelGrid>
    <h:panelGrid columns="4" style="width:300px" headerClass="exclusions-table-header" styleClass="exclusions-table">
      <f:facet name="header">
        <h:outputText value="Record Control"/>
      </f:facet>
      <h:outputText value="Created By:" styleClass="bold"/>
      <h:outputText value="#{personForm.createdUser.value}"/>
      <h:outputText value="Created On:" styleClass="bold"/>
      <h:outputText value="#{personForm.createdTime.value}">
        <f:convertDateTime pattern="MM/dd/yyyy"/>
      </h:outputText>
      <h:outputText value="Modified By:" styleClass="bold"/>
      <h:outputText value="#{personForm.lastUpdateUser.value}"/>
      <h:outputText value="Updated On:" styleClass="bold"/>
      <h:outputText value="#{personForm.lastUpdateTime.value}">
        <f:convertDateTime pattern="MM/dd/yyyy"/>
      </h:outputText>
    </h:panelGrid>
    </h:panelGrid>
    </h:panelGrid>
    <h:panelGrid columns="2">
    <h:commandButton value="Save Record" action="#{personForm.save}" id="savePerson" styleClass="button"/>
    <h:commandButton value="Query Screen" action="#{personList.cleanData}" immediate="true" id="cancelPerson"  
       styleClass="button"/>
    </h:panelGrid>
    </h:form>

  • Oracle Forms..  Master/Detail problem

    Hi,..
    I have a problem..
    I have 2 blocks in a page. One is an single row block and the other one an multirow block.. master/detail relationship.
    I would like that when I change a specifike item in the master block, a column of a specifike record gets changed.
    For example:
    master block has 3 items.. day, time and weather.
    detail block is a multirow block with items.. accessori, owned, take.
    when you choise a day and time.. but when you change weather (example to rainy) it goes into the multirow and searches for umbrella and changes the value of column take to YES.
    Can anybody help me?
    Gr.
    Kenneth
    Edited by: KHE on 24-mrt-2011 16:15

    Hi
    FRM 40737: Illegal restricted procedure GO_BLOCK in WHEN-VALIDATE-ITEM trigger.. yes u can't use GO_BLOCK built in WHEN-VALIDATE-ITEM trigger
    u can use timer to do it in WHEN-VALIDATE-ITEM trigger as
    DECLARE
      vTimer TIMER;
    BEGIN
      vTimer:=CREATE_TIMER('TEMP',10,NO_REPEAT);
    END;at form-level called WHEN-TIMER-EXPIRED and use the code ...
    GO_BLOCK ('BLOCK_NAME');
    GO_ITEM('ITEM_NAME');
    DELETE_TIMER('TEMP');Hope this helps...
    Regards,
    Abdetu...

  • Spry Master Detail from two HTML tables?

    I'm trying to use two spry tables generated from html on the same page.I would like to set up an advaned master detail region where the "tbl_adrs" (contains Multiple addresses) references the "tbl_provider" (contains a provider name and the unique identifier 'ProNo'). Is this possible with spry data set from html tables? All examples reference spry tables from XML. If it is possible, here is the HTML to look at.
    Thanks in advance.
    John
    </style>
    <script src="../SpryAssets/SpryData.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryHTMLDataSet.js" type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    var ds_provider = new Spry.Data.HTMLDataSet(null, "tbl_provider");
    ds_provider.setColumnType("ProNo", "number");
    var ds_adrs = new Spry.Data.HTMLDataSet(null, "tbl_adrs");
    ds_adrs.setColumnType("ProNo", "number");
    ds_adrs.setColumnType("ID", "number");
    //-->
    </script>
    <table width="300" border="0" id="tbl_provider">
          <tr>
            <th scope="col">Provider</th>
            <th scope="col">ProNo</th>
          </tr>
          <?php do { ?>
            <tr>
              <td><?php echo $row_rs_provider['BigName']; ?></td>
              <td><?php echo $row_rs_provider['ProNo']; ?></td>
            </tr>
            <?php } while ($row_rs_provider = mysql_fetch_assoc($rs_provider)); ?>
        </table>
        <p> </p>
        <div spry:region="ds_provider ds_adrs">
          <table>
            <tr>
              <th spry:sort="Provider">Provider</th>
              <th spry:sort="ProNo">ProNo</th>
            </tr>
            <tr spry:repeat="ds_provider" spry:odd="odd" spry:even="even" spry:hover="hover" spry:select="selected">
              <td>{Provider}</td>
              <td>{ProNo}</td>
            </tr>
          </table>
          <p>{ds_adrs::ProNo}{ds_adrs::ID}</p>
          <p>{ds_adrs::Group}</p>
          <p>{ds_adrs::Complex}</p>
          <p>{ds_adrs::Institution}</p>
          <p>{ds_adrs::Street}</p>
          <p>{ds_adrs::City}</p>
          <p>{ds_adrs::Phone}</p>
          <p>{ds_adrs::Fax}</p>
        </div>
        <p> </p>
        <p> </p>
        <table width="300" border="0" id="tbl_adrs">
          <tr>
            <th scope="col">ProNo</th>
            <th scope="col">ID</th>
            <th scope="col">Group</th>
            <th scope="col">Complex</th>
            <th scope="col">Institution</th>
            <th scope="col">Street</th>
            <th scope="col">City</th>
            <th scope="col">Phone</th>
            <th scope="col">Fax</th>
            <th scope="col">County</th>
          </tr>
          <?php do { ?>
            <tr>
              <td><?php echo $row_rs_adrs['ProNo']; ?></td>
              <td><?php echo $row_rs_adrs['ID']; ?></td>
              <td><?php echo $row_rs_adrs['Group']; ?></td>
              <td><?php echo $row_rs_adrs['Complex']; ?></td>
              <td><?php echo $row_rs_adrs['Institution']; ?></td>
              <td><?php echo $row_rs_adrs['Street']; ?></td>
              <td><?php echo $row_rs_adrs['Adrs_Comp']; ?></td>
              <td><?php echo $row_rs_adrs['Phone']; ?></td>
              <td><?php echo $row_rs_adrs['Fax']; ?></td>
              <td><?php echo $row_rs_adrs['County']; ?></td>
            </tr>
            <?php } while ($row_rs_adrs = mysql_fetch_assoc($rs_adrs)); ?>
        </table>

    Moved to the Spry forum.

  • Master/Detail problem: Infinite loop with display items

    Hi,
    I have a strange problem in Oracle Forms 6.0.5.35.3. I create a master block and a detail block with correct relationship between them.
    -> When the detail block contains at least one 'Text Item' everything works well.
    -> When the detail block only contains 'Display Items', the form is looping
    indefinitely calling ON-POPULATE_DETAILS and QUERY-MASTER-DETAILS...
    Is it a known bug ?
    Do you know a trick to avoid this behaviour ?
    Is it corrected with latest versions of forms, I mean 6i ?
    Thanks for answer
    Laurent Ricci

    I think a block should have at least one navigable item. Just disable the insert/update property, but enable the navigable property for an item in the detail block.
    Hope that help

  • Master-Details Problem

    Hi All
    I'm developing a web application using jdeveloper 11.1.2.0
    I have Master-Details VOs and have created a Master_details tables in .jspx page. But when I click the master row some time the details will not appear. It remains as in the previous row. This behavior occurs every other click in Master Table.(i.e First master row click then it will display the details rows correctly , then other master row click the details will not get refreshed and so on)
    Following error message appears in the log
    <CurrencyRowKeySet> <_computeCurrentRowKey> ADFv: rowIterator is null.
    Please some one help me on this, I have been searching in google for some days and couldn't overcome from this.

    Hi have done those initial things, The problem is MDS configuration. I removed the MDS and it works fine.

  • Master-details problem: How to access the parent EO/VO in child side?

    Hello
    Refer to the reply of posting
    Re: How to insert  new records in Master and detail Forms.
    I have got the following questions
    The approach for setting the master-details relationship works well, however, in this example,
    I have overriden the create(AttributeList attributeList) method of VO2, so after calling
    DCBindingContainer dcb = ADFUtils.getDCBindingContainer();
    OperationBinding oper = dcb.getOperationBinding("CreateInsertVO2");
    oper.execute();
    , it will enter the create() method of VO2, at this point, i can only access the argument attributeList
    which stored the key value that link up parent and child, however, how can i get the entire VO1
    for accessing the value of all VO1's attribute?
    Thanks

    Neon wrote:
    I have mapped a createInsert action in the blinding layerThis is OK.
    Neon wrote:
    Do you mean that i have to create createRow and insertRow action in blinding layer?No. The createInsert operation does just that
    Neon wrote:
    Or call these function in the VO overridden create() method?No. You can't do that.
    In conclusion, I don't understand why the accessor returns null. Maybe someone else can shed some light... ?:|
    One last suggestion from me is to try getting the VO1 directly from the AM instead.
    This should work - it is not a recommended practice through.
    Use the following code:
    VO1RowImpl vo1 = (VO1RowImpl)this.getVO1();
    // ensure that the VO1 VL accessor is properly initialized
    if (vo1 == null) {
       vo1 = (VO1RowImpl)((YourApplicationModuleImpl)this.getApplicationModule()).getVO1().getCurrentRow();
    }

  • Master-detail form in HTML DB

    Is there any way to create a master form with multiple detail tabs on the same page? This can be easily done in Oracle Forms by creating a master block and several child blocks on the same form.
    Thanks.

    Andy,
    The master-detail wizard generates only one detail tabular form or report. When using the master-detail wizard, you’re asked whether you want to edit the detail records on the same page as the master record using a tabular form, or if you want to display the detail records as a report with links to a form page that lets you edit the detail records individually. If you want to have more than one detail report on your page, you can easily do that by adding additional reports manually. However those reports can’t be tabular forms, because you can only have one tabular form per page. So those detail reports need to link to form pages, where you then can edit your detail records.
    Regards,
    Marc

  • Master-detail problem in ADF JSP

    Is there any way I can add a detail record in a master-detail JSP page without having to open a new page?ž
    Milos

    Hi Frank,
    Thanks for your reply. In the application I used weblogic JDBC driver for Sybase when it was developed in 11.1.1.1.0 version.
    The following are the extries in bc4j.xcfg file:
    jbo.sql92.JdbcDriverClass="weblogic.jdbc.sybase.SybaseDriver"
    jbo.TypeMapEntries="Java"
    jbo.SQLBuilder="SQL92"
    Now I have changed the JDBC to Sybase jConnect (jconn4.jar) and driver class is com.sybase.jdbc4.jdbc.SybXADataSource and other entries remains the same as it was before.
    Thanks
    Jalil

  • Master-Detail Problem -ASAP!!

    HI
    I have a problem that i hope someone can help me with.. I have one JSP page that displays a listing that will either add new,update or delete.. I am using the bc4juix:table tag but the problem that i am getting is that on the other page which is the detail, I have a drop down box that allows me to select a Term of Employment. IT is stored in the database as number.. My problem arises when I want to show on the List page the "string" value of the number. For example, on the list the Term of Employment value shows up in the column on the list page as being "2" BUT i want it to show up as "Unspecified" HOW DO I DO THIS!!!!???
    Anyone with any insight would be appreciative!!

    I am using the production release of JDeveloper..
    Here's a snippet of my code that i have done But it's not displaying properly in my grid.. In fact it's a mess
    <bc4juix:Table width="100%" datasource="dsWork" >
    <uix:columnHeaderStamp>
    <uix:styledText textBinding="LABEL" />
    </uix:columnHeaderStamp>
    <%-- The fields to be displayed in the list --%>
    <bc4juix:RenderValue datasource="dsWork" dataitem="JobTitle" />
    <bc4juix:RenderValue datasource="dsWork" dataitem="StartDate" />
    <bc4juix:RenderValue datasource="dsWork" dataitem="EndDate" />
    <%
    *******HELP WITH THIS PORTION********************
    for(int i=1;i <dsWork.getRowSet().getRowCount();i++)
    String c_temp;
    c_temp = (String)dsWork.getRowSet().getCurrentRow().getAttribute("TermOfEmployment");
    int temp=Integer.parseInt(c_temp);
    switch (temp)
    case 0 : %>
    <uix:styledText text="Unspecified"></uix:styledText>
    <%case 1: %>
    <uix:styledText text="Not Referred to Client Services"></uix:styledText>
    <%case 2: %>
    <uix:styledText text="Refer to CSO"></uix:styledText>
    <%case 3: %>
    <uix:styledText text="Refer to EAPD/CDS"></uix:styledText>
    <%case 4: %>
    <uix:styledText text="Refer to HRDC"></uix:styledText>
    <%} %>
    <jbo:RowsetNavigate datasource="dsWork" action="Next" />
    <%}%>
    <bc4juix:RenderValue datasource="dsWork" dataitem="Resume" />
    <uix:formValue name="RowKey" valueBinding="RowKey" />
    <% if (!dsWork.getRowSet().getViewObject().isReadOnly())
    {%>
    <uix:tableSelection>
    <uix:singleSelection >
    <uix:contents>
    <%-- The button name needs to be JboEvent so that it triggers the use of the OnEvent tag --%>
    <uix:submitButton name="jboEvent" text="Update" formName="form1" value="Update" />
    <uix:submitButton name="jboEvent" text="Delete" formName="form1" value="Delete" />
    </uix:contents>
    </uix:singleSelection>
    </uix:tableSelection>
    <%}%>
    </bc4juix:Table>
    Thanks for you help!! Greatly appreciative!
    Michelle

  • Master-Detail Report

    Hi Gurus,
    I am trying to implement master-detail report in single window without navigating to other window in OBI 10g by following the below link
    http://108obiee.blogspot.in/2010/02/obiee-master-detail-requests-navigation.html
    but i am facing problem in creating iframe column and including that column in the report
    Can we achieve this requirement in OBI 10g if yes please suggest me how can we do this.
    Thanks,

    Hi Muram,
    For implementing Master-detail for the product report when we click on Prod-Cat from master report(Year, Prod-Cat, Tot-Sales) it as to show the detail report (Prod-SubCat,Tot-Sales) in the same window without navigation to the other window for this scenario I implemented the steps as per the below URL which was send in the previous post.
    http://obiee10grevisited.blogspot.in/2012/05/master-detailed-report-on-same-page.html
    but I am facing problem in 5th,6th,7th steps could you please suggest me on these.
    1>First I created master report with columns (Year, Prod-Cat, Tot-Sales)
    2>Second I created detail report with columns(Prod-SubCat,Tot-Sales)
    3>I have created two prompts Year and Prod-Cat
    4>Now in the dashboard page I kept prompts and two reports in separate sections
    5>To build intermediate report for validation which columns I have to take in that report and what I have to give in the fx.
    6>In the detail report sections in the edit dashboard how to give the reference to the intermediate report and how to make the report not visible at the initial view of the user.
    7>In the main report how to give the navigation to the same page which consist of main and detail report together we can navigation either main report or detail report how we can navigation which consist of both.
    Thanks,
    Rafi
    Edited by: Rafi.B on Aug 29, 2012 11:42 AM

  • Master Detail Forms with 2 composite primary keys - Is there a workaround?

    Hello All,
    I have been searching for a workaround to the maximum 2 part primary key restriction on the multi-row updates, and master-detail forms, and am hoping that someone can help me. I am using HTMLDB v2.0.0.00.49 with IE 6 against a 9.2 DB.
    I successfully implemented the workaround of Fred Stoopendaal's (see Updata PK on HTML DB ) and it works fine for single page multi-record updateable forms, but alas I haven't been able to extend it to master detail forms (I think it is something to do with Oracle not allowing the "returning" clause on views).
    Here is what I tried:
    two tables, one with a 2 part composite primary key, which is the master table, and a detail table with 3 part composite primary key -
    --------- BEGIN SQL ---------
    create table master_table
    ( master_col1 number
    , master_col2 number
    , master_col3 varchar2(30)
    , constraint master_pk primary key (master_col1,master_col2));
    create table detail_table
    (detail_col1 number
    ,detail_col2 number
    ,detail_col3 number
    ,detail_col4 varchar2(30)
    , constraint detail_pk primary key(detail_col1,detail_col2,detail_col3)
    , constraint master_detail_fk foreign key (detail_col1,detail_col2) references master_table(master_col1,master_col2));
    create or replace view v_master_table as
    select rowid mata_rowid,mata.*
    from master_table mata;
    create or replace view v_detail_table as
    select rowid deta_rowid,
    (select rowid from master_table mata where mata.master_col1 = deta.detail_col1 and mata.master_col2 = deta.detail_col2) deta_mata_rowid
    , deta.*
    from detail_table deta;
    create or replace trigger mata_ins_upd_trg
    instead of insert or update on v_master_table
    referencing new as new old as old
    for each row
    begin
    if inserting then
    insert into master_table (master_col1, master_col2, master_col3)
    values (:new.master_col1, :new.master_col2, :new.master_col3);
    end if;
    if updating then
    update master_table
    set master_col1 = :new.master_col1,
    master_col2 = :new.master_col2,
    master_col3 = :new.master_col3
    where rowid = :old.mata_rowid;
    end if;
    end;
    create or replace trigger deta_ins_upd_trg
    instead of insert or update on v_detail_table
    referencing new as new old as old
    for each row
    begin
    if inserting then
    insert into detail_table ( detail_col1, detail_col2, detail_col3, detail_col4)
    values (:new.detail_col1, :new.detail_col2, :new.detail_col3, :new.detail_col4);
    end if;
    if updating then
    update detail_table
    set detail_col1 = :new.detail_col1,
    detail_col2 = :new.detail_col2,
    detail_col3 = :new.detail_col3,
    detail_col4 = :new.detail_col4
    where rowid = :old.deta_rowid;
    end if;
    end;
    --------- END SQL ---------
    Then I created a master-detail form in Apex on the two views, using the mata_rowid and deta_rowid as primary keys, and mata_rowid=deta_mata_rowid as the link. I realise that using a function to fetch the master rowid within the detail view query is costly, but it was my intention to modify the record fetch queries to use the real FK columns once things were up and running.
    It seems to generate the pages ok, and I can insert/update master table records, but as soon as I modify records in the detail table things go a bit haywire. I can't find any documentation on how the inbuilt MRU/MRD logic works, so can't figure out the issue.
    Can anyone out there tell me what the problem is with the logic above, or if they have come up with a neat solution to this annoying limitation. I know that many will say that I should modify the data model to use surrogate primary keys, but many of the uses for HTMLDB are new interfaces for old schemas, so a workaround that doesn't involve wholesale data model changes would be preferable.
    Thanks in advance,
    Mike Cretan

    Hi, this is likely not the most elegant way...but perhaps the simplest -- and I didn't have much time to play.
    I used Wizard to create two separate Master Detail forms, each with a separate detail table. Thus I ended up with four pages:
    Page "A" - "Selector" page for Master (Report), with Edit link driving to Detail-1
    Page "B" - Editable Master/Detail-1 page (HTML / Report)
    Page "C" - "Selector" page for Master (Report), with Edit link driving to Detail-2
    Page "D" - Editable Master/Detail-2 page (HTML / Report)
    Then I selected the primary key column TWICE on the Report on Page A. Modified the second instance of this column to navigate to Page D (passing primary key) exactly the way the original instance of this column navigates to Page B. Then I deleted Page C.
    Since you can have only one Tabular Entry form per page, this seemed the best way to drive two separate detail tables from a common interface.

  • 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

  • Problem with Master -Details forms in seperate pages

    Hi ,
    Below is the scenario:
    I have Institution and a department tables where there is a foreign key relation between the tables. So now i have two entity objects for the 2 tables and 2 view objects(DepartmentView,InstitutionView) from the entity objects.
    I also have a view link between them.I made a master-detail relation between them in the datamodel using the view link.So my appmodule now has getters for the department view,institution view and viewlink.
    I now have a jsp page "createInstitution.jsp" which contains a form for the institution , i have a "next" button on the same jsp which calls a method in my appmodule class .This methods just inserts the record into the Institution view. In this method i am able to see what the user entered in the form by getting the viewrow record like the below code :
    InstitutionViewRowImpl newInstitutionRow=(InstitutionViewRowImpl) getInstitutionView().first();
    The next button navigates to the next page "listDepartments.jsp" which contains the list of departments that are added. This page has a button "Add Department" which takes to to the "addDepartment.jsp" page which shows a form for adding a department. This page also has a button which calls a method in app module class. The method just inserts the record into the view(DepartmentView)
    Here when i say
    DepartmentViewRowImpl newDepartmentRow=(DepartmentViewRowImpl ) getDepartmentView().first();
    the newDepartmentRow is null.
    Also on the addDepartment.jsp form , i had used a output field to see what the parent id was and interestingly the parent id is 75 which is first institution in the database. It should have been "-10" , a temporary id assigned.
    Can someone please tell me what is the problem with my approach?

    I don't understand why you are using a method on your button to insert the record into the table - An Oracle ADF Form will do the insert for you by default without any coding.
    See the create pages in these tutorials:
    http://www.oracle.com/technology/products/jdev/11/cuecards/adf_set_21/ccset21_ALL.html
    http://www.oracle.com/technology/obe/obe11jdev/11/dev_ui/developuserinterface.html#t2s5
    The method that you are calling just returns the first record in the rowset - I don't see how it has anything to do with actually inserting the data into the table.

Maybe you are looking for

  • MDI JTable Overlap Area Repaint Problem

    Hi all, I have a problem for my application in MDI mode. I open many windows (JInternalFrame contain JTable) under JDesktopPane. Some of the windows are overlapping and when they receive update in the table, it seems repaint all of the overlapping wi

  • ADF View objects question

    Hello, I created a view object (which bases on an entity object) that I'd like to use for searching for records in a table called "CARS". Cars will be searched by names. I also have a JSP page for adding cars (administration functionality). The situa

  • Viewing and Removing the Time part of the Date field

    Hi, I have Date field in a table. but in SQL plus when I do select date from table this gives me only the Date values and not the timestamps in the date. I believe Oracle stores 'Date' and 'Time' in fields with Data Type 'Date'. How do I print the ti

  • Trying to make a new password without a disc

    So I bought a used macbook and the guy who sold me it, didn't send any discs and I can't get any updates on it. I've tried using the this code to get a new one... 1. Hold Down Apple+S while booting computer 2. Type: sh /etc/rc 3. Type: passwd root (i

  • Can any one can provide ISU invoice material ?

    Hi Expert , Can u plz provide me ISU INVOICE material for study and can  u saggest how to install ISU in my system  for practice. Abhishek Tripathi