JBO-25036 when executing executeQuery of a view Object

I have a view object that performs a given query. when I call executeQuery the first time, it works perfectly. But on the second call I get the following error:
JBO-25036: An invalid object operation was invoked on type View Object with name SxIdiomaVO
Any ideas what this could be ?
Thanks a lot.
Sincerely,
John.

John:
This means that you're trying to call executeQuery() on a ViewObject that has been removed. This could happen if you call remove() on VO or if your AM became disconnected or checked in.
Once the AM is checked in, you should not use "dangling" reference to a VO inside the AM.
Could any of the above be the cause of your problem?
Thanks.
Sung

Similar Messages

  • ExecuteQuery method of view object taking much time to execute

    Hi All,
    I am using a view object and execute the VO query using executeQuery method in VOImpl java.
    But, problem is, it is taking long time to bring the results after executing the query after setting the parameters. Same query in TOAD gives 4 seconds. While executing using executeQuery method, it is taking 5 mins.
    It is urgent issue. Please help me. Thanks.
    Regards, Soorya

    Hi Kali,
    Thanks for your prompt response.
    Yes. It has bind parameters. I have printed the statement before and after the executeQuery method
    ++VOImpl Code snippet++
    setWhereClauseParams(params);
    System.out.println("before executing query:Time:"+System.currentTimeMillis());
    executeQuery();
    System.out.println( "after executing query:Time:"+System.currentTimeMillis());
    +++
    I have removed some conditions in the query as it is business confidential. Please find the jdev log.
    ++++++++
    before executing query:Time:1322071711046
    [724] Column count: 41
    [725] ViewObject close prepared statements...
    [726] ViewObject : Created new QUERY statement
    [727] ViewObject: VO1
    [728] UserDefined Query: SELECT DISTINCT
    ai.invoice_num invoice_num
    FROM ap_invoices_all ai
    , ap_checks_all ac
    WHERE ...
    ai.org_id = :p_orgid
    AND ac.id = :p_id
    [729] Binding param 1: ,468,
    [730] Binding param 2: 247
    [731] The resource pool monitor thread invoked cleanup on the application module pool, AM, at 2011-11-23 23:41:32.781
    after executing query:Time:1322072052875
    +++++++
    Regards,
    Soorya

  • Error when dynamically creating and binding view object

    Hi,
    I'm using JDeveloper 10.1.2.1.0 (1913) to create a JSP - Struts - ADF BC application.
    I'm trying to create a lov page that is based on a viewobject whose query (and bindings) are set at runtime (like Steve Muench shows in one of his undocumented ADF samples).
    In the prepareModel() I do the following:
    -unbindRowsetIteratorFromDynamicQueryIteratorBinding(...)
    -changeDynamicViewObjectQuery(...)
    -recreateRangeBindingForDynamicQuery(...)
    -removeControlBinding(...)
    -addDynamicRangeBinding(...)
    So I remove the existing binding, change the query of the viewobejct and recreate the bindings.
    I have got most of the code running except for 1 issue:
    1. The first time I call my Lov I get the a stacktrace (included at the end of this post). If I close the window and click the Lov button again it is working fine.
    Can someone help me out with this one???
    Here is the stacktrace I am getting:
    javax.servlet.jsp.JspException: An error occurred while evaluating custom action attribute "value" with value "${bindings.OpmerkingenLookupIterator.rangeStart}": An error occurred while getting property "rangeStart" from an instance of class oracle.jbo.uicli.binding.JUIteratorBinding (java.lang.NullPointerException)
         at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:146)
         at org.apache.taglibs.standard.lang.jstl.Evaluator.evaluate(Evaluator.java:166)
         at org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager.evaluate(ExpressionEvaluatorManager.java:112)
         at org.apache.taglibs.standard.tag.el.core.ExpressionUtil.evalNotNull(ExpressionUtil.java:85)
         at org.apache.taglibs.standard.tag.el.core.SetTag.evaluateExpressions(SetTag.java:147)
         at org.apache.taglibs.standard.tag.el.core.SetTag.doStartTag(SetTag.java:95)
         at web2d_inf._page._referentie._LovOpmerkingenLookup._jspService(_LovOpmerkingenLookup.java:131)
         [SRC:/WEB-INF/page/referentie/LovOpmerkingenLookup.jsp:28]
         at com.orionserver[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:349)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:220)
         at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
         at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
         at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
         at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
         at oracle.jheadstart.controller.strutsadf.JhsRequestProcessor.process(JhsRequestProcessor.java:385)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at oracle.jheadstart.controller.strutsadf.JhsActionServlet.process(JhsActionServlet.java:130)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.jheadstart.controller.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:176)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:600)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)

    Here is some more info:
    I can reproduce the problem using the code Steve Muench supplies in his undocumented ADF samples.
    If you add the following line to the jsp in the example code(browseResultsOfDynamicVO.jsp):
    <c:set var="rangeStart" scope="request" value="${bindings.DynamicViewObjectIterator.rangeStart}"/>You will get the behaviour I am facing.
    The first time in your session you enter a valid query and submit it you get a stacktrace. By refreshing the page it works.
    It looks like that when recreating the bindings at runtime something more is fone that isn't done at design time. So the first time the statement fails but once the bindings have been recreated at runtime it suddenly works....
    The main question is: what is it that is done at runtime and is missing at design time?

  • JBO-25049 When ApplyCriteria

    Hi,
    I have a JBO-25049 error message when I search in a view object.
    My JSP page is composed of deux iterators, Iterator Search
    and a Iterator Result and a submit button with value ="event_search".
    I have declared a DataForwardAction on this JSP page with two methods :
    public void onSearch(DataActionContext ctx) throws Exception{
    try{      
    DCBindingContainer bc = ctx.getBindingContainer();
    DCIteratorBinding deptIter = bc.findIteratorBinding("FicheCandidatIterator");
    ViewCriteria criteria = deptIter.getViewCriteria();
    deptIter.getViewObject().applyViewCriteria(criteria);
    deptIter.executeQuery();
    deptIter.setFindMode(false);
    catch (Exception e)
    System.out.println(e.getMessage());
    protected void prepareModel(DataActionContext ctx) throws Exception { try{
    super.prepareModel(ctx);
    ctx.getBindingContainer().findIteratorBinding("FicheCandidatCriteriaIterator").setFindMode(true);
    catch (Exception e)
    System.out.println(e.getMessage());
    The error message appears the second time after I have a query without result otherwise results are well displayed.
    I suppose the problem is activated by the ViewCriteria.
    Have you got a solution ?
    Thinks for your answer.

    Hi,
    I noticed this in another thread and tried already, although it is not clear to me how this should work. In what JNDI tree should the data source be looked up? The Junit test cases run in JDeveloper, without any weblogic server running.
    In any event, I tried using data source java:comp/env/jdbc/<connectionName>DS (what JDeveloper suggests) and I get a JBO-27200 JNDI error cannot lookup data source (translated to English by me).
    Best -
    Morten Heine.

  • Operation hasNext is invalid for a working set view object

    Can someone point me to soem documentation to why I'm getting this error? I'm obviously misunderstanding something fundamental.
    Thanks

    I have an application module with a client method as follows:
    public void setUserCredentials(String username, String password)
    UserAccountViewImpl vo = getUserAccountView1();
    vo.setWhereClauseParam(0, username);
    vo.setWhereClauseParam(1, password);
    vo.executeQuery();
    if (vo.hasNext()) (BREAK POINT TWO)
    vo.next();
    I have a struts action that is based on the BasicADFAction class in the tech paper "Oracle ADF Data Binding Primer and ADF/Struts Overview"
    by Steve Muench.
    public class IsLoginValidAction extends BasicADFAction
    protected ActionForward performActionLogic(ActionMapping mapping,
    ActionForm form, HttpServletRequest request, HttpServletResponse response)
    throws Exception
    .... other code that gets username and password from form
    DatamartModule am = (DatamartModule)getApplicationModule("DatamartModuleDataControl", request);
    am.setUserCredentials(username, password);
    ViewObject vo = am.findViewObject("UserAccountView1");
    if (vo.getCurrentRow() == null) -- BREAK POINT ONE
    ae.add("InvalidDetails", new ActionError("error.IsLoginValidAction.InvalidDetails"));
    return mapping.findForward("LoginError");
    UserAccountViewRowClient vr = (UserAccountViewRowClient)vo.getCurrentRow();
    .... do some other checks with the user account
    As you can see the above Action calls setUserCredentials(). What is driving me mad is the following. If I enter a valid username and password in the login page and reach break point one the method vo.getCurrentRow() returns null which is not what I expect!
    If I re-submit my login details again, when I reach break point one for the second time vo.getCurrentRow() is not null??
    I have also set a break point two just to make sure setUserCredentials is working and it always brings back a row when I enter the correct details. So why in the action when I select the same view object the current row is not available to me but is available the second time round?? I'm I missing something fundamental??
    I had some feedback on metalink where oracle support set check that the vo.isExecuted() == true and if it isn't then re-execute the query. I couldn't see why I should do this but I did. I found that vo.isExecuted is false the first time round but true the second time. It appears the first time round I am implicitly getting the query to execute for the first time even though I believe I have already done this in the setUserCredentials method.
    After adding a vo.executeQuery() I obviously needed to add code that obtained the row. As soon as vo.hasNext() is called I get:
    oracle.jbo.InvalidOperException: JBO-25048: Operation hasNext is invalid for a working set view object.
         at oracle.jbo.common.ws.WSObject.invalidOperation(WSObject.java:44)
         at oracle.jbo.common.ws.WSRowSetIteratorBase.hasNext(WSRowSetIteratorBase.java:381)
         at view.IsLoginValidAction.performActionLogic(IsLoginValidAction.java:66)
         at view.BasicADFAction.handleLifecycle(BasicADFAction.java:64)
         at view.BasicADFAction.execute(BasicADFAction.java:46)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:228)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:600)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    I must misunderstand something fundamental. Any help would be really appreciated. Basically in my client code (The struts action) I want to access a single record that is based on a view. I prepare the view object by calling a custom service level method to set the username and password and execute the query.

  • Expert mode query in View objects and appended where clause

    My company is Oracle Member Partner and we are developing enterprise web applications using Oracle database and BC4J.
    I have the following problem...
    When I enable EXPERT MODE option in View Object I have trouble appending to query statement in my client code.
    I need expert mode because I must use "SELECT DISTINCT" insted of "SELECT" in my query.
    It looks something like this:
    viewObject.setWhereClause("CLA_ID = " + claId);
    viewObject.executeQuery();
    SQL query from View Object becomes sub-query and fails to execute:
    select * from (original view object query) where (... appended where clause)
    Order by part of the query causes sql errors because original query is now sub-query.
    Is there any way around this?

    I tried creating an expert mode SQL query:
    SELECT DISTINCT EMPNO, ENAME FROM EMP.
    Then at runtime I do:
    vo.setWhereClause("ENAME LIKE '%'||?||'%');
    vo.setWhereClauseParam(0,'A');.
    and this works fine. The trick is that since expert-mode view objects get wrapped as inline views (to allow runtime appending of WHERE clause, actually), you need to select any column in the select statement to which you want to later refer in a dynamically-appended where clause.
    If you want to prevent the inline-view wrapping, you can write the following code in your view object's ViewObjectImpl subclass to force the VO to NOT be treated as an expert-mode SQL VO.
      // Goes in your view object impl subclass
      public void create() {
         // Force this VO to NOT be treated as an expert-mode SQL, so that
         // its query does not get wrapped as an inline view.
         getViewDef().setFullSql(false);
      }I used this trick above to create an expert mode query like:
    SELECT DISTINCT deptno FROM empand then at runtime I add a dynamic where clause that refers to a column
    in EMP that is not in the select list like this:
        ViewObject vo = am.findViewObject("View1");
        vo.setWhereClause("ename like '%A%'");
        vo.executeQuery();
        System.out.println(vo.first().getAttribute(0));and this causes the query to come out as:
    SELECT DISTINCT deptno FROM emp WHERE ename like '%A%'.
    instead of:
    SELECT * FROM (SELECT DISTINCT deptno FROM emp) QRSLT WHERE ename like '%A%'which would cause an error due to the fact that ename is not in the select list of the original (wrapped, inline) query.

  • Does 10g App Server timeout AppModule or OC4J View objects

    Hi,
    My occasionally/AD/struts web application is running on the 10g server. If I keep the app open for a while (~10minutes) and then hit some of the control buttons on the
    web page, I occasionally get the the error JBO-29000 "unexpected error during
    framework operation - null pointer" error. The stack trace shows that when I ask
    for OC4J view objects from the AppModule, the view objects being delivered are null. The rows are not null, the view object itself is null.
    Is OC4J timing out my view objects or my AppModule?
    What can I do about this?
    Thanks Very Much, JK

    Sounds like a 'collective' error message. You need to look at errors in the stack trace.

  • View Object with Multiple updatable entities

    Hi all
    I'm using JDeveloper 11g, and ADF BC.
    I have a view object based on 5 entities and 3 of them are updatable. If I execute create of the view object, just the first entity is created. I've been searching some information and I have found this
    http://download.oracle.com/docs/html/B25947_01/bcadvvo009.htm#CEGCAJCI
    In the explample it says // The view row will already have created "blank" entity instances, but instead of having blank entity instances i'm getting null.
    Any help?
    Thank you
    Joseba

    Uncheck "Reference" for every Entity that you want to be created anew when you create a new row.
    When you check "Reference" then the framework will try to find the referenced entities in the entity cache and the database, but will not create new ones during row creation.
    Sascha

  • BC4J: problems creating view object with multiple entity objects

    Hi,
    I working with a view object which contains two entity objects with parent-child relationship like this:
    ViewObject - ParentEntityObject - PId
    PAttribute
    CId (FK)
    (- ParentChildAssociation)
    - ChildEntityObject - CId
    - CAttribute
    The 'Read Only' and 'References' options are checked for the association in the view object.
    I'm creating a new row using this view object. The parent object should be created new and the child object already exists in the database, so I'm setting only the attributes of the parent object (including foreign key).
    After creating the row I display it in a jbo:DataTable and only those attributes coming from the parent object are displayed. The attributes of the child object are not set. After a commit all attributes appear.
    The problem is, that I want to display the new row with all attributes to the users BEFORE they commit.
    I tried to set the child attributes, but they are read only by definition and even when I unchecked the 'Read Only' option and set the attributes to 'Always Updateable' in the view object it is giving me
    JBO-27008: Attribute set for CAttribute in view object ViewObject failed.
    Is there a way to make all attributes of the child object visible in the view object without committing changes?
    (JDev 9.0.2.822)
    Any help would be appreciated.
    Regards,
    Christian

    Once again the structure, sorry.
    ViewObject
    |-ParentEntityObject
    ..|-PId
    ..|-PAttribute
    ..|-CId (FK)
    |-ParentChildAssociation
    |-ChildEntityObject
    ..|-CId
    ..|-CAttribute
    Christian

  • Questions on ADF View Objects, Links and Iterators

    I have a number of questions regarding using ViewObjects in applications where there are alot of relationships between tables.
    First, lets say that I have ViewObject SomeView that was added to the App Module (AM) as VO1. And because it has a number of "detail" records that have to be iterated through in a "report like" view it has those other VO's added under it as "children" in the AM.
    So I have
    VO1 (an instance of SomeView)
    --> VO2 (an instance of some other view)
    --> VO3 (an instance of some other view)
    that is used on pages where only a single VO1 is shown at a time.
    Now because I had another page I wanted to make that had a listing of all SomeView objects. Some of the fields in SomeView are foreign keys to records in VO2 and VO3 and while I don't want to show all the fields from VO2 and VO3, I do want to show a name field from each rather than just the foreign key.
    My experience (though I've never read this anywhere) tells me that when doing a "table" that is a list of rows from a VO, you can't display info from the child VO's because the child VO's are on whatever record corresponds to the "currentRow" in the parent VO and just displaying the rows in a rangeSet doesn't make each the "currentRow" so even we display 10 records in a for loop, the "currentRow" is just one, and the child VO's iterators aren't moved as we go through the for loop. (Can someone confirm if I am correct on this conclusion????)
    So the only way I know of to show some field from a related table in each row is to make the VO have the entity objects from the related tables be part of the view as references. Is this the only way?
    If I do that on a view that didn't have other views as children defined in the AM I don't have any problem and it works like I want.
    But if I do it on a view that did have other views as children defined in the AM it makes the page(s) using that view with the children iterators behave badly. Half the information quits showing up, etc.
    For example, ... if I go to the "SomeView" which was defined with only one entity object association, and I add the entity objects (that are the basis of instances of VO2 and VO3 ) as referenceable only, it totally breaks the page where I display a single VO1 and use it's VO2 and VO3 children. IS THIS NORMAL OR AM I MISSING SOMETHING?
    So, is the solution that I have to have more view objects defined for different purposes ?
    Can anyone give any general guidelines for when/where to use different view objects vs. when to use different iterators. I'm not having much luck with using secondary RSI's and haven't found much info on them.
    Also, how about issues of naming iterators that are in various binding containers (ie. UI Model for a page). If I do and LOV it creates an iterator and gives it a default name like ViewNameIterator1. If I already have a different page that uses a regular (non LOV) iterator with that name, and the user goes back and forth between those pages, is that a clash?
    Finally, I've read a couple of Steve Muench's blogs on View Link consistency but I'm not sure what the rules are on when it applies and doesn't. How you turn it on or off, etc. One of his examples in http://radio.weblogs.com/0118231/2004/02/27.html talks about it in the context of two view objects that are NOT typically "linked" in a master/detail kind of way. Like an AllDepartments and a DepartmentsLessThan view. Do you have to create a View Link between them to have results of one be reflected in the other if they aren't used in the same page in a web app? Or does it happen automatically (with the caveat that you have to do the rowQualifies method). Just feels like I'm missing some pieces.
    Thanks in advance,
    Lynn

    Hi,
    I am also interested in a best-practice note from oracle.
    Currently we store history in seperate history tables for columns that changed. All this implemented in our BaseEoImpl overriding the EntityImpl.prepareForDML().
    Thanks

  • Problem exposing Accessor Methods on View object (ViewRowImpl.java)

    JDeveloper 9.03
    I have a view link, ViewLinkSourceDest, that links two view objects Source and Destination. Each view object has its respective ViewRowImpl.java file created.
    I have selected "Generate Accessor in View Object" in View link Properties of the View Link Wizard for both source and destination view objects.
    The correct Accessor methods are available in both the source and destination ViewRowImpl files.
    When I access the Source accessor method from the DestinationViewRowImpl object I receive the following error:
              ORA-00904: invalid column name
              It is also is displaying the Source view object's SQL statement with the (:1 = Destination.ID) where clause.
    The error is occurring when trying to retrieve the view object using this type of method call:
              Row r = this.getSourceView();
    After further investigation I have found an example set of view objects in which the error does not occur. The difference was in the ViewLink.xml file.
    The ViewLink.xml file that accesses the Accessor with the error begins like this:
              <ViewLink     
                   Name="ViewLink"
                   Where=":1 = Destination._ID" >
    The ViewLink.xml file that accesses the Accessor with no error begins like this:
              <ViewLink     
                   Name="ViewLink"
                   EntityAssociation ="SourceDestAssociation" >
    suggesting that the use of an association would resolve this problem.
    I was not able to create a View link based on an association that would generate a ViewLink.xml file that ressemble the successful file above. I could however manually add the correct entry to the xml file that caused the error and sucessfully access the Accessor method in the source object. This is not the final answer because the IDE will regenerate the ViewLink.xml file to its original state even if created with the appropriate Association.
    Is this a bug?
    Is the way the ViewLink.xml file created different in JDev 9.03 than in 9.02
    Is there something I am missing that is causing the ViewLink.xml file to generate incorrectly?
    Any suggestions would be helpful.
    Rob

    Steps to recreate:
    1 Create SomeSuperEntityImpl.java extended by SourceEntityImpl.java and DestinationEntityImpl.java entity objects.
    2 Create SourceView and DestinationView objects
    3 Create SourceDestinationAssociation linking the entity object Source PK to Destination FK
    4 Create SourceDestinationView linking Source and Destination view using the SourceDestinationAssociation
    View the SourceDestinationView.xml file and you will see that the viewlink has Where=":1 = source.src_id"
    This is the scenario that causes the initial problem with the Accessor Methods.
    If the SomeSuperEntityImpl.java is removed as the super class and the same procedure is followed you will get the desired 'EntityAssociation = "package.SourceDestinationAssociation"' in the SourceDestinationView.xml file .
    Hope this is a little clearer.
    Rob

  • JBO-25036: An invalid object operation was invoked on type View Object...

    Hi,
    Jdev 11.1.1.3 with BC & RC.
    HR Schema - Employees & Departments Table.
    In EmployeesViewImpl class overriding prepareVOForQuery() for adding dynamic where clause.
           @Override
        public void prepareVOForQuery() {
          DepartmentsViewImpl deptImpl = new DepartmentsViewImpl();
          int deptid = deptImpl.deptID();              //custom method in DepartmentsViewImpl returning deptid based on some condition
          setWhereClause("DEPARTMENT_ID = :bvdeptid");
          defineNamedWhereClauseParam("bvdeptid", null, null);
          setNamedWhereClauseParam("bvdeptid", deptid);
          super.prepareVOForQuery();
           public int deptID(){
          //return "IT_PROG";
          int int_deptid = 0;
          Row[] depts = this.getAllRowsInRange();
          for(int i=0 ; i < depts.length; i++){
            Row row = depts;
    String deptname = (String)row.getAttribute("DepartmentName");
    if(deptname.equalsIgnoreCase("it")){
    Number deptid = (Number)row.getAttribute("DepartmentId");
    int_deptid = deptid.intValue();
    break;
    return int_deptid;
    // The error is coming
    JBO-25036: An invalid object operation was invoked on type View Object with name DepartmentsViewImpl_2
    Can I call a custom method deptID() like above, in EmployeesViewImpl class from DepartmentsViewImpl?
    I need to change query based on some condition on page load in real scenario. I used beforePhase() but not giving perfect result.
    What is best way to do this, similar to above case. However, providing plain value giving no error.
    Thanks.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi!
    This doesn't work that way:
    DepartmentsViewImpl deptImpl = new DepartmentsViewImpl();Take a look at ApplicationModule#findViewObject() if your DepartmentsView is already in your data model, executed, and you want to re-use it.
    Otherwise take a look at ApplicationModule#createViewObject().
    Besides that, if you want to execute a VO, then call executeQuery() on it, don't rely on other operations like first() or getAllRowsInRange() to implicitly execute it for you.
    And: Why not use Number all the way through? Why the conversion to int? It will work in that example, since department ID is only NUMBER( 4 ). What if the ID column was a NUMBER( 22 )? int cannot handle that, not even close, so you should not make it a habit to convert to int.
    Sascha

  • Get JBO-27023 exception when programmatically inserting in view object

    I am using Jdev 11 R2 (11.1.2.3.0) JSF2 & Facelet
    In some use case I require to read information from some external source (a web service in this case)
    and Programmatically insert into Oracle DB
    I use below code to get view object from application module
    //from ADFUtils
         public static ApplicationModule getApplicationModuleForDataControl(String name) {
    return (ApplicationModule)JSFUtils.resolveExpression("#{data." + name + ".dataProvider}");
         public static ViewObject getViewObject(String appModCtrlNam, String viewObjCtrlNam) {
    ApplicationModule am = getApplicationModuleForDataControl(appModCtrlNam);
    return am.findViewObject(viewObjCtrlNam);
         ViewObjectImpl testVW =
    (ViewObjectImpl)ADFUtils.getViewObject("AppModuleDataControl", "View1");
    Row testRow = testVW.createRow();
         testRow.setAttribute("property1",value1);
         testRow.setAttribute("property2",value1);
         testRow.setAttribute("property3",value1);
         testRow.setAttribute("property4",value1);
         testVW.insertRow(testRow);
         and finally commit bounded task flow
         TaskFlowUtils taskFlowUtils = new TaskFlowUtils();
    taskFlowUtils.commitTaskFlow();
         public void commitTaskFlow() {
    getDataControlFrame().commit();
    public DataControlFrame getDataControlFrame() {
    BindingContext bindingContext = oracle.adf.controller.binding.BindingUtils.getBindingContext();
    String dataControlFrameName = bindingContext.getCurrentDataControlFrame();
    DataControlFrame dataControlFrame = bindingContext.findDataControlFrame(dataControlFrameName);
    return dataControlFrame;
         There are some inner objects so I need to repeat this logic for some other view objects (don't put it here to make post shorter)
         Every thing is OK but when number of record I read from that external source increased I will receive
         JBO-27023: Failed to validate all rows in a transaction.
         And system can not commit transaction
         What I mean about the increase in number of records is totaly 50 records not 10000 records
         I mean if I run my method with 3-5 records it is working fine , if I run it with 50 records I will receive JBO-27023
         I am using a method in application module to get sequence from DB and transaction in bounded task flow defined as "Always Begin New Transaction"
         Any idea where is wrong or what is work around?
         Thanks
         Mohsen

    Hi Frank
    I saw that blog from Jobinesh as he mentioned
    public String someAction() {
    BindingContainer bindings = getBindings();
    OperationBinding ob = bindings.getOperationBinding("doSomething");
    Object result = ob.execute();
    if (!ob.getErrors().isEmpty()) {
    return "error";
    return "success";
    But in my use case I need to insert into view objects programmatically not executing a method in app module
    What is they best way of doing this?Should I put this inserts as method in app module?
    and where I can find new version of ADFUtils?
    Appreciate your comments
    Regards
    Mohsen

  • JBO-27020 when the view has two or more entities

    I created a default view object for an entity and it did well. But when I append another entity in the view and try to update any field I get a JBO-27020 error (blablabla could not be resolved.).
    I4m using JDeveloper Release 2 (9.0.2.829).
    I read a lot of messages regarding this error and tried all the workarounds posted, but none of them solved my problem.
    Thanks...

    Is that correct? Every entity used in a view must have an association between then?Or they should atleast be linked by some join condition. Otherwise the result would be a cartesian product of two tables. Even that's okay. However that still doesn't answer why you were getting the Unresolved... exception. To get more clues on that you may want to post the stack-trace on that exception and/or the diagnostic output for your test-run.

  • Unable to view Variables when executing WAD Template in Browser

    Hello Experts,
                           I have designed a Template in WAD and the Query that was attached to the Template has 4 variables, but when i am Executing in Browser i am able to seen only 2 variables, Please let me know what is that Option to be checked so that i can view all my 4 variables in Browser screen.
    Thanks in Advance.
    Regards,
    Vishnu.

    Hello Mr.Janine
                             Yes the ready for input option is checked for all the variables. Now i am able to view all my variables what i have done is when executing WAD in browser, there is an Option ALL to be checked, then all the variables will be displayed.
    Thank u for showing Interest in my Issue,
    Regards,
    Vishnu.

Maybe you are looking for

  • Can't create file using FM File_Get_Name

    Hi guru, I have a program that creates a file to the system using fm fiel_get_name. Someone changed the OS in the SY-OPSYS from AIX(Application) to NT(file server). But the file seems is not there. Is there something wrong from changing the SY-OPSYS?

  • What are you using to create dynamic content?

    I'm new to the cisco DMP system and I'm trying to figure out how others are displaying dynamic content.  The built in designer is a bit limiting.  I've created a few elements in flash, but if the system does not like anything full-screen. I've used p

  • Setup.exe does not run

    Hi,everyone, I have a question about installing oracle 9i on windows 2000. I downloaded three zip files and recorded them on CD-Rs and extract them into three different folders on another computer. After the extraction, when I clicked on setup.exe in

  • Contracts and sales agreements.

    Hello All, I just want to understand what is sales contract and sales agreement. How we can set up these in ECC and CRM. How we can download these from ECC to CRM. Please help me. Thanks and Regards shanto aloor

  • SXI_CACHE error

    Hi everyone, When i execute SXI_CACHE, i have the error below. 1) Unable to refresh cache contents Error during last attempt to refresh cache 2) Start Delta Cache and Start Complete Cache Refresh are disabled in XI Runtime Cache Menu. 3) Log error sh