Extending master view object to query detail records

I have two view objects, master and detail, joined by a view link. I want to extend the VO so that I can use the detail columns in the master view criteria.
My master view object is OutagesView
SELECT Outages.OUTAGE_ID,
Outages.START_DT,
Outages.END_DT,
Outages.OUTAGE_MESSAGE,
Outages.OUTAGE_TYPE,
Outages.UPDATE_ON,
Outages.UPDATE_WHO,
Outages.NAME,
Outages.OUTAGE_SCOPE,
Outages.OUTAGE_CATEGORY
FROM OUTAGES Outages
And the detail is OutageDetailsView
SELECT Apps.DISPLAY_NAME,
Apps.SHORT_DESCRIPTION,
AppOutages.OUTAGE_ID detail_outage_id,
AppOutages.APP_ID,
AppOutages.NOTES,
Apps.ID
FROM APPS Apps, APP_OUTAGES AppOutages
WHERE Apps.ID = AppOutages.APP_ID
In the view link (OutagesView.OutageId to OutageDetailsView.DetailOutageId) I have checked the boxes to Generate Accessors in both the OutagesView and OutageDetailsView. This has allowed me to build the view criteria in OutagesView referencing OutagesDetailView .
When I try run the AppModule, navigate to the view link and specify detail view criteria get an error:
I can see when it creates the query it is specifying OutagesQRST in the subquery which doesn’t exist
SELECT Outages.OUTAGE_ID,
Outages.START_DT,
Outages.END_DT,
Outages.OUTAGE_MESSAGE,
Outages.OUTAGE_TYPE,
Outages.UPDATE_ON,
Outages.UPDATE_WHO,
Outages.NAME,
Outages.OUTAGE_SCOPE,
Outages.OUTAGE_CATEGORY
FROM OUTAGES Outages
WHERE ( ( (EXISTS
(SELECT *
FROM (SELECT Apps.DISPLAY_NAME,
Apps.SHORT_DESCRIPTION,
AppOutages.OUTAGE_ID detail_outage_id,
AppOutages.APP_ID,
AppOutages.NOTES,
Apps.ID
FROM APPS Apps, APP_OUTAGES AppOutages
WHERE Apps.ID = AppOutages.APP_ID) QRSLTSQ1
WHERE ( (UPPER (DISPLAY_NAME) LIKE
UPPER (:pdisplayName || '%')))
AND (OutagesQRSLT.OUTAGE_ID =
QRSLTSQ1.DETAIL_OUTAGE_ID)))))
If I set the VO to expert mode and override the create method in the view impl with
public void create() {
super.create();
setNestedSelectForFullSql(false);
I get the error SQL error during statement preparation:
SELECT Apps.DISPLAY_NAME,
Apps.SHORT_DESCRIPTION,
AppOutages.OUTAGE_ID detail_outage_id,
AppOutages.APP_ID,
AppOutages.NOTES,
Apps.ID
FROM APPS Apps, APP_OUTAGES AppOutages
WHERE Apps.ID = AppOutages.APP_ID WHERE DETAIL_OUTAGE_ID = :Bind_OutageId;
Can someone please point me in the right direction?
Thanks
Kylie

Hi Erp,
Thanks for your response. The queries in the VOs are fine. It is when jdev creates the view criteria between the two that the problem occurs. In instance 1 it creates an alias OutagesQRSLT which doesn't exist. Had this of just been Outages the query would have run.
I tried the to use the expert mode and override the create method in the view impl as I had seen it suggested in some other posts. This is when I got the second error with the :Bind_OutageId. I assumed that jdev would take care of the binding? Perhaps I am wrong. I did pass a value to :pdisplayName.
I guess I need to know if overriding the create method is the right thing to do? and if so where I might be going wrong.
Thanks
Kylie

Similar Messages

  • Iterating through master view objects and child view objects in same page

    I am working on a project using ADF UIX and Business Components.
    I have an application module with two view objects one the master view object and the second the detail object. They are related via a view link.
    I would like to iterate through the master view objects displaying a customer name as bold text and then below each customer name I'd like to display the detail records in a table via the detail view object i.e. a seprate table for each customer.
    Is this possible - I haven't had much luck!?
    Thanks in advance.

    That's because
    $(".ms-vb2 a").
    is bringing back all the pieces that have that class with an anchor on the whole page, not just the ones in the .ms-wpContentDivSpace
    I don't know the exact syntax, but I think you need to iterate through all the '.ms_vb2 a' items as well - there are multiple ones, and do something like this inside your other grouping
    $(".ms-vb2 a").each(function(index) {
        var val=$(this).html();
       var val2=val.replace(/_/g," ")
       $(this).html(val2);
    That's not quite right but maybe that will help.
    Robin

  • Is there a way to force a View Object to query the database always?

    Dear All,
    Is there a way to force a view object to always scan the database table to read the latest data?
    Here's my use case.
    I have a page that loads data then I have a button which executes the following code.
    viewObject.setApplyViewCriteriaName("SampleCriteria");
    viewObject.setNamedWhereClauseParam("arg1", "test");
    viewObject.executeQuery();
    RowSetIterator it = viewObject.createRowSetIterator(null); 
    while(it.hasNext()) {
         /* More Code */
    }Suppose after page load, I edited some row in the table and then I clicked the button. I notice that my edited row
    was not reflected in the query.
    I am not sure but is there some configuration to check so that when the viewobject executes it will always query the data
    from the table?
    I am thinking that there is some level of caching and I want to disable it. If I restart my application, I notice that it is able to read the latest data.
    JDEV 11.1.1.5

    By default a view object performs its query against the database to retrieve the rows in its resulting row set. However, you can also use view objects to perform in-memory searches and sorting to avoid unnecessary trips to the database.
    The view object's query mode controls the source used to retrieve rows to populate its row set. For more details please refer: http://docs.oracle.com/cd/B31017_01/web.1013/b25947/bcadvvo005.htm
    Also, see if this helps: setQueryMode for secondary rowSet not working

  • Getting error after extending a View Object

    Hi,
    I am extending a view object in iProcurement page, requisition lines details region. I find that the item description is created 3 times in that Message Component layout region. Once as message styled text, once Formatted text and the third item created is of type Link. In the standard page (without extending VO), the item description is shown only once. But whenever I am trying to extend the VO, the item description is appearing three times on the page. This is happening merely by extending the VO. If I try to hide one of the item through personalization (by making Render property False), then also no changes take place. Can anyone help me please?
    Mriganka

    Follow Sumit's suggestion. If that doesn't work, then you will have to use a jdev setup to debug the flow and analyze more.
    --Shiv                                                                                                                                                                                                                                                                           

  • Extending a View Object

    Hello,
    Which is the best way to extend a view object and change the where clause?
    i am customizing sourcing module, at the search suppplier option in the negotiation tab
    I create a new Controller, and i change the standard controller to the button.
    I can only get the query itself but not the where to modify.
    suppliersearchvoimpl.setWhereClause("pv.vendor_name = :1");
    suppliersearchvoimpl.setWhereClauseParams(null);
    suppliersearchvoimpl.setWhereClauseParam(0,"AUTO HAUS");
         suppliersearchvoimpl.executeQuery();
    I use that, but it is not working.
    The standard class has a dynamic query.
    Thanks

    aj,
    take a look at this
    when i press the Search button, i am not getting anything
    public void processFormRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    OAApplicationModule am = (OAApplicationModule)oapagecontext.getApplicationModule(oawebbean);
                                  SupplierSearchVOImpl vo = (SupplierSearchVOImpl)am.findViewObject("SupplierSearchVO");
                             try
    vo.setWhereClause("pv.vendor_name = :1");
    vo.setWhereClauseParams(null);
    vo.setWhereClauseParam(0,"AUTO HAUS");
    vo.executeQuery();
    catch(Exception exception1)
    System.err.println(exception1 + " getting vendor category select");
    //super.processFormRequest(oapagecontext, oawebbean);
    thanks

  • View link accessor for master view object with bind variables

    Is there a way to set bind variables for a view object to which a view link accessor is used to retrieve a view row from a detail view row in a master-detail relationship ?
    I understand that RowSet (or Row) returned by a view link accessor originates from an "internally created" view object instance.
    I am using 10.1.3.0.4 JDeveloper.

    Thanks! that's right the bind variables when i use it on where clause must be required, so i change my sql to:
    Select /*+ use_nl(p p2) */
    'F' tipo_persona,
    p.ID_PERSONA, p.TDOC, p.NDOC, p.DENO
    From SINT_PERSONA p,
    ( Select /*+ index(a SINT_PERSONA_IX2) */
    a.ID_PERSONA
    From SINT_PERSONA_DOCUMENTO a
    where ( NDOC = :p_cuit
    and :p_cuit <> 0 )
    ) p2
    Where p.id_persona = p2.id_persona
    AND (deno = decode(:p_deno,'null',null,upper(:p_deno)) or
    :p_deno = 'null')
    AND (NDOC = decode(:p_ndoc,0,null,:p_ndoc) or
    :p_ndoc = 0)
    and grado_confiab > 0
    and my bind variables:
    p_ndoc required default value 0
    p_cuit required default value 0
    p_deno required default value null
    and works ok!
    thanks a lot !!!!

  • Changing a Programmatic View Object's query at run-time

    Hi,
    I've created a programmatic View Object using the information in '35.9.3 Key Framework Methods to Override for Programmatic View Objects' in the Oracle Middleware Fusion Guide and bound it to a BarChart. This has worked fine using the following:
    String myColumn = "Quant1";
    protected void create() {
    getViewDef().setQuery(null);
    getViewDef().setSelectClause(null);
    setQuery(null);
    String myQuery = "SELECT Service as MyService, " + myColumn + " as MyValue FROM ColumnTestTable WHERE 1 = 1";
    getViewDef().setQuery(myQuery);
    setQuery(myQuery);
    I also have my data updating automatically. I have public properties in my viewObjImpl class which I can set and update the value of myColumn. I then thought it would just be a case of re-calling the create() method and the SQL would be updated and my chart would auto-update using the new column to select it's values, the value of the property updates and the create method is called but the chart doesn't display any different data and stops auto-updating. Does anybody know if this is possible and if so what I may have missed?
    Cheers, Tom

    Hi Timo,
    I moved everything to a different public method and solved the problem by firing the execute() method which I hadn't been doing previously and the chart updates with the correct data.
    However, once I execute the SQL my chart stops auto-updating with changes to the data in the database - do you know how I update the SQL query but keep my chart auto-updating? Perhaps I have to re-register for the registerDatabaseChangeListener for the query collection?
    Thanks in advance, Tom

  • View Object transient query object question

    One of the view object attribute is based upon a sql query as follows:
    Select count(*) from TABLE where TABLE.customer_id=<The customerId in each column returned>
    How do I configure this transient attribute?
    Thanks.

    Not sure what the exact requirement of this functionality is, but you can also get the size of the result by coding up something similar to the following:
    Build a generic read only vo with the sql like:
    select * from Employee
    Now use either ViewCriteria based search, bind variable or findByKey() method to filter for targeted match. for example using the programmatic bind variable method:
    ViewObject employeeVo= findViewObject("EmployeeVo");
    employeeVo.setWhereClause("ID=:id");
    employeeVo.defineNamedWhereClauseParam("id", null, null);
    employeeVo.setNamedWhereClauseParam("id", someid);
    employeeVo.executeQuery();
    long numberOfMatches = employeeVo.getEstimatedRowCount();
    Hope that helps.
    -Z

  • Querying detail records using a CALENDER CONTROL.

    Hello,
    I would be very grateful if anybody could help me on the problem
    I am having with a form I am developing to a customer of mine.
    It is a transaction form which records attendance information of
    employees. i.e. The time in and time out information.
    The transaction table TXN_MAIN has the following fields
    TXN_MAIN
    EMPMASTER_EMPNO, T_DATE, TIME_IN, TIME_OUR
    The other table is the employee master table EMPMASTER which has
    the following fields.
    EMPMASTER
    EMPNO, INITIALS, SURNAME, OTHER_NAMES
    The layout of the the blocks in the canvas is as follows.
    | EMPMASTER ( 1 record ) |
    |________________________|
    |
    |(FK)
    _______________ |
    | | |
    | Active X | |
    | Calender | |
    | Control | |
    | ( In Control | |
    | block ) | |
    |_______________| |
    |
    |

    Create a timer with a short duration. The in the
    WHEN-TIMER-EXPIRED trigger perform your execute_query code.
    null

  • Extending LOV View Object

    Hi Guys,
    Requirement - I have an oaf page which has got details like customer name and number which are styletext. Same page has got an lov Filed called contract number. Currently if i search by giving % in contract number lov field , its giving me all the contracts.
    Now my requirement is that i want to allow user to be able to search only those contract which are related to that particular customer. ie i have to capture the customer number or name at run time and display contracts related to that customer only without giving any value. Customer name or number will keep on changing. So i have to capture that value from main page and display contracts related to that customer in LOV page so that user can select only those contracts which are related to that customer.
    Thanks,
    Rajeev Singh Rajput

    The second 2 errors were solved by copying the ExpenditureTypeNoAwardLovVORowImpl.class to my myclasses directory under oracle/apps/icx/lov/server and then recompiling.
    I'm still not sure why an empty .java file was added to my project causing the first error. I was doing this extension on a machine with Windows 2000 and I had created a new workspace (other than toolbox.jws) when I got this error. When I did the same extension on a machine with Windows XP and in the toolbax.jws workspace, the empty .java file didn't get added to my project and I didn't get the first compile error. Not sure if one of these variables was the cause.

  • Displaying a Master with two detail view objects

    Hi,
    I have a situation where I need to relate a Master view object to two Detail view objects. Currently I am doing the lookup manually (using viewcriteria!) but I would much rather have the framework handle this. Does anyone know of a way to A: Link two details to one master and B: Display them on the same page.
    I am using Jdeveloper 9.0.3.3 (1205) and currently have a straight BC4J/JSP application with no struts or UIX.
    Thank you in advance for any help you can provide

    If I understand you correctly. You should just have to create two separate viewLinks. Add the datasource tags for the master and the two views via the viewlinks. Then use a rowKey to get the correct master.
    Hope that helps!

  • [Solved] Referencing another View Objects Bind Variables

    Hello,
    I have a Master view object and a detail object.
    The Master object, vProjects, has a bind variable :pProjectId that the user selects by using a selectOneChoice component. The View object vSections then shows only those Sections that have the selected ProjectId.
    I have a view link to get to the lower level which connects vSections to vRequirements.
    This works well except that the vRequirements lists all requirements that match the SecID I pass through the link. I need it to list only the ones that match the SecID AND the ProjectId chosen earlier.
    Is there a way to reference the bind variable that I used in vProjects inside of vRequirements?
    Thank you,
    Nelson
    Message was edited by:
    TheNelson

    Thanks, I can't believe I didn't think of that. I was rewriting queries and everything.
    Thanks again.

  • Master-detail with dynamic view object

    How can you create a view link with a view object that is dynamic? I have created a master-detail relationship on a UIX page. I change the master view object at runtime using a view definition and SQL and then I bind the view object to an iterator on a UIX page. I need the new dynamic view object to maintain the link between the detail view object. Is this possible?
    The reason why I have to change the view object at runtime is because I am implementing a search module and the tables in the from clause can be modified at runtime so I need to have a dynamic view object.
    Thanks,
    Sanjay

    After playing around with ViewObjectImpl's setQuery() method some more I found out that this solution might not work for me due to the following reason: when the user tries to sort a column in the result table, the original contents of the view object get executed instead of the run time query.
    <p>
    I would like to go back to my original solution that included creating a view definition based on the runtime query and then creating a view object from that which I bind to the RowSetIterator. The missing piece to the master-detail functionality is with the detail Iterator being in sync with the master. I have tried the following but I get a ClassCastException <p>
    DCIteratorBinding detailBinding = ctx.getBindingContainer().findIteratorBinding("DetailIterator");
    detailBinding.getViewObject().<b>setMasterRowSetIterator</b>(masterBinding.getRowSetIterator());
    <p>
    here is the relevant stack trace:
    java.lang.ClassCastException
    at oracle.jbo.client.remote.ViewUsageImpl.getImplObject(ViewUsageImpl.java:1829)
    at oracle.jbo.client.remote.RowSetImpl.setMasterRowSetIterator(RowSetImpl.java:512)
    at oracle.jbo.client.remote.ViewUsageImpl.setMasterRowSetIterator(ViewUsageImpl.java:1147)
    at oracle.jbo.common.ws.WSViewObjectImpl.setMasterRowSetIterator(WSViewObjectImpl.java:1005)

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

  • Possible bug when creating multiple detail view objects

    using jdev 11.1.1.0.0 to build jsf/adf applications. I wanted to report what seems like a bug in 11g. I have a parent table which has two child tables. After creating the appropriate entities, associations, views, and view links, the app module looks like this:
    MasterView
    --DetailView1
    --DetailView2
    The two detail view objects are on the same level, they are both direct children of the Master view.
    Here's what's happening:
    1) I create the master entity/view objects (MasterView)
    2) I create one of the detail entity/view objects (DetailView1).
    3) I create the association and view link to establish relationship between MasterView and DetailView1. Everything works fine.
    4) I create the entity/view objects for second detail view (DetailView2)
    5) When I attempt to create a second view link (based off an association) to establish the relationship between MasterView and DetailView2, the query clauses of the Create View Link wizard (screens 4 and 5) do not get created properly. I finish the wizard and save. Not only does this view link not get created properly, but in the process the query clauses that were defined in the first view link between MasterView and DetailView1 are wiped out. This will break any coordination between master and detail views in both the app module tester and runtime. Has anyone seen this problem?

    fyi, it looks like this issue has been resolved with jdev 11.1.1.0.2 (Update 2)

Maybe you are looking for