12 Replies Latest reply: Mar 12, 2014 5:12 AM by PreethamChandra RSS

Problem with VO Substitution in framework page ByrAddrBkPG

jemar98 Newbie
Currently Being Moderated

Problem Description
---------------------------------------------------
I have extended AddrSummVO to include one additional column, substituted my new VO for the seeded, and tested the ByrAddrBkPG successfully from jDeveloper, and deployed the change to the middle tier EBS.  When testing the solution, I can confirm the substitution has not taken place and the seeded VO continues to be used.  I've confirmed my VO extension, confirmed the substitution, and can see the changes via the jdr_utils package in the database.   The substitution  is not occuring as expected.  ByrAddrBkPG is one of the subtab pages that is accessible by choosing supplier details from the SuppSummPG page.

I have found article 418682.1, which describes this problem exactly, but for R11.  This article also leads me to believe the problem persists in R12, however I cannot find a patch specific to R12 per this article.   I would like confirmation that this is a problem in R12, and what if any patch is available.  Thanks!

the full name of the seeded VO is oracle.apps.pos.supplier.server.AddrSummVO

Error Codes
---------------------------------------------------


Problem Category/Subcategory
---------------------------------------------------
E-Business Framework related Issues (Web/Browser based pages, OA/JBO exception, page personalization)

  • 1. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    Sushant Sharma Expert
    Currently Being Moderated

    Did you bounce apache server ?

    If not, please bounce and try again.

  • 2. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    jemar98 Newbie
    Currently Being Moderated

    Yes, I have bounced many times.  This is a normal step while deploying this type of customization.   The customization is adding the hz_party_sites.addressee into the VO.  hz_party_sites is already a component of the seeded view, so this customization added the addresse column into the result set and extends the VO ultimately allowing it to display on the page.  This customization works well exactly as expected, but only from jDeveloper, but does not work on the dev server where i am testing (our DV5 envrionment).

    I can verify that my extension is at least recognized, when I implement my change, bounce apache, and test, I receive an error message, which i've attached to this ticket.  I had hoped to receive the same error message within jDeveloper to better track down the root cause, but since jDeveloper works correctly, that is not possible. You will see in the error, reference to an extended controller class (XXF5ByrAddrBkCO) which is an attempt to catch the problem and better report details, however it appears simply accessing the extended VO the first time causes this error. 

    thank you

  • 3. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    PreethamChandra Journeyer
    Currently Being Moderated

    Check seeded VO , sometimes query is build dynamically in the VoImpl.java code .

    Those cases, you extension will be overwritten with the dynamic query.

     

    Give that a try.

  • 4. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    jemar98 Newbie
    Currently Being Moderated

    In the case of oracle.apps.pos.supplier.server.AddrSummVO, there is NO impl class, only a rowimpl class, which contains nothing more than get and set for each attribute.

    NEW FINDING...  I am able to extend the VO, but ONLY if i do NOT add new columns to the query nor attempt to map new columns to new attributes.   If I extend the VO and test with no additional functionality, the VO does show as extended.   If I change the SQL query in the new custom extended VO xml, I can see the query changes on the page.

    But of course my requirement is to ADD an additional attribute to this VO, adding the ADDRESSEE column from hz_party_sites.  This table is already joined into the query, so it *should* be a simple matter of creating a new attribute in my extended VO.  However, when I attempt to add a new attribute, that's when i get the error you see in the file I've attached.  If I *only* modify the query in the custom extended VO xml, then the substitution and my revised query is correctly used.

  • 5. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    PreethamChandra Journeyer
    Currently Being Moderated

    Hi

     

    Where is the Error Attachemnt?

     

    Manually extend your VOEx.xml and VOExRowImpl with columns and query .

     

    Many times have done it manually and it works perfectly.

  • 6. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    jemar98 Newbie
    Currently Being Moderated

    oracle.apps.fnd.framework.OAException: oracle.jbo.PersistenceException: JBO-26000: A Generic exception occurred during loading Customizations.

        at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:616)

        at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)

        at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1183)

        at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659)

        at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)

        at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659)

        at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)

        at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)

        at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2620)

        at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1940)

        at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:543)

        at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:431)

        at _OA._jspService(_OA.java:212)

        at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)

        at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)

        at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)

        at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

        at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)

        at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)

        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)

        at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)

        at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)

        at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)

        at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)

        at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)

        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)

        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)

        at java.lang.Thread.run(Thread.java:619)

    ## Detail 0 ##

    java.lang.IndexOutOfBoundsException: Index: 33, Size: 33

        at com.sun.java.util.collections.ArrayList.RangeCheck(ArrayList.java:492)

        at com.sun.java.util.collections.ArrayList.set(ArrayList.java:322)

        at oracle.jbo.server.ViewDefImpl.resolveDefInternal(ViewDefImpl.java:2623)

        at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:2466)

        at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:1993)

        at oracle.jbo.server.MetaObjectManager.loadFromXML(MetaObjectManager.java:526)

        at oracle.jbo.mom.DefinitionManager.loadLazyDefinitionObject(DefinitionManager.java:587)

        at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:449)

        at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:382)

        at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:364)

        at oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:700)

        at oracle.jbo.server.ViewDefImpl.findDefObject(ViewDefImpl.java:398)

        at oracle.jbo.server.ApplicationModuleDefImpl.loadViewObject(ApplicationModuleDefImpl.java:493)

        at oracle.jbo.server.ApplicationModuleImpl.doFindViewObject(ApplicationModuleImpl.java:2702)

        at oracle.jbo.server.ApplicationModuleImpl.findViewObject(ApplicationModuleImpl.java:2840)

        at xbol.oracle.apps.pos.supplier.webui.XXF5ByrAddrBkCO.processRequest(XXF5ByrAddrBkCO.java:35)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:600)

        at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)

        at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1183)

        at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659)

        at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)

        at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935)

        at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659)

        at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)

        at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)

        at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2620)

        at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1940)

        at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:543)

        at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:431)

        at _OA._jspService(_OA.java:212)

        at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)

        at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)

        at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)

        at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

        at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)

        at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)

        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)

        at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)

        at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)

        at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)

        at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)

        at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)

        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)

        at com.evermind.util.ReleasableResourcePooledExecutor

  • 7. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    PreethamChandra Journeyer
    Currently Being Moderated

    Hey.

     

    I came across this once , this is because of Attribute

     

    I was able to solve modifying the base VO itself to include new column.

     

    Things to do. Base VO Changes.

    1. Change query in .xml

    2. Manually add attrinute in .xml

    3. Add Inter map  carefully.

    (ex:  public static final int ATTRIBUTE15 = 62;)

    4. Manually add setters and getters

  • 8. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    PreethamChandra Journeyer
    Currently Being Moderated

    What you can also check first is,

     

    Verify the numbering in RowImp.java

     

    Issue is because there are 33 columns totally and index is going till 33 starting from 0. Referring 34th column which doesn't exist.

    Hence the error.

     

    Investigate RowImpl to uncover issues and fix it, else follow previously mentioned method, quite tedious but it works.

  • 9. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    jemar98 Newbie
    Currently Being Moderated

    I have already tried this by manually adding the necessary changes to my extended xml and java.   Please review my previous message under "NEW FINDING".  I am able to extend the VO, and change the functionality in selected ways, but I am NOT able to *add* a new attribute into the vo from a new column in the extended vo query.  if i keep the number of columns identical, then i can re-purpose an existing column that we do not use at F5, but i cannot just add a new column for additional functionality.  Attempting this is where the error occurs.  It is behaving as if portions of the original VO are instantiated, such as the number of attributes in the vo, then later attempting to access the new column which does not exist since the number of original columns were originally instantiated instead of the custom extended vo

  • 10. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    PreethamChandra Journeyer
    Currently Being Moderated

    paste the code of the extended VOImpl.java

     

    Issue might be with view link also.

  • 11. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    jemar98 Newbie
    Currently Being Moderated

    I've included the extended xml and rowimpl java as well as the jpx substitute into the attached f5.zip for your review. These were created by jDeveloper 10.1.3.3.0.3 and I have not manually modified them in any way.

  • 12. Re: Problem with VO Substitution in framework page ByrAddrBkPG
    PreethamChandra Journeyer
    Currently Being Moderated

    I am unable to find f5.zip

    mail to preethamchandra@gmail.com    

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points