Combined View Object Refresh

Hi All
I have an adf jsp page that displays a viewobject and allows edit delete and create functionality.
This viewobject is a combination of 3 entites, 1 is updatable and 2 are reference.
Some descriptions come from the reference entites and are populated from lov on a create/maintain jsp that is linked to the same combined viewobject.
The problem is that when I create or modify the viewobject the new attributes are not visible until I commit to the database and refresh the query.
Is there any way that I can display these values before a commit and refresh?
Any help or ideas would be greatly appreciated.

Anyone ?

Similar Messages

  • Issue :  Child view object refresh problem,

    Hi ,
    Child view object refresh problem,
    Detail expaination of problem with DEPT and Emp table:
    I have two pages first.jspx and secound.jspx
    In the First page we are showing one department and All Employee blongs to that department. Employees are shown in table format.
    and i have duplicate button in table--> this will create a duplication record of selected employee by calling application module
    and the control moves to sencound page to show the newly created Employee details.
    From secound form am returning back with some action button to previous page to the same dept , The newly created records are not showing in the table [but the database has newly crated].
    How do i refresh the child view object ?
    Regards,
    Bogi.

    Hi Frank,
    We are creating new record from the AM with help of ADFBC.
    Would like know how to refresh UI Datacollection and AM view objects.. ? i have added vo.executeQuery in AM . But the changes not reflecting in UI,
    Thanks for the reply... am ready to give any other info required,,,

  • Refreshing the screen using a View Object

    Hi Experts,
    Here is my requirement.
    I have a View Object which queries the database and displays the results.
    So I want to my VO to be executed when I click on Refresh button.
    How can I achieve this?
    Is there any example for this?
    Thanks in advance

    I think the mistake u did is populating the collection/entity of your custom view in some other place rather than on_new_focus method of the context class. So when u first time come to the view, it is calling your custom code and populating your custom view. But when u click new, it is not executing that method and it is not refreshing. on_new_focus is called everytime
    you change to new or open in edit mode..that method should be declared as event handler method..
    Move your code to the on_new_focus method of the particular context node. see standard codes how that is created and used...
    e.g. you can see the component/view BT112H_SC/Details, context node BTPARTNERSET and method CREATE_BTPARTNERSET of CL_BT112H_S_DETAILS_CTXT of how it is used.

  • How to prevent creation of view object rows when using browser refresh butt

    HI i have the following problem:
    I have a creation form using a partial submition. The problem is that if i have entered some value by using autosubmit , this value will be setted as attribute in the ViewObject . After that if i click refresh button of the browser then the new Row of the view object will be created and i will have a pending row with setted attribute. So if execute commit then the both rows will be tried to commit. How can i prevent this?
    Krasi

    Hi,
    If i've understood you have a invokeAction that create a new row, right? If yes put on condition that it invokeAction won't invoke if is a postback.
    Let me know if i miss understand your doubt.
    Best Regards

  • View Objects in the shared application module is not refreshing

    Hi ,
    I have view objects defined shared apps module. This view objects are used for creating lovs which won't change very frequently. I have set the AutoRefresh=true for this view objects. I do have a UI to update the underline table for these lovs. The view objects defined in the shared application module is not getting reflected even I add a new value in the database. Is there any way to refresh these lovs as soon as its added to db?
    Thanks
    Suneesh

    I will explain my scenario ;
    I have a view object(ViewA) where I have defined many LOVs for different attributes. Thes LOVs are using the shared application module's view object (shared_view1,shared_view2...etc) as List DataSource. Where exactly I need to set the auto refresh property=true. Currently I have set all of my shared apps view objects's(shared_view1,shared_view2...etc) autorefresh property=true.Do I need to use the autorefresh =true in the ViewA ?
    What is the concept of autorefresh=true ? Wiill it refresh automatically the view object nexttime i am accessing the page after the db inserts ? Is there any time delay there ? if there is it something configurable ?
    Thanks
    Suneesh

  • Problem refreshing View Object

    Hi all,
    I have one problem with refreshing VO. I am adding rows in the VO programatically but i am not commiting the data. If I add more then 10 records in the VO I cant view all the rows. I am only getting the rows from the first page (the first 10 rows). I dont get the option to navigate and cant go to other pages in the table. But if I commit the data I can go trought all pages in the table.
    Anyone has solution for this???
    Thanks

    I just discovered that i can only have 10 rows of uncommitted data in the view object. The others are not shown in the table but they exist in the VO
    Any ideas???
    BTW I'm using version 10.1.3.4
    Edited by: ScarfaceMkd on Mar 9, 2010 6:44 AM

  • View Object Transient attribute, refresh problem.

    I have a VO which contains 3 entities joined. I added it a transient attribute with Groovy expression. My expression is : ReplyView.count("ReplyId"); , it counts two VO relationship. it counts normally but, when i insert a new reply, it doesnt refresh/update/recalculate the value. Whats the problem?

    The dependency values referred to are accessed when you edit the transient attribute in the view object. On the left hand panel select dependencies and shuttle the columns that the transient is dependent on. I don't think this matters for non-entity based views since the SQL is fixed but for entity based views this assures the dependent columns are added to the query even if they are not needed by the page.
    http://docs.oracle.com/cd/E21764_01/web.1111/b31974/bcentities.htm#ADFFD20177

  • Jdev 1013  ADF - View Object not bound - Refreshed page not showing ctrls

    I have a view object that i am using for input form on a page by exposing in a data control.
    When the form is submitted it does some db operation based on user input and comes back.
    My problem is when i enter the same page again for doing another operation of the same kind,
    i refresh this view object in one of the application module's methods.
    When the page shows up eventually, i am not finding the input fields on them.
    I guess there is some sort of binding issue to the view object here.
    The code in the application module's method to refresh the view module is as simple as:
    getVParams().clearCache();
    VParamsRowImpl row =
    (VParamsRowImpl )getVParams().createRow();
    row.setValue(100);
    getVParams().insertRow(row);
    Any idea why the bindings is not picking up the new row and connecting it to the form?
    By the way i am calling the same method when displaying the form for the first time it works. Only
    the subsequent calls to the form messes up.
    Any help will be much appreciated.

    Yes i am calling my custom method in application module. I understood that the same page bindings get invoked in two parts, once when the page is loaded and once when the values are submitted by the user. When the bindings are executed when the user is submitting the data from the page adfFacesContext.postback is true and at that i am not interested in creating the new row again by calling my method. Hence this condition in invokeAction. When i debug, the methods are getting called properly. Only when the page is rendered again, it is not picking up the new row.
    I am working around this now, by creating the row only once from the appmodule's method and then reusing the same created row in subsequent loadings by resetting the attributes alone.

  • Af:table is not showing records until doing refresh of the view object iter

    Hi Experts,
    I am using JDeveloper 11.1.1.4 and i have a page whhich shows records of a particular read only view object as an af:table. When i run the page at first it is not showing any data at all . But there are 2 records when i run the query of that read only view object.In my page there is a link called "Refresh" which calls the "Execute" operation of the view iterator of my view object. When i click this link the table shows two records.Why the table does not show records once wehn the page is rendered?
    Please help me.

    The following is the code that shows the panel collection in my page.
    <af:panelCollection id="pc1" featuresOff="freeze, wrap"styleClass="NewStyle">
    <f:facet name="secondaryToolbar">
    <af:toolbar id="t1" styleClass="Secondary">
    *<af:query id="qryId1" headerText="Search" disclosed="false"*
    *value="#{bindings.salesInvoiceAuthorisationCriteriaWaitOnlyQuery.queryDescriptor}"*
    *model="#{bindings.salesInvoiceAuthorisationCriteriaWaitOnlyQuery.queryModel}"*
    *queryListener="#{criteria.processQueryForSalesInvoice}"*
    *queryOperationListener="#{bindings.salesInvoiceAuthorisationCriteriaWaitOnlyQuery.processQueryOperation}"*
    *displayMode="compact"*
    *saveQueryMode="readOnly" maxColumns="2"*
    *modeChangeVisible="false" styleClass="Minimal"*
    *conjunctionReadOnly="true"*
    *resultComponentId="::t2"/>*
    </af:toolbar>
    </f:facet>
    <af:table value="#{bindings.salesInvoiceAuthorisation1.collectionModel}"
    var="row"
    rows="#{bindings.salesInvoiceAuthorisation1.rangeSize}"
    emptyText="#{bindings.salesInvoiceAuthorisation1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.salesInvoiceAuthorisation1.rangeSize}"
    rowBandingInterval="0"
    filterModel="#{bindings.salesInvoiceAuthorisation1Query.queryDescriptor}"
    queryListener="#{bindings.salesInvoiceAuthorisation1Query.processQuery}"
    filterVisible="true" varStatus="vs"
    selectedRowKeys="#{bindings.salesInvoiceAuthorisation1.collectionModel.selectedRow}"
    selectionListener="#{bindings.salesInvoiceAuthorisation1.collectionModel.makeCurrent}"
    rowSelection="none" id="t2"
    columnStretching="column:accountNameColumn"
    binding="#{processDocuments.invoiceTable}"
    contentDelivery="immediate"
    partialTriggers="::c111 selectToPost ::qryId1"
    styleClass="newTableStyle" autoHeightRows="9">
    <af:column filterable="false" sortable="false"
    headerText="#{bindings.DocumentAuthorisationView1.hints.ToPost.label}"
    id="c18" align="center"
    styleClass="#{row.bindings.ToPost.inputValue ? 'RowSelected' : ''}"
    width="103">
    <af:selectBooleanCheckbox id="selectToPost"
    value="#{row.bindings.ToPost.inputValue}"
    autoSubmit="true"/>
    </af:column>
    <af:column sortProperty="DocumentName" filterable="true"
    sortable="true"
    headerText="#{bindings.salesInvoiceAuthorisation1.hints.DocumentName.label}"
    id="c11"
    styleClass="#{row.bindings.ToPost.inputValue ? 'RowSelected' : ''}"
    width="107" filterFeatures="caseInsensitive">
    <af:outputText value="#{row.DocumentName}" id="ot1"/>
    </af:column>
    <af:column sortProperty="ExternalReference" filterable="true"
    sortable="true"
    headerText="#{bindings.salesInvoiceAuthorisation1.hints.ExternalReference.label}"
    id="c10"
    styleClass="#{row.bindings.ToPost.inputValue ? 'RowSelected' : ''}"
    width="105" filterFeatures="caseInsensitive">
    <af:outputText value="#{row.ExternalReference}" id="ot8"/>
    </af:column>
    <af:column sortProperty="DocumentCategory" filterable="true"
    sortable="true"
    headerText="#{bindings.salesInvoiceAuthorisation1.hints.DocumentCategory.label}"
    id="c9"
    styleClass="#{row.bindings.ToPost.inputValue ? 'RowSelected' : ''}"
    width="105" filterFeatures="caseInsensitive">
    <af:outputText value="#{row.DocumentCategory}" id="ot11"/>
    </af:column>
    <af:column sortProperty="CrDr" filterable="true"
    sortable="true"
    headerText="#{bindings.salesInvoiceAuthorisation1.hints.CrDr.label}"
    id="c4"
    styleClass="#{row.bindings.ToPost.inputValue ? 'RowSelected' : ''}"
    width="52" align="right">
    <af:outputText value="#{row.CrDr}" id="ot9">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.salesInvoiceAuthorisation1.hints.CrDr.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="BaseDate" filterable="true"
    sortable="true"
    headerText="#{bindings.salesInvoiceAuthorisation1.hints.BaseDate.label}"
    id="c8"
    styleClass="#{row.bindings.ToPost.inputValue ? 'RowSelected' : ''}">
    <f:facet name="filter">
    <af:inputDate value="#{vs.filterCriteria.BaseDate}"
    id="id1" contentStyle="text-transform:uppercase;">
    <af:convertDateTime pattern="#{bindings.salesInvoiceAuthorisation1.hints.BaseDate.format}"/>
    </af:inputDate>
    </f:facet>
    <af:inputDate value="#{row.BaseDate}" id="ot6" contentStyle="text-transform:uppercase;">
    <af:convertDateTime pattern="#{bindings.salesInvoiceAuthorisation1.hints.BaseDate.format}"/>
    </af:inputDate>
    </af:column>
    <af:column sortProperty="ExternalAccountCode"
    filterable="true" sortable="true"
    headerText="#{bindings.salesInvoiceAuthorisation1.hints.ExternalAccountCode.label}"
    id="c6"
    styleClass="#{row.bindings.ToPost.inputValue ? 'RowSelected' : ''}"
    filterFeatures="caseInsensitive" visible="false">
    <af:outputText value="#{row.ExternalAccountCode}" id="ot3"/>
    </af:column>
    <af:column sortProperty="AccountName" filterable="true"
    sortable="true"
    headerText="#{bindings.salesInvoiceAuthorisation1.hints.AccountName.label}"
    id="accountNameColumn"
    styleClass="#{row.bindings.ToPost.inputValue ? 'RowSelected' : ''}"
    filterFeatures="caseInsensitive">
    <af:outputText value="#{row.AccountName}" id="ot4"/>
    </af:column>
    </af:table>
    </af:panelCollection>
    Edited by: Priya on Nov 22, 2011 12:22 AM

  • How to refresh view object in doDML

    How can i refresh an view object in the doDML Method?

    How are you changing the key? - is it using the iterator or attribute value in bindings (or) directly thru the view object.
    if you are doing directly on the view object, on commit - you might have to refresh the iterator by calling executeQuery method on it.
    BindingContext bctx = BindingContext.getCurrent();
    BindingContainer bindings = bctx.getCurrentBindingsEntry();
    DCIteratorBinding dcIter = (DCIteratorBinding) bindings.get("DEPARTMENTS_VO1Iterator");
    if(dcIter != null){
    dcIter.executeQuery();
    }Thanks,
    Navaneeth

  • Is it possible to un-dirty a View Object?

    I have a transient view object that contains 4 attributes including 2 List of Values.  When selecting from the first List of Values object, the LOV will populate 2 attributes.  Using these 2 attributes will populate the other LOV.  Basically I have a cascading LOV combination.  Now after selecting a value from the last LOV will trigger a change value listener.  This change value listener will do some work in the background i.e., setting a session based object.
    Now everything works fine until I try to navigate through certain parts of the application.  It seems pending changes have been detected and because of this an exception is thrown, which causes the page to refresh but do nothing else.  Is there any way to un-dirty a View Object without having to do a Data Control Rollback Transaction call?

    Thank you for replying.
    Studio Edition Version 11.1.2.4.0
    As for the exception, it doesn't throw one.  I don't see anything in the console. The page just refreshes.  Usually in JSF when the page just refreshes and does not nothing, it sometimes means something bad has happened even though nothing is shown in the console..
    Anyway, I am assuming it's a pending data changes issue because when I explicitly add in the following code via a returnPopupListener:
    if (dataControl.isTransactionModified())
          dataControl.rollbackTransaction();
    everything works again i.e., I can navigate to the different pages.  There are no more page just refreshing issue.
    Excuse me for a stupid question. The View Object was built Programmatic and attributes are defined as transient.   This is what I mean by transient.  I may be incorrect here.  If so, how can I ensure that the View Object is transient?

  • Accessing view object class (impl) method from bean (or vice versa)

    Halo everyone, I am using JDeveloper 11.1.2.1.0
    I have a UsersViewImpl class with a method which refresh the user table like below.
    public void resetEmployeeSearch() {
    removeApplyViewCriteriaName("viewCriteria");
    executeQuery();
    and I have a UserBean class with a method which reset the search fields values like below.
    public void resetInput(ActionEvent actionEvent) {
    ........RichInputText = input ...
    input.setValue("");
    AdfFacesContext.getCurrentInstance().addPartialTarget(searchForm);
    I would like to implement it in such a way that, once I press a button, both methods will be called.
    I have tried to call from bean method using UsersViewImpl vs = new UsersViewImpl ..... which is wrong and wont work.
    I have read about doing something like ViewObject vo = am.findViewObject("DeptView1") but I duno how to use it because I cant have a proper example.
    Any suggestion on accessing view object class (impl) method from bean (or vice versa)?
    Or is there any way to combine both method in the same class ?
    Thank you :(

    User, if you get class not found exceptions you need to tell us which classes you can't find. The JSFUtils and ADFUtils classes needing some other libraries which should already be part of your Fusion Web Application template (which your adf application should be based on). If you did not use this application template, you may have to add some libraries yourself.
    What is the diff of using the ADFUtils and OperationBinding way?
    The ADFUtils can get you access to the application module which you then use to call exposed methods on. The disadvantage of doing this is that you have to implement your own exception framework which then handles exceptions thrown by the application module. An other thing is that if you e.g. alter a VO which you use on the page this changes are not seen on the page until you refresh the page. The binding layer does not know about these changes so the iterators (which are used on the page to show the data) are not refreshed and so you don't see the changes.
    In general you should avoid using the application modul in a managed bean method and always use the binding layer (OperationBinding) to call methods. This ensures that exceptions are all handled the same way and that changes to the data model are reflected in the GUI.
    Timo

  • Filter view object by selected values from list of values

    Hello,
    I've the following problem with my ADF Application. I have three view objects in my application module. Two of them are connected via a view link. For example take users, who are connected to their departments. The remaining view object consists of factories. Now I want to show the user/department dependency in a tree table and the available factories in a list of values. This list of values should be used to filter the shown users.
    I've already tried to use bind variables in the users view object. But I don't know how to fill them with the value of the list of values.
    Can someboy give me a tip how to solve this problem.
    Best regards,
    Enno

    Hi Enno,
    Try this:
    - Have a AM method with one parameter(which takes user from the list of values) and inside AM method write code to set the bind parameter value and execute the query
    Sample Code
    public void filterByUser(String user){
       //Get your UserViewObject instance to userVO
       userVO.setNamedWhereClauseParam("<Bind_Variable_Name>", user);
       userVO.executeQuery();
    }- Expose the method as client interface
    - Drop the method (Data Control) as a button on to the page and pass the listofvalues value as a value to the method binding param
    Something like this: ${bindings.<User>.inputValue}
    - Finally refresh the master and detail tables based on the ListOfValues selection by setting partialTriggers property to the listofvalues component id
    Hope it is clear
    Sireesha
    Edited by: Sireesha Pinninti on Oct 15, 2009 4:54 AM

  • ADF - Multple View Objects in one ADF table - Jdeveloper 11g

    Hi,
    I'm using Jdeveloper 11g, is there a way to use multiple view objects in one ADF table? And if so, do you have an example?
    In my case the view objects are not based on a database table they were created based on an ESB wsdl, one is for person and one is for address.
    Any information or pointers you could provide would be appreciated.
    Thanks!

    Hi,
    That would be a good solution, however, I'm supposed to see if there is a way to use the VOs that were created for person and address. Even better if the solution requires little coding.
    Is it possible to combine these two VOs into a single VO to use with an ADF table or to use both of them in a single table? Or is there some other solution that would enable me to use the person and address VOs in a similar manner?
    Thanks!

  • ExecuteWithParameter with Binds on several view objects

    I thought I knew how to do this, but it has been a month or two, and can't seem to get the syntax right. I would really appreciate some guidance on this.
    I'm using jdev 11 to create a basic page using ADF Faces. In the model, I have three seperate read only view objects based on queries I created in SQL Developer. I also have two lookup tables for use in LOVs to display names for IDs. In one of the views, I added two LOVs for id columns. I have one more lookup that displays name, id for Tech's.
    All three views have the same named bind variable - :TechID
    What I want is to have a single select box that displays the name column from Tech that will return the ID for TechID. When the user clicks the ExecuteWithParms, all three views should be refreshed and re-queried with the new bind value, and display the results. To see this work, I have been working with readonly tables, but eventually hope to use graphs for the three views.
    Here is the general layout that I am trying to achieve.
    Select One Choice (List of Techs with display set to name, and the return set to ID)
    ExecuteWithParams button. Currenly have table1, table2, table2 in the partialtriggers field.
    table1
    ViewObject1 that has a named bind of :TechID
    table2
    ViewObject2 that has a named bind of :TechID
    table3
    ViewObject3 that has a named bind of :TechID
    This seems like it should be easy to setup. Can this be done declaratively, or do I need code. If I need code, can I get a few hints?
    Is there an example that has something similar that I can gleen how to accomplish this?
    Thanks, Ken

    Timo et al,
    I still can't seem to get this to work. I finally worked through a problem with JDeveloper working (Feels like it has been April 1st for a week straight! (American Humor)). In trying to simplify this, I am asking if someone can create the following example use case based on the HR schema. I'm not asking for a paper, just 15 or so minutes from someone that is good at this to create a working example. Also, send me a zipped copy of the project, or make it available on your blog or other downloadable location.
    Thanks for any help with this to really understand how to get JDeveloper to work for me.
    Here are the specifics for a Highly desired example:
    This is based on HR schema.
    Read Only View Objects
    -- LOCATION_LKUP
    select
    (street_address || ' ' || city || ', ' || state_province || ' ' ||to_char(postal_code) || ' ' || country_id) as location_name,
    location_id
    from
    locations
    order by country_id, location_name;
    -- ViewObject DepartmentStuffView
    select *
    from departments
    where location_id = :LOC_ID;
    -- ViewObject EmployeeStuffView
    select * from employees
    where department_id in (select department_id
    from departments
    where location_id = :LOC_ID);
    -- Modify the AppService and ViewObjects to expose Java code to
    -- modify the (name)Impl.java file
    AppService Code
    public void updateViews(String locationID) {
         // Get a reference to the ViewObjects
    DepartmentStuffView vo1 = (DepartmentStuffView) getDepartmentStuffView1();
    EmployeeStuffView vo2 = (EmployeeStuffView) getEmployeeStuffView1();
         // Now have each view object requery itself with the new parameter
    vo1.updatewithParam(locationID);
    vo2.updatewithParam(locationID);
    ViewObject Code
    -- In both ViewObjects
    -- (DepartmentStuffViewImpl.java and EmployeeStuffViewImpl.java),
    -- add the following code at the bottom
    public void updatewithParam(String locationID) {
         setTechID(locationID);
         executeQuery();
    Layout:
    Location Name: ComboBox <== Displays LOCATION_NAME, Returns LOCAION_ID
    <Run Report> <== Button to run the process
    Table1
    The view object DepartmentmentStuffView
    Table2
    The View Object EmployeeStuffView
    Expected Behavior:
    Change the location in combo box and press the run report button.
    The data in both views with bind variables get updated.
    Extension:
    Page can have search with multiple filters. The AppService can control
    which views get updated with which values depending on selections. Common
    use case.
    Thanks so much, Ken

Maybe you are looking for