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

Similar Messages

  • How to filter View Objects on Main Page - Unbounded Task Flow

    Hi All,
    Version: 11.1.1.4
    I have a scenario where I am trying to filter the Employee information by EmployeeID and show their related Items. I can do this if I encapsulate Employee and / or Items in bounded task flows and expose their view Criteria in methods that I am setting on the App Module. I could also add the bind variable to the View Object queries. The problem I am having is that I want to display a pop up based on the item they select. My issue is that I can't seem to figure out how to either grab the item row selected and pass it to the pop up (Can't create a control flow from a page fragment to a page - which as far as I can understand the pop up in the task flow has to be a page and not a page fragment) or drop the employee view object and item view object on the main page and have them be filtered.
    So basically two issues:
    1. If I use the Employee and Item bounded task flows and place them as regions on the main page then I am having difficulties passing the row selection (item selected) and pass it to my pop up window (another task flow).
    2. If I place the employee and item view objects on my main page the original methods I am using to filter the data are not getting called at all. I have tried placing them in the adf-config task flow prior to my main page view and going into my main page page def and adding them as method calls in the binding.
    I am sure I am doing something wrong or maybe even creating an invalid approach, but I should be able to filter my employee and item data on load within my unbounded task flow or use the data within my bounded task flows and generate a popup with data I am collecting from my item row.
    As always greatly appreciate the feedback....still really ignorant with ADF.
    --S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    I figured out the issue Shay. I didn't have my pageFlowScope value set on the task-flow-call. So I had the parameter name and value set on the input of my downstream bounded task flow, but when I add the control to call the task flow I didn't have the task-flow call value set. That piece was not intuitive to me. It makes sense that it would have to know how to pass the value.....just wasn't sure where it should be set.
    --S                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to use view objects in entity impls?

    Hi!
    I would like to access a view object to implement business logic
    in an entity impl class method. How can this be done? More
    precisely I would of course like to do this in the context of
    the "current" Application Module the Entity "lives" in. I think
    this has to be possible because you can use a list validator for
    an entity objects attribute, which gets it's data out of a view
    object.
    Any help would be very welcome!
    Regards
    Stefan

    Stephan,
    Just to make things clear, View Objects access Entity Objects
    and you should implement your busines logic in the entity
    objects. This is the way BC4J was designed. It allows for
    reuse of your components and build different views (View
    Objects) ontop of Entity Objects.
    View objects do query the database and populate the entity
    objects. However, it is from the cached data in the entity
    objects where DML occurs (insert, update, delete). You want to
    put your validation at this level because you do not want to
    make a trip to the database if it does not validate.
    I recommend reading a whitepaper on J2EE development and
    BC4J. The URL
    http://otn.oracle.com/products/jdev/htdocs/j2ee_with_bc4j/j2ee_wi
    th_bc4j.html.
    Happy Reading!
    Hi!
    I would like to access a view object to implement business logic
    in an entity impl class method. How can this be done? More
    precisely I would of course like to do this in the context of
    the "current" Application Module the Entity "lives" in. I think
    this has to be possible because you can use a list validator for
    an entity objects attribute, which gets it's data out of a view
    object.
    Any help would be very welcome!
    Regards
    Stefan

  • 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

  • How to reset View Object row state to Unmodified

    Hi,
    My requirement is as follows. In my home page, I have a table listing master records with links to a master detail page. In this master detail page, the master is displayed in a form, and details in an editable table. There is also a button that is used to "Add 5 New Detail Rows". User will use this button to add multiple new detail records for insertion.
    Anyway, when user visits this master detail page, I should also programmatically add 5 new detail rows. For this, I define a custom method in the master view object class (called add5MoreRows()...see below), define the binding to this custom method and add invokeAction executable in the page definition.
    public void add5MoreRows() {
    DlistHdrVORowImpl row = (DlistHdrVORowImpl) getCurrentRow();
    createMoreLineDetailRows(row, 5);
    // Need to reset the master row state to Unmodified
    public void createMoreLineDetailRows(DlistHdrVORowImpl row, int howMany) {
    RowSet detailRowSet = (RowSet) row.getDlistLnVO();
    for (int i=0;i<howMany;i++) {
    Row detailRow = detailRowSet.createRow();
    detailRowSet.insertRow(detailRow);
    detailRow.setNewRowState(Row.STATUS_INITIALIZED);
    The problem here is when I add these detail records, ADF sets the master record to "dirty". My question is how do we reset the state of the master view object row to "Unmodified".

    Frank,
    That's my first thought. But I cannot find STATUS_UNMODIFIED in View Object. I understand the status can be set in Entity Object. How do we get ahold of Entity Object from View Object?
    Thanks.
    Message was edited by:
    user489605

  • How to create View Object with Multiple Updatable Entity Objects

    I want both the entities in the view object to support creating new rows but when i give create insert it allows to insert only on the parent and not the child. I found this link
    http://docs.oracle.com/cd/E21043_01/web.1111/b31974/bcadvvo.htm#CEGCAJCI which overrides the exiting classes. but i would like to do it declarative . Is there any other way to do it?
    I am using Jdeveloper 11g version 2.
    Thanks in advance,
    Rakesh

    But when i tried to add a new row it showed this error
    oracle.jbo.AttrValException: JBO-27014: Attribute LookupTypeId1 in FoundationModuleAM.VikLookupTypeBaseVO is required.
         at oracle.jbo.server.JboMandatoryAttributesValidator.validate(JboMandatoryAttributesValidator.java:224)
         at oracle.jbo.server.EntityDefImpl.validate(EntityDefImpl.java:3095)
         at oracle.jbo.server.EntityCache.validate(EntityCache.java:3599)
         at oracle.jbo.server.EntityImpl.validateEntity(EntityImpl.java:2285)
         at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:2464)
         at oracle.jbo.server.DBTransactionImpl.validate(DBTransactionImpl.java:4515)
         at oracle.insurance.viking.foundation.model.common.VikingDBTransactionImpl.validate(VikingDBTransactionImpl.java:46)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2008)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2352)
         at oracle.insurance.viking.foundation.model.common.VikingDBTransactionImpl.commit(VikingDBTransactionImpl.java:37)
         at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1590)
         at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1415)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1428)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
         at oracle.jbo.uicli.jui.JUActionBinding.actionPerformed(JUActionBinding.java:193)
         at oracle.jbo.uicli.controls.JUNavigationBar.doAction(JUNavigationBar.java:412)
         at oracle.jbo.jbotester.NavigationBar.doAction(NavigationBar.java:112)
         at oracle.jbo.uicli.controls.JUNavigationBar$NavButton.actionPerformed(JUNavigationBar.java:118)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

  • How to create view object for a predefined Oracle view

    Trying to create an entity object with no success,,,
    I have an Oracle view(complex query in PL/SQL) that I need to encapsulate as a View Object then represent a column from this view as a '' | | linkcolumn | | ''
    then get a reference of the requestParameter "p" in this case that I need to use as whereclause parameter on another view object that is part of the ListPage.jsp.
    The application is basically a page of organization links that when click filters their reports as a list,
    In Jdeveloper's context webBean(RowSetBrowser list [org links] to RowSetBrowser [org report list])
    Can I implement this functionallity using the wizards or possibly writing custom code using the standard webBeans.

    Jerry,
    First, you can create an entity object based on an Oracle view. If you check the "Views" checkbox in the EO wizard, you'll see a list of database views. Then you can create a view object based on your entity object, and use it like any other view object.
    As for getting the page into the format you want, I suggest you start by generating your page using the BC4J JSP wizard, then customize the generated JSP.
    Thanks
    Blaise

  • How to Create View Object Dynamically

    Hi,
    I hav a requirement to create a view object dynamically.
    can anybody plz help me.
    Thanks
    Nan:)

    Hi,
    oracle.apps.fnd.framework.server.OAApplicationModuleImpl amImpl = (oracle.apps.fnd.framework.server.OAApplicationModuleImpl)AM;
    OAViewDef viewDef = AM.getOADBTransaction().createViewDef();
    viewDef.setSql(sql.toString());
    viewDef.setExpertMode(true);
    //viewDef.setViewObjectClass("oracle.apps.fnd.framework.server.OAViewObjectImpl");
    //viewDef.setViewRowClass("oracle.apps.fnd.framework.server.OAViewRowImpl");
    oracle.jbo.ViewObject oaviewobject=amImpl.createViewObject("TableVO",viewDef);
    if(oaviewobject !=null)
    TableBean.setViewUsageName("oaviewobject");
    TableBean.setViewAttributeName("TncId");
    Thanks
    Nani:)

  • How to refresh View bind variables or is this a bug in Entity Validation?

    Maybe I am missing something. Here is the scenario:
    1. I got a create/edit form with a field (*tfA*) that is a af:selectInputText that launches a search form pop up.
    2. The form (which is tied to an Entity ADF object) has validations -both attribute specific and global (for lack of better term..) set up in the Entity Object Editor wizard.
    3. I noticed that when a global validation fails, when i launch the search form from tfA, it ignores whatever search criteria I enter (ie it retrieves all rows)
    Otherwise, the pop up search form works perfectly. I am wondering if I need to reset the bindVariable values somewhere or if it has something to do with a refreshCondition. What confuses me though is that it works just fine if the global (ADF Entity) validations don't fail.
    The pop up search form uses the default ExecuteWithParams action listener that calls a view with bindvariables. My JDev version is 10.1.3.4
    Any help is appreciated. Thank you.

    The issue turns out to be that the Global Entity Validation continues to fire even after you click on the find button on your selectInputText component. The Entity validation is interrupting the call to the View Object in my pop up search window because somehow clicking search on the pop up is submitting the originating form.
    I am still not sure if this is a bug that needs to be addressed or I was doing something odd but the solution is the following:
    in your *<af:selectInputText />,* add the following: *actionListener="#{bindings.Rollback.execute}"*
    This will prevent the validation from firing because it thinks that you are trying to submit the form when all you're doing is actually launching a search pop up.
    Hope that helps.
    Edited by: rrey on Aug 3, 2009 3:58 PM

  • JTable-How To Refresh View Of ScrollPane Containing Table

    Hi,
    How can I programatically refresh the view of a ScrollPane that holds a JTable so that when the table becomes visible, the row that is currently selected comes to view instead of the first row????
    Regards,
    Anil

    If you can figure out the coordinates of the selected row, which shouldn't be that hard, you can use scrollRectToVisible(Rect r) and the JViewport will do it for you

  • How to Refresh View Link and Associations

    hi all,
    How can I Refresh my viewlink and Association.
    Nani:)

    Can you provide your use-case, your query seems to be very generic

  • How to access View object programmatically and ...

    Hi,
    I have a hypothetical situation. I have for example a VO based on Emp and a data table in the UI with a button.
    When pressing this button I want to call a method that will programmatically read in teh values of the current row and then update a field in the UI (say an outputText).
    My problem is I am not sure where to pu this logic. I thought I shouldI create a new method in the Application module then bind that methid to the button. By having the code in the AM then it can easily access the VO attributes. But how can the method in the AM access the values in my backing bean and set them or read them ?
    I am not sure where to put the code - I could put it in teh backing bean and call teh application module from there but the manual doesn't really recommend that I think.

    This is probably logic that should be in the backing bean in a method that is activated from your button.
    The ADF Developer Guide shows you how to do it here:
    http://download.oracle.com/docs/html/B25947_01/bcservices005.htm#sthref681

  • JSP/BC4J app: How to get view object row data into a scriplet variable?

    I have a JSP application using BC4J data tags. Within a rowsetiterate tag, how can I get the data value of an attribute for the current row into a scriplet variable?
    Thanks,
    Steve

    Using the <jbo:Row> tag like this:
      <jbo:RowsetIterate .... >
        <%--
         | Establish a scriptable variable "curRow" for the current row
         +-->
        <jbo:Row id="curRow" action="current"/>
        <%
          String foo = (String)curRow.getAttribute("YourAttrName");
        %>

  • How to sort view object in backing bean

    Hello all ,
    I want to dispaly read only table in sortable way depending on one of attribute value.
    in backing bean I am trying to execute query by executeQuery method but it didn't work
    I have put column sort property to true but it does not work..
    please help me..
    I am using Jdevloper 11.1.1.2.0
    If any one required more details please post

    Hi,
    One way to achieve this is, add a method in your vo which does something like this
      public void customSortBy(String columnName){
      this.setOrderByClause(columnName);
      this.executeQuery();
      }Expose this method as client interface and add it to your pagedef as method binding.
    Once you are done, you can execute method from backing bean by passing the sorting parameter according to your need.
    -Arun

  • Modifying where clauses for View Objects in Backing Beans

    In studying the RichTable class I saw no get/set methods that would allow me to manipulate the underlying view instance and rowset for the table in the Backing Bean. I know there is a way to do it, but I having great difficulty in finding it. The tutorials show how to build view objects and display them, but I haven't seen a tutorial that show how to respond to events from the Web page and directly change the data model and what is displayed via the backing bean.
    Can some one point to a tutorial or give me an example on how I can change a view object via a backing bean?

    What you want to do is add a method to your View Object Implementation class that changes the WHERE clause with setWhereClause or addWhereClause. Expose the method to your client. Then call the method from your page by binding it to a commandButton or commandLink. You can bind it through a pageDef file or a backing bean.

Maybe you are looking for