Super.processRequest(pageContext,webBean);

Hi,
I need to extend a controller, as a first step I have gone through the process of creating a new Class file which extends the Controller in question.
In my extended package, I have one line of code in my processRequest which is as follows (Same for ProcessFormRequest)
public void processRequest(OAPageContext pageContext, OAWebBean webBean) {
super.processRequest(pageContext,webBean);
I have then added my controller to the required region via a personalization.
This is just to test everything works, before adding the required code.
Problem is, this test fails, as if I try run the page I get a NULL pointer exception to the the original controller??
java.lang.NullPointerException
     at oracle.apps.iby.fundcapture.setup.components.webui.UpdateExtBankAcctCO.processRequest(UpdateExtBankAcctCO.java:351)
     at xxrgd.oracle.apps.iby.fundcapture.setup.components.webui.XXRGDUpdateExtBankAcctCO.processRequest(XXRGDUpdateExtBankAcctCO.java:36)
Can someone pls advise what could be going wrong here?
Tks

Logout
Error Page
Exception Details.
oracle.apps.fnd.framework.OAException: java.lang.NullPointerException
     at oracle.apps.fnd.framework.OAException.wrapperException(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAMessageComponentLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OACellFormatBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OARowLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OATableLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at OA.jspService(_OA.java:71)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     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.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
     at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
     at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
     at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
     at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
     at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:392)
     at OA.jspService(_OA.java:80)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     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.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
     at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
     at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
     at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
     at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
     at java.lang.Thread.run(Thread.java:595)
## Detail 0 ##
java.lang.NullPointerException
     at oracle.apps.iby.fundcapture.setup.components.webui.UpdateExtBankAcctCO.processRequest(UpdateExtBankAcctCO.java:351)
     at xxrgd.oracle.apps.iby.fundcapture.setup.components.webui.XXRGDUpdateExtBankAcctCO.processRequest(XXRGDUpdateExtBankAcctCO.java:39)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAMessageComponentLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OACellFormatBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OARowLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OATableLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at OA.jspService(_OA.java:71)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     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.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
     at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
     at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
     at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
     at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
     at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:392)
     at OA.jspService(_OA.java:80)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     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.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
     at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
     at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
     at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
     at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
     at java.lang.Thread.run(Thread.java:595)
java.lang.NullPointerException
     at oracle.apps.iby.fundcapture.setup.components.webui.UpdateExtBankAcctCO.processRequest(UpdateExtBankAcctCO.java:351)
     at xxrgd.oracle.apps.iby.fundcapture.setup.components.webui.XXRGDUpdateExtBankAcctCO.processRequest(XXRGDUpdateExtBankAcctCO.java:39)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAMessageComponentLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OACellFormatBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OARowLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OATableLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at OA.jspService(_OA.java:71)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     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.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
     at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
     at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
     at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
     at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
     at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:392)
     at OA.jspService(_OA.java:80)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     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.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
     at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
     at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
     at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
     at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
     at java.lang.Thread.run(Thread.java:595)
Logout
Copyright (c) 2006, Oracle. All rights reserved.

Similar Messages

  • Extended Controller's super.processRequest() results in ClassCast EXception

    The problem is that I extended a controller class, the extension contains nothing but this:
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    line 13: super.processRequest(oapagecontext, oawebbean);
    And this generates:
    ## Detail 0 ##
    java.lang.ClassCastException
         at oracle.apps.icx.por.req.webui.CheckoutSummaryCO.prepareTrainAndNavigation(CheckoutSummaryCO.java:345)
         at oracle.apps.icx.por.req.webui.CheckoutSummaryCO.prepareUI(CheckoutSummaryCO.java:250)
         at oracle.apps.icx.por.req.webui.CheckoutSummaryCO.processRequest(CheckoutSummaryCO.java:105)
         at oracle.apps.icx.por.req.webui.XXCheckoutSummaryCO.processRequest(XXCheckoutSummaryCO.java:13)
    and this is how prepareTrainAndNavigation() in the original controller looks like:
    protected void prepareTrainAndNavigation(OAPageContext oapagecontext, OAWebBean oawebbean)
    OAPageLayoutBean oapagelayoutbean = (OAPageLayoutBean)oawebbean;
    OANavigationBarBean oanavigationbarbean = (OANavigationBarBean)createWebBean(oapagecontext, "NAVIGATION_BAR", null, "CheckoutNavigationBar");
    oanavigationbarbean.setValue(1);
    oanavigationbarbean.setMinValue(1);
    oanavigationbarbean.setMaxValue(3);
    oanavigationbarbean.setFormSubmitted(true);
    OAPageButtonBarBean oapagebuttonbarbean = (OAPageButtonBarBean)oapagelayoutbean.getPageButtons();
    oapagebuttonbarbean.addIndexedChild(oanavigationbarbean);
    Any ideas?
    Message was edited by:
    user538045

    Well, to debug the issue, you need to do that. Better have a local jdev setup working and do the debugging. Meanwhile also analyze the overall logic and process flow to make sure that your extension is not disturbing the overall logic.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Page keeps looping through processRequest method

    I am not sure why this is happening, but whenever I added a pageContext.setForwardUrl call to my process request method it winds up in an endless loop. If I put a single breakpoint in this method and comment out that last line it will only stop there once and I can load the page. As soon as I uncomment it and run the page it hits my breakpoint 20+ times and I finally get a javax.servlet.ServletException. Any ideas as to what may be causing this? This is the first time I have tried this and it seems pretty straight-forward.
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    int custAcctId = 0; //14041;
    int custAcctSite = 0; //1440;
    String siteUseCode = pageContext.getParameter("SiteUseCodeMeaning");
    String custAccountId = pageContext.getParameter("CustAccountId");
    String custAcctSiteId = pageContext.getParameter("CustAcctSiteId");
    String tabName = pageContext.getParameter("TabName");
    String lclnLevelCode = "Site";
    if (tabName == null)
    tabName = "Credit";
    if (siteUseCode != null && siteUseCode.indexOf("Ship") > 0){
    lclnLevelCode = "Ship-to";
    } else if(siteUseCode != null && siteUseCode.indexOf("Bill") > 0){
    lclnLevelCode = "Bill-to";
    if (custAcctSiteId != null && !"".equals(custAcctSiteId))
    custAcctSite = Integer.parseInt(custAcctSiteId);
    if (custAccountId != null && !"".equals(custAccountId))
    custAcctId = Integer.parseInt(custAccountId);
    LocalizationExtAMImpl amExt = (LocalizationExtAMImpl )pageContext.getApplicationModule(webBean);
    amExt.initCustSiteTabs( lclnLevelCode, tabName, "US", custAcctId, custAcctSite);
    amExt.initCustSiteInfo(custAcctId);
    amExt.initSiteTabInfo(lclnLevelCode);
    // forward to the correct localization page based on the site usage
    String fwdUrl = null;
    if ("Bill-to".equalsIgnoreCase(lclnLevelCode)){
    fwdUrl = "OA.jsp?page=/oracle/apps/ar/cusstd/localizationExt/webui/BillToLocalizationsPG";
    } else if ("Ship-to".equalsIgnoreCase(lclnLevelCode)){
    fwdUrl = "OA.jsp?page=/oracle/apps/ar/cusstd/localizationExt/webui/ShipToLocalizationsPG";
    } else {
    fwdUrl = "OA.jsp?page=/oracle/apps/ar/cusstd/localizationExt/webui/SiteLocalizationsPG";
    pageContext.setForwardURL(fwdUrl,null,OAWebBeanConstants.KEEP_MENU_CONTEXT,null,null,true,OAWebBeanConstants.ADD_BREAD_CRUMB_YES,OAWebBeanConstants.IGNORE_MESSAGES);
    Thanks,
    Greg

    I got it working:
    All three pages share a single controller class and it was a circular reference. I added some logic to add a parameter to my forwardURL that allowed me to check for it and break out of that loop. Your suggestion pointed me in the right direction, thanks!
    Greg

  • How can I dynamically assign prompt and URI to a button in a table?

    I've got a VO returning document name, link and a status flag. My resultsTable for this VO is currently displaying 3 fields: 2 messageStyledText fields for the document name and link text, and a switcher that shows a checkbox image or red X image depending on the value.
    I now want to put a button into this results table that a user can click to launch a subsequent page where they can fill out those related docs. To do this, I'd like to make the prompt of this button = VO.documentName, the Desitination URI of this button = VO.linkText, and then leave the switcher as is. The result might look somethign like this:
    <Form 838C> X
    <Form 1952> \/
    <Form 1234> X
    In this case, Form 1952 ahs been filled out, the others not. Users should be able to click one of the buttons to launch a subsequent page where they can fill the form.
    I found code to walk through a VO results set using an iterator, you'll see that below. Now, stubbed in these 3 steps below:
    --set button dest
    --set button label
    --determine loop end
    I can't see how to do this. I already have the table, so can I walk through the results set and access the results table at the same time?
    I need to be able to set each of the buttons to the right Label (Prompt) and then set each button to the appropriate destination. Here's what I have so far: Thanks in advance!
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    * Initializes the detail employee query.
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAViewObject summaryVO = (OAViewObject)am.findViewObject("LANLSupplDocsSummaryVO1");
    if (summaryVO != null)
    // Do not reinitialize the VO unless needed.
    String stringReqHeaderId = pageContext.getParameter("REQ_ID");
    Number defaultReqHeaderId = null;
    try
    defaultReqHeaderId = new Number(stringReqHeaderId);
    catch(Exception e)
    // throw new OAException("AK", "FWK_TBX_INVALID_EMP_NUMBER");
    throw new OAException("ICX", "XXXL_INVALID_NUMBER");
    summaryVO.setWhereClauseParams(null);
    summaryVO.setWhereClauseParam(0,defaultReqHeaderId);
    summaryVO.executeQuery();
    // This controller is associated with the table.
    OATableBean table = (OATableBean)webBean;
    // We need to format the Switcher image column so the image is centered
    // (this isn't done automatically for Switchers as it is for
    // plain image columns). We start by getting the table's
    // column formats.
    // NOTE!!! You must call the prepareForRendering() method on the table before
    // formatting columns. Furthermore, this call must be sequenced after the
    // table is queried, and after you do any control bar manipulation.
    table.prepareForRendering(pageContext);
    DataObjectList columnFormats = table.getColumnFormats();
    DictionaryData columnFormat = null;
    int childIndex = pageContext.findChildIndex(table, "DOC_STATUS");
    // int buttonIndex = pageContext.findChildIndex(table, "DOC_STATUS");
    // int meaningIndex = pageContext.findChildIndex(table, "MEANING");
    columnFormat =(DictionaryData)columnFormats.getItem(childIndex);
    columnFormat.put(COLUMN_DATA_FORMAT_KEY, ICON_BUTTON_FORMAT);
    LANLSupplDocsSummaryVORowImpl row = null;
    // This tells us the number of rows that have been fetched in the
    // row set, and will not pull additional rows in like some of the
    // other "get count" methods.
    int fetchedRowCount = vo.getFetchedRowCount();
    // We use a separate iterator -- even though we could step through the
    // rows without it -- because we don't want to affect row currency.
    RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
    if (fetchedRowCount > 0)
    deleteIter.setRangeStart(0);
    deleteIter.setRangeSize(fetchedRowCount);
    for (int i = 0; i < fetchedRowCount; i++)
    row = (LANLSupplDocsSummaryVORowImpl)deleteIter.getRowAtRangeIndex(i);
    // For performance reasons, we generate ViewRowImpls for all
    // View Objects. When we need to obtain an attribute value,
    // we use the named accessors instead of a generic String lookup.
    // Number primaryKey = (Number)row.getAttribute("EmployeeId");
    String formPage = row.getMeaning();
    --set button dest
    --set button label
    --determine loop end
    break; // only one possible selected row in this case
    // Always close the iterator when you're done.
    deleteIter.closeRowSetIterator();
    }

    Thanks Guaravv,
    I'm unable to get this to compile. Here's the errors I'm getting, followed by my controller code. Thanks again!
    Project: LANLSupplementalDocs.jpr
    C:\oracle\jDeveloper\jdevhome\jdev\myprojects\lanl\oracle\apps\icx\por\req\webui\LANLSupplementalDocsSummaryCO.java
    Error(16,46): cannot access class oracle.apps.fnd.framework.webui.beans.OAButtonBean; file oracle\apps\fnd\framework\webui\beans\OAButtonBean.class not found
    Error(124,9): class OAButtonBean not found in class lanl.oracle.apps.icx.por.req.webui.LANLSupplementalDocsSummaryCO
    Error(124,26): class OAButtonBean not found in class lanl.oracle.apps.icx.por.req.webui.LANLSupplementalDocsSummaryCO
    Error(125,9): class OADataBoundValueViewObject not found in class lanl.oracle.apps.icx.por.req.webui.LANLSupplementalDocsSummaryCO
    Error(125,47): class OADataBoundValueViewObject not found in class lanl.oracle.apps.icx.por.req.webui.LANLSupplementalDocsSummaryCO
    Controller:
    /*===========================================================================+
    | Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
    | All rights reserved. |
    +===========================================================================+
    | HISTORY |
    +===========================================================================*/
    package lanl.oracle.apps.icx.por.req.webui;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.cabo.ui.data.DictionaryData;
    import oracle.cabo.ui.data.DataObjectList;
    import oracle.apps.fnd.framework.webui.beans.table.OATableBean;
    import oracle.apps.fnd.framework.webui.beans.OAButtonBean;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.OAException;
    import oracle.jbo.domain.Number;
    import oracle.apps.fnd.framework.OAApplicationModule;
    //import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
    //import oracle.apps.fnd.framework.webui.beans.layout.OASpacerBean;
    //import oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean;
    * Controller for ...
    public class LANLSupplementalDocsSummaryCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    * Initializes the detail employee query.
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAViewObject summaryVO = (OAViewObject)am.findViewObject("LANLSupplDocsSummaryVO1");
    if (summaryVO != null)
    // Do not reinitialize the VO unless needed.
    String stringReqHeaderId = pageContext.getParameter("REQ_ID");
    Number defaultReqHeaderId = null;
    try
    defaultReqHeaderId = new Number(stringReqHeaderId);
    catch(Exception e)
    // throw new OAException("AK", "FWK_TBX_INVALID_EMP_NUMBER");
    throw new OAException("ICX", "XXXL_INVALID_NUMBER");
    summaryVO.setWhereClauseParams(null);
    summaryVO.setWhereClauseParam(0,defaultReqHeaderId);
    summaryVO.executeQuery();
    // This controller is associated with the table.
    OATableBean table = (OATableBean)webBean;
    // We need to format the Switcher image column so the image is centered
    // (this isn't done automatically for Switchers as it is for
    // plain image columns). We start by getting the table's
    // column formats.
    // NOTE!!! You must call the prepareForRendering() method on the table before
    // formatting columns. Furthermore, this call must be sequenced after the
    // table is queried, and after you do any control bar manipulation.
    table.prepareForRendering(pageContext);
    DataObjectList columnFormats = table.getColumnFormats();
    DictionaryData columnFormat = null;
    int childIndex = pageContext.findChildIndex(table, "DOC_STATUS");
    // int buttonIndex = pageContext.findChildIndex(table, "DOC_STATUS");
    // int meaningIndex = pageContext.findChildIndex(table, "MEANING");
    columnFormat =(DictionaryData)columnFormats.getItem(childIndex);
    columnFormat.put(COLUMN_DATA_FORMAT_KEY, ICON_BUTTON_FORMAT);
    // LANLSupplDocsSummaryVORowImpl row = null;
    // This tells us the number of rows that have been fetched in the
    // row set, and will not pull additional rows in like some of the
    // other "get count" methods.
    int fetchedRowCount = summaryVO.getFetchedRowCount();
    // We use a separate iterator -- even though we could step through the
    // rows without it -- because we don't want to affect row currency.
    // RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
    if (fetchedRowCount > 0)
    for (int i = 0; i < fetchedRowCount; i++)
    OATableBean tableBean = (OATableBean)webBean.findChildRecursive("ResultsTable");
    OAButtonBean m= (OAButtonBean)tableBean.findChildRecursive("DocLauncher");
    OADataBoundValueViewObject tip1 = new OADataBoundValueViewObject(m, "MEANING");
    m.setAttributeValue(oracle.cabo.ui.UIConstants.DESTINATION_ATTR, tip1);
    else
    throw new OAException("ICX", "XXXL_BC");
    }

  • Error while creating a new entity row for testEO

    Hi All,
    I have a 1st page where I enter the employeeNumber and that particular parameter should get displayed in the 2nd page when I click on the "SubmitButton".I am moving to the 2nd page using pageContext.forwardImmediately.I am passing my parameter with this URL.But, I am getting "Error while creating a new entity row for testEO" in my code before i enter anything in " employeeNumber " field in the 1st page.
    My CO code is:
    /*===========================================================================+
    | Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
    | All rights reserved. |
    +===========================================================================+
    | HISTORY |
    +===========================================================================*/
    package xxfc.oracle.apps.test.OAProject1.webui;
    import com.sun.java.util.collections.HashMap;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
    import oracle.jbo.Row;
    import xxfc.oracle.apps.test.OAProject1.server.testVOImpl;
    * Controller for ...
    public class testCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAApplicationModule am =(OAApplicationModule) pageContext.getApplicationModule(webBean);
    testVOImpl vo1 = (testVOImpl)am.findViewObject("testVO1");
    vo1.executeQuery();
    Row r = vo1.first();
    System.out.println("**************Error in the below Line**********************");
    Row row = vo1.createRow();
    vo1.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    * Procedure to handle form submissions for form elements in
    * a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am =(OAApplicationModule) pageContext.getApplicationModule(webBean);
    OAViewObject vo1 = (OAViewObject)am.findViewObject("testVO1");
    if(!vo1.isPreparedForExecution())
    vo1.executeQuery();
    Row row = vo1.getCurrentRow();
    am.getOADBTransaction().commit();
    String strEvent = pageContext.getParameter(EVENT_PARAM);
    if (strEvent.equals("update"))
    String custId = pageContext.getParameter("CustID");
    pageContext.putParameter("CstID",custId);
    HashMap hashMap = new HashMap();
    hashMap.put("CustomerId",custId);
    am.getOADBTransaction().commit();
    pageContext.forwardImmediately("OA.jsp?page=/xxfc/oracle/apps/test/OAProject1/webui/popupPG&CustID=custId",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    hashMap, //hashmap
    true,
    OAWebBeanConstants.ADD_BREAD_CRUMB_YES
    thanks,
    Akshata

    Hi Niranjana,
    It did not work I am getting the same error.does the WHO column order in the table matters? My WHO columns are in the below order:
    LAST_UPDATE_DATE
    LAST_UPDATED_BY
    LAST_UPDATE_LOGIN
    CREATION_DATE
    CREATED_BY
    my error is:
    oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity row for testEO.
    It appears on the top of my page as a message.
    Thanks,
    Akshata
    Edited by: Akshata on Mar 15, 2012 12:29 AM

  • Oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity

    Hi i wanted to create new row in table when page to create new row loads i get this error. In table i have 3 field srno which is primary and 2 more columns.
    I have created AM,EO and VO.
    In AM i have created a method named createDepartment. Code for which is
    public void createDepartment()
    OAViewObject vo = (OAViewObject)getCreateVO1();
    if(!vo.isPreparedForExecution())
    vo.executeQuery();
    Row row = vo.createRow();
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    and a controller class in whose processRequest method i am calling createDeparment method of AM
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("createDepartment");
    Can anyone please help me with this problem. It is very urgent.
    Thanks

    Did you check this thread ?
    I had suggested some checks to be performed, please do these and revert if the problem persists
    getting error oracle.jbo.RowCreateException: JBO-25017:
    Thanks
    Tapash

  • Stale data error while deleting a record

    Hi
    My design of this development is as follow...
    1. Search Page in which users give some search criteria and results will be displayed in the results region on the same page. For each results record I have two buttons like 'Update' and 'Delete' so that users can delete the record or can update the record. For update i created a one more page where users can able to edit and save the data. I have two AM one for Search Page and one for Update Page.
    Please find more details below.
    intfEO  based on PO_REQUISITIONS_INTERFACE_ALL
    errorEO  based on PO_INTERFACE_ERRORS
    updateEO based on PO_REQUISITIONS_INTERFACE_ALL
    VOs
    intfVO based on intfEO and errorEO
    updateVO based on updateEO
    AM
    intfAM based on intfVO
    updateAM based on updateVO
    Pages
    searchPG based on intfAM
    updatePG based on updateAM
    Suppose I have one record in interface table with corresponding error record in error table.When users given the search criteria and hit enter they found a record. It means i have one record in the interface having one error record in the error table and both tables have same transaction id (primary key). So here user first try to update the record and it is working. After update he try to delete a record then I am getting below error. Please note that I am not getting this error when if i directly delete the record with out doing any update before delete. When ever users click on update icon then update PG will open and when users click on Apply button then data is getting updated in the database and page will forward to the search page.
    Unable to perform transaction on the record.
    Cause: The record contains stale data. The record has been modified by another user.
    Action: Cancel the transaction and re-query the record to get the new data.
    My UpdatePage Controller
    /*===========================================================================+
    |   Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA    |
    |                         All rights reserved.                              |
    +===========================================================================+
    |  HISTORY                                                                  |
    +===========================================================================*/
    package powl.oracle.apps.xxpowl.po.requisition.webui;
    import com.sun.java.util.collections.HashMap;
    import com.sun.rowset.internal.Row;
    import java.io.Serializable;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OADialogPage;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageDateFieldBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
    //import oracle.apps.fnd.oam.diagnostics.report.Row;
    import oracle.apps.icx.por.common.webui.ClientUtil;
    import powl.oracle.apps.xxpowl.po.requisition.server.xxpowlPOReqIntfUpdateAMImpl;
    import powl.oracle.apps.xxpowl.po.requisition.server.xxpowlPOReqIntfUpdateEOVOImpl;
    * Controller for ...
    public class xxpowlPOReqIntfAllUpdatePageCO extends OAControllerImpl
      public static final String RCS_ID="$Header$";
      public static final boolean RCS_ID_RECORDED =
            VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
       * Layout and page setup logic for a region.
       * @param pageContext the current OA page context
       * @param webBean the web bean corresponding to the region
      public void processRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processRequest(pageContext, webBean);
         xxpowlPOReqIntfUpdateAMImpl am = (xxpowlPOReqIntfUpdateAMImpl)pageContext.getApplicationModule(webBean);
          xxpowlPOReqIntfUpdateEOVOImpl UpdateVO =(xxpowlPOReqIntfUpdateEOVOImpl)am.findViewObject("xxpowlPOReqIntfUpdateEOVOImpl");
          String newvalue = (String)pageContext.getSessionValue("testValue");     
          System.out.println("Transaction ID from processRequest UpdateCO from testValue field:"+newvalue);
          String transactionid = pageContext.getParameter("HashmapTransacitonid");
          System.out.println("Transaction ID from processRequest Hash Map in UpdateCO :"+transactionid);
          String errorcolumn = pageContext.getParameter("HashmapErrorcolumn");
          System.out.println("Error Column Name from processRequest Hash Map in UpdateCO :"+errorcolumn);
          String errormsg = pageContext.getParameter("HashmapErrormessage");
          System.out.println("Error Message from processRequest Hash Map in UpdateCO :"+errormsg);
          String readyonly = pageContext.getParameter("HashmapReadonly");
          System.out.println("Read Only value from processRequest Hash Map in UpdateCO :"+readyonly);
          if (transactionid !=null & !"".equals(transactionid)) { 
         /* Passing below four parameters to the Update Page */
          Serializable amParams[] = new Serializable[]{transactionid,readyonly,errorcolumn,errormsg} ;
          pageContext.getRootApplicationModule().invokeMethod("executexxpowlPOReqIntfUpdateEOVO", amParams);
       * Procedure to handle form submissions for form elements in
       * a region.
       * @param pageContext the current OA page context
       * @param webBean the web bean corresponding to the region
      public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processFormRequest(pageContext, webBean);      
         OAApplicationModule am = pageContext.getApplicationModule(webBean);
          if (pageContext.getParameter("ApplyButton") != null)
            System.out.println("Inside ApplyButton method in UpdatePageCO");
            OAViewObject vo = (OAViewObject)am.findViewObject("xxpowlPOReqIntfUpdateEOVO");
            String transactionid = pageContext.getParameter("HashmapTransacitonid");
            System.out.println("Transaction ID from processFormRequest Hash Map in UpdateCO-ApplyButton method :"+transactionid);
            am.invokeMethod("apply");
              pageContext.forwardImmediately("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllPG",
                                                     null,
                                                     OAWebBeanConstants.KEEP_MENU_CONTEXT,
                                                     null,
                                                     null,
                                                     true,
                                                     OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
           else if (pageContext.getParameter("CancelButton") != null)
            am.invokeMethod("rollback");
            pageContext.forwardImmediately("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllPG",
                                                   null,
                                                   OAWebBeanConstants.KEEP_MENU_CONTEXT,
                                                   null,
                                                   null,
                                                   true,
                                                   OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    UpdatePageAMImpl.java
    package powl.oracle.apps.xxpowl.po.requisition.server;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OARow;
    import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.inv.appsphor.order.server.XxapOrderHeaderVOImpl;
    import oracle.jbo.Transaction;
    // ---    File generated by Oracle ADF Business Components Design Time.
    // ---    Custom code may be added to this class.
    // ---    Warning: Do not modify method signatures of generated methods.
    public class xxpowlPOReqIntfUpdateAMImpl extends OAApplicationModuleImpl {
        /**This is the default constructor (do not remove)
        public xxpowlPOReqIntfUpdateAMImpl() {
        /**Container's getter for xxpowlPOReqIntfUpdateEOVO
        public xxpowlPOReqIntfUpdateEOVOImpl getxxpowlPOReqIntfUpdateEOVO() {
            return (xxpowlPOReqIntfUpdateEOVOImpl)findViewObject("xxpowlPOReqIntfUpdateEOVO");
        /**Sample main for debugging Business Components code using the tester.
        public static void main(String[] args) {
            launchTester("powl.oracle.apps.xxpowl.po.requisition.server", /* package name */
          "xxpowlPOReqIntfUpdateAMLocal" /* Configuration Name */);
    /*  // Added by 
        public void execute_update_query(String TransactionID) {
        xxpowlPOReqIntfUpdateEOVOImpl vo = getxxpowlPOReqIntfUpdateEOVO();
        vo.initQuery(TransactionID);
    // Added by  , this will not call bec changed the logic and so now the update button enabled on search results page
    // and this method will not called
    public void pageInEditMode (String transactionID, String readOnlyFlag, String ErrorColumn,
                                                                           String ErrorMessage)
        System.out.println("Transaction Id from pageInEditMode in UpdatePGAMImpl.java: "+transactionID);
        System.out.println("xxReadOnly from pageInEditMode in UpdatePGAMImpl.java: "+readOnlyFlag);
        // Get the VO
        xxpowlPOReqIntfUpdateEOVOImpl updateVO = getxxpowlPOReqIntfUpdateEOVO();
        //Remove the where clause that was added in the previous run
        updateVO.setWhereClause(null);
        //Remove the bind parameters that were added in the previous run.
        updateVO.setWhereClauseParams(null);
        //Add where clause
        // updateVO.addWhereClause(" TRANSACTION_ID = :1 ");
        //Bind transactionid to the where clause.
         // updateVO.setWhereClauseParam(1, transactionID); // this will not work bec it will start with zero from from 1
          updateVO.setWhereClauseParam(0, transactionID);
        //Execute the query.
        updateVO.executeQuery();
        xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
        // Assiging the transient varaibles
        currentRow.setxxErrorMessage(ErrorMessage);
        currentRow.setxxErrorColumn(ErrorColumn);
        if ("N".equals(readOnlyFlag))
              /* Make the attribute to 'False so that all fields will be displayed in Edit Mode because we used this
               xxReadOnly as SPEL  */
               currentRow.setxxReadOnly(Boolean.FALSE);
       public void executexxpowlPOReqIntfUpdateEOVO(String transactionID, String xxReadyOnly, String ErrorColumn,
                                                                                              String ErrorMessage)
           System.out.println("Transaction Id from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+transactionID);
           System.out.println("xxReadOnly from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+xxReadyOnly);
           System.out.println("Error Message from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+ErrorColumn);
           System.out.println("Error Column from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+ErrorMessage);
         // Get the VO
         xxpowlPOReqIntfUpdateEOVOImpl updateVO = getxxpowlPOReqIntfUpdateEOVO();
         //xxpowlPOReqIntfUpdateEOVORowImpl updaterowVO = xxpowlPOReqIntfUpdateEOVO();
       //not working
       //    OARow row = (OARow)updateVO.getCurrentRow();
       //    row.setAttribute("xxReadOnly", Boolean.TRUE);
    // updateVO.putTransientValue('XXXXX',x);
         //Remove the where clause that was added in the previous run
         updateVO.setWhereClause(null);
         //Remove the bind parameters that were added in the previous run.
         updateVO.setWhereClauseParams(null);
         //Add where clause
         // updateVO.addWhereClause(" TRANSACTION_ID = :1 ");
         //Bind transactionid to the where clause.
          // updateVO.setWhereClauseParam(1, transactionID); // this will not work bec it will start with zero from from 1
           updateVO.setWhereClauseParam(0, transactionID);
        // updateVO.setWhereClauseParam(1, ErorrColumn); 
         //Execute the query.
         updateVO.executeQuery();
         /* We want the page should be read only initially so after executing the VO with above command
            and if you use next() it will go to the first record among the
            fetched records. If you want to iterate for all the records then use iterator */
            /* Using Iterator
             while(updateVO.hasNext()) {  // this will check after execute Query above command if it has any rows
              xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
              /* above line next() will take the control of the first record */
          /*     currentRow.setxxErrorMessage(ErrorMessage);
                 currentRow.setxxErrorColumn(ErrorColumn);
               if ("Y".equals(xxReadyOnly))
                      currentRow.setxxReadOnly(Boolean.TRUE);                 
             } // this while loop will loop till end of all the fetched records
         xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
      // Assiging the transient varaibles
      currentRow.setxxErrorMessage(ErrorMessage);
      currentRow.setxxErrorColumn(ErrorColumn);
        /* Make the attribute to 'TRUE' so that all fields will be displayed as READ ONLY because we used this
           xxReadOnly as SPEL
           if ("Y".equals(xxReadyOnly))
                  currentRow.setxxReadOnly(Boolean.TRUE);            
      //Added by  and this methiod will get called from UpdatePG Process Form Request controller  
         public void rollback()
           Transaction txn = getTransaction();
           if (txn.isDirty())
             txn.rollback();
        public void apply()
            //OAViewObject vo1 = (OAViewObject)getxxpowlPOReqIntfUpdateEOVO();
            //Number chargeAccountID = vo1.get
          getTransaction().commit();      
          OAViewObject vo = (OAViewObject)getxxpowlPOReqIntfUpdateEOVO();
          if (!vo.isPreparedForExecution())
           vo.executeQuery();
    SearchPG AM
    package powl.oracle.apps.xxpowl.po.requisition.server;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
    import oracle.jbo.RowSetIterator;
    import oracle.jbo.Transaction;
    import oracle.jbo.domain.Number;
    import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlErrosLovVOImpl;
    import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlInterfaceSouceCodeLovVOImpl;
    import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlItemSegment1LovVOImpl;
    import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlOrgLovVOImpl;
    import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlReferenceNumberLovVOImpl;
    import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlRequestIdLovVOImpl;
    import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlRequisitionTypeLovVOImpl;
    // ---    File generated by Oracle ADF Business Components Design Time.
    // ---    Custom code may be added to this class.
    // ---    Warning: Do not modify method signatures of generated methods.
    public class xxpowlPOReqIntfAllAMImpl extends OAApplicationModuleImpl {
        /**This is the default constructor (do not remove)
        public xxpowlPOReqIntfAllAMImpl() {
        /**Container's getter for xxpowlPOReqIntfAllVO
        public xxpowlPOReqIntfAllVOImpl getxxpowlPOReqIntfAllVO() {
            return (xxpowlPOReqIntfAllVOImpl)findViewObject("xxpowlPOReqIntfAllVO");
        /**Sample main for debugging Business Components code using the tester.
        public static void main(String[] args) {
            launchTester("powl.oracle.apps.xxpowl.po.requisition.server", /* package name */
          "xxpowlPOReqIntfAllAMLocal" /* Configuration Name */);
        /**Container's getter for xxpowlRequestIdLovVO
        public xxpowlRequestIdLovVOImpl getxxpowlRequestIdLovVO() {
            return (xxpowlRequestIdLovVOImpl)findViewObject("xxpowlRequestIdLovVO");
        /**Container's getter for xxpowlErrosLovVO
        public xxpowlErrosLovVOImpl getxxpowlErrosLovVO() {
            return (xxpowlErrosLovVOImpl)findViewObject("xxpowlErrosLovVO");
        /**Container's getter for xxpowlOrgLovVO
        public xxpowlOrgLovVOImpl getxxpowlOrgLovVO() {
            return (xxpowlOrgLovVOImpl)findViewObject("xxpowlOrgLovVO");
      //Start Adding by Lokesh
      //This method wil get invoked from the search results page Process Request
       public void rollbackItem()
         Transaction txn = getTransaction();
         if (txn.isDirty())
           txn.rollback();
      //This method will invoked from Controller page when user click Yes on delete confirmtion page from Search Results Page
       public void deleteItem(String trasnsactionID)
         Number rowToDelete = new Number(Integer.parseInt(trasnsactionID));      
         OAViewObject vo = (OAViewObject)getxxpowlPOReqIntfAllVO();
         xxpowlPOReqIntfAllVORowImpl row = null;
         int fetchedRowCount = vo.getFetchedRowCount();
       //  System.out.print(fetchedRowCount);
         System.out.println("No of row fetched on delete method :"+fetchedRowCount);
         RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
           System.out.println("1 :");
         if (fetchedRowCount > 0)
             System.out.println("2 :");
           deleteIter.setRangeStart(0);
             System.out.println("3 :");
           deleteIter.setRangeSize(fetchedRowCount);
             System.out.println("4 :");
           for (int i = 0; i < fetchedRowCount; i++)
               System.out.println("5 :");
             row = (xxpowlPOReqIntfAllVORowImpl)deleteIter.getRowAtRangeIndex(i);
               System.out.println("6 :");
             Number PK = row.getTransactionId();
               System.out.println("7 :");
             if (PK.compareTo(rowToDelete) == 0)
                 System.out.println("8 :");
               row.remove();
                 System.out.println("9 :");
               getTransaction().commit();
                 System.out.println("10 :");
               break;
                 //System.out.println("11 :");
           System.out.println("11 :");
         deleteIter.closeRowSetIterator();
           System.out.println("12 :");
        /**Container's getter for xxpowlInterfaceSouceCodeLovVO
        public xxpowlInterfaceSouceCodeLovVOImpl getxxpowlInterfaceSouceCodeLovVO() {
            return (xxpowlInterfaceSouceCodeLovVOImpl)findViewObject("xxpowlInterfaceSouceCodeLovVO");
        /**Container's getter for xxpowlRequisitionTypeLovVO
        public xxpowlRequisitionTypeLovVOImpl getxxpowlRequisitionTypeLovVO() {
            return (xxpowlRequisitionTypeLovVOImpl)findViewObject("xxpowlRequisitionTypeLovVO");
        /**Container's getter for xxpowlReferenceNumberLovVO
        public xxpowlReferenceNumberLovVOImpl getxxpowlReferenceNumberLovVO() {
            return (xxpowlReferenceNumberLovVOImpl)findViewObject("xxpowlReferenceNumberLovVO");
        /**Container's getter for xxpowlItemSegment1LovVO
        public xxpowlItemSegment1LovVOImpl getxxpowlItemSegment1LovVO() {
            return (xxpowlItemSegment1LovVOImpl)findViewObject("xxpowlItemSegment1LovVO");
    Search Page Controller
    /*===========================================================================+
    |   Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA    |
    |                         All rights reserved.                              |
    +===========================================================================+
    |  HISTORY                                                                  |
    +===========================================================================*/
    package powl.oracle.apps.xxpowl.po.requisition.webui;
    import com.sun.java.util.collections.HashMap;
    //import com.sun.java.util.collections.Hashtable;
    import java.util.Hashtable;
    //import java.util.HashMap;
    import java.io.Serializable;
    import javax.servlet.jsp.PageContext;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OADialogPage;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    * Controller for ...
    public class xxpowlPOReqIntfAllSearchPageCO extends OAControllerImpl
      public static final String RCS_ID="$Header$";
      public static final boolean RCS_ID_RECORDED =
            VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
       * Layout and page setup logic for a region.
       * @param pageContext the current OA page context
       * @param webBean the web bean corresponding to the region
      public void processRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processRequest(pageContext, webBean);
        //Added by Lokesh
          OAApplicationModule am = pageContext.getApplicationModule(webBean);
         if (TransactionUnitHelper.isTransactionUnitInProgress(pageContext, "updateRecord", false)) {
               am.invokeMethod("rollbackItem");
               TransactionUnitHelper.endTransactionUnit(pageContext, "updateRecord");
       * Procedure to handle form submissions for form elements in
       * a region.
       * @param pageContext the current OA page context
       * @param webBean the web bean corresponding to the region
      public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processFormRequest(pageContext, webBean);
             String userClicked = pageContext.getParameter("event");
             System.out.println("Event from processFormRequest in SearchPageCO :"+userClicked);
           System.out.println("Parametere Names are :- \t" + pageContext.getParameter("UpdateImage"));
           System.out.println("Parametere Names are :- \t" + pageContext.getParameter("event"));
         if (pageContext.getParameter("event") != null &&
             pageContext.getParameter("event").equalsIgnoreCase("Update")) { 
             String ReqTransactionId=(String)pageContext.getParameter("transacitonidParam");
             String errorcolumn=(String)pageContext.getParameter("errorcolumnParam");
             String errormsg=(String)pageContext.getParameter("errormessageParam");
             String readyonly="Y"; //(String)pageContext.getParameter("readonlyParam");
             System.out.println("Requisition Transaction Id  : "+ReqTransactionId);
             System.out.println("Error Column  : "+errorcolumn);
             System.out.println("Error Message  : "+errormsg);
             System.out.println("Read Only  : "+readyonly);
             HashMap params = new HashMap(4);
             params.put("HashmapTransacitonid",ReqTransactionId);
             params.put("HashmapErrorcolumn",errorcolumn);
             params.put("HashmapErrormessage",errormsg);
             params.put("HashmapReadonly",readyonly);
             pageContext.putSessionValue("testValue",ReqTransactionId);
             //System.out.println("Transaction Id passing through HashMap :- \t" + ReqTransactionId);
             pageContext.setForwardURL("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllUpdatePG",
                                        null,
                                        OAWebBeanConstants.KEEP_MENU_CONTEXT,
                                        null,
                                        params,
                                        true,
                                        OAWebBeanConstants.ADD_BREAD_CRUMB_YES,
                                        OAWebBeanConstants.IGNORE_MESSAGES) ;   
    else if (pageContext.getParameter("event") != null &&
             pageContext.getParameter("event").equalsIgnoreCase("Delete")) {   
        System.out.println("Inside Delete method in SearchCO");
        String deleteTransactionID=(String)pageContext.getParameter("deleteTransactionIDParam");
        System.out.println("Transaction Id in Delete Method :- \t" + deleteTransactionID);
      //  deleteTransactionID ="";  //Makeing Null because dont want to show the transaction id bec users dont know about it
        //MessageToken[] tokens = { new MessageToken("MESSAGE_NAME", deleteTransactionID) };
        MessageToken[] tokens = { new MessageToken("MESSAGE_NAME", "") };
        OAException mainMessage = new OAException("FND", "FND_MESSAGE_DELETE_WARNING", tokens);
        OADialogPage dialogPage = new OADialogPage(OAException.WARNING,mainMessage, null, "", "");
        String yes = pageContext.getMessage("AK", "FWK_TBX_T_YES", null);
        String no = pageContext.getMessage("AK", "FWK_TBX_T_NO", null);
        dialogPage.setOkButtonItemName("DeleteYesButton");
        dialogPage.setOkButtonToPost(true);
        dialogPage.setNoButtonToPost(true);
        dialogPage.setPostToCallingPage(true);
        dialogPage.setOkButtonLabel(yes);
        dialogPage.setNoButtonLabel(no);
        Hashtable formParams = new Hashtable(1);
        formParams.put("transactionIdDeleted", deleteTransactionID);
        dialogPage.setFormP

    Hi friend ,
    In Search page i didn't do any update. and also search page is not a problem it's working fine. create page only the problem. In this page only throwing Stale data error exception.
    Please give me more suggestion.
    Thanks in advance,

  • Unable to save Sequence value to Database

    Hi,
    I am trying to pupulate a sequence value so that I can use it as primary key along with the combination of other columns later. My problem is that the sequence value is getting populated on the page with the right value, But is not getting saved to the database. The Column is there in the VO. The column is blank on the table. When I print it(System.out.println("Seq=" + xSeq.getText(pageContext));), the value is null. Can anyone please advice what I am doing wrong OR if I am missing anything here.
    Thanks
    Ali
    My CO file:
    ============
    package lac.oracle.apps.lac.jobperf.server.webui;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.webui.OADialogPage;
    import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
    import oracle.jbo.domain.Number;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.beans.layout.OAMessageComponentLayoutBean;
    import oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageStyledTextBean;
    import com.sun.java.util.collections.HashMap;
    import oracle.bali.share.util.IntegerUtils;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    * Controller for ...
    public class ReviewCreateCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    OAApplicationModule am; // dave
    OADBTransaction oadbxn; // dave
    oracle.jbo.domain.Number Seq;
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    // Always call this first
    super.processRequest(pageContext, webBean);
    am = pageContext.getApplicationModule(webBean); // dave
    oadbxn = am.getOADBTransaction(); // dave
    OAPageLayoutBean pageLayout = pageContext.getPageLayoutBean();
    OAMessageComponentLayoutBean mainRn = (OAMessageComponentLayoutBean)pageLayout.findIndexedChildRecursive("MainRN");
    // If isBackNavigationFired = false, we are here after a valid navigation
    // (the user selected the Create Review button) and we should proceed
    // normally and initialize a new Review.
    if (!pageContext.isBackNavigationFired(false))
    // We indicate that we are starting the create transaction(this
    // is used to ensure correct Back button behavior).
    TransactionUnitHelper.startTransactionUnit(pageContext,"jobperfCreateTxn");
    // This test ensures that we don't try to create a new review if we
    // had a JVM failover, or if a recycled application module is activated
    // after passivation. If this things happen, BC4J will be able to find
    // the row you created so the user can resume work.
    if (!pageContext.isFormSubmission())
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    // String Seq = (String)oadbxn.getValue("Seq");
    oracle.jbo.domain.Number Seq = oadbxn.getSequenceValue("lac.LAC_CM_PERF_REVIEW_SEQ");
    OAMessageStyledTextBean xSeq = (OAMessageStyledTextBean)mainRn.findIndexedChildRecursive("Seq");
    xSeq.setText(Seq.toString());
    am.invokeMethod("createReview",null);
    // Initialize the ApplicationpropertiesVO for PPR.
    // am.invokeMethod("init");
    else
    if (!TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"jobperfCreateTxn", true))
    // We got here through some use of the browser "Back" button, so we
    // want to display a stale data error and disallow access to the page.
    // if this were a real application, we would propably display a more
    // context-specific message telling the user she can't use the browser
    //"Back" button and the "Create" page. Instead, we wanted to illustrate
    // how to display the Applications standard NAVIGATION ERROR message.
    OADialogPage dialogPage = new OADialogPage(NAVIGATION_ERROR);
    pageContext.redirectToDialogPage(dialogPage);
    } // end processRequest()
    * Procedure to handle form submissions for form elements in
    * a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    {    //super.processFormRequest(pageContext, webBean);
    // Always call this first.
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAPageLayoutBean pageLayout = pageContext.getPageLayoutBean();
    OAMessageComponentLayoutBean mainRn = (OAMessageComponentLayoutBean)pageLayout.findIndexedChildRecursive("MainRN");
    // Pressing the "Apply" button means the transaction should be validated
    // and committed.
    // OAPageLayoutBean pageLayout = pageContext.getPageLayoutBean();
    // String Seq = SeqText.getText(pageContext);
    oadbxn.putValue("Seq", Seq);
    am = pageContext.getApplicationModule(webBean);
    oadbxn = am.getOADBTransaction();
    if (pageContext.getParameter("Apply") != null)
    // Generally in the tutorial application and the labs, we've illustrated
    // all BC4J interaction on the server (except for the AMs, of course). Here,
    // we're dealing with the VO directly so the comments about the reasons
    // why we're obtaining values from the VO and not the request make sense
    // in context.
    OAViewObject vo = (OAViewObject)am.findViewObject("jobperfVO1");
    // Note that we have to get this value from the VO because the EO will
    // assemble it during its validation cycle.
    // For performance reasons, we should generally be calling getEmployeeName()
    // on the EmployeeFullVORowImpl object, but we don't want to do this
    // on the client so we're illustrating the interface-appropriate call. If
    // we implemented this code in the AM where it belongs, we would use the
    // other approach.
    String employeeName = (String)vo.getCurrentRow().getAttribute("FullName");
    // We need to get a String so we can pass it to the MessageToken array below. Note
    // that we are getting this value from the VO (we could also get it from.
    // the Bean as shown in the Drilldwon to Details lab) because the item style is messageStyledText,
    // so the value isn't put on the request like a messaqeTextInput value is.
    String employeeNumber = (String)vo.getCurrentRow().getAttribute("EmployeeNumber");
    //ma String employeeNum = String.valueOf(employeeNumber.intValue());
    //ma Number employeeNumber = (Number)vo.getCurrentRow().getAttribute("EmployeeNumber");
    //ma String employeeNum = String.valueOf(employeeNumber.intValue());
    // Simply telling the transaction to commit will cause all the Entity Object validation
    // to fire.
    // Note: there's no reason for a developer to perform a rollback. This is handled by
    // the framework if errors are encountered.
    OAMessageStyledTextBean xSeq = (OAMessageStyledTextBean)mainRn.findIndexedChildRecursive("Seq");
    System.out.println("Seq=" + xSeq.getText(pageContext));
    am.invokeMethod("apply");
    // Indicate that the Create transaction is complete.
    TransactionUnitHelper.endTransactionUnit(pageContext, "jobperfCreateTxn");
    // Assuming the "commit" succeeds, navigate back to the "Search" page with
    // the user's search criteria intact and display a "Confirmation" message
    // at the top of the page.
    MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName),
    new MessageToken("EMP_NUMBER", employeeNumber) };
    OAException confirmMessage = new OAException("PER", "LAC_FWK_TBX_T_EMP_CREATE_CONF", tokens,
    OAException.CONFIRMATION, null);
    // Per the UI guidelines, we want to add the confirmation message at the
    // top of the search/results page and we want the old search criteria and
    // results to display.
    pageContext.putDialogMessage(confirmMessage);
    HashMap params = new HashMap(1);
    // Replace the current employeeNumber request parameter value with "X"
    params.put("employeeNumber", "employeeNumber");
    // IntegerUtils is a handy utility
    params.put("employeeNumber",IntegerUtils.getInteger(5));
    pageContext.forwardImmediately(
    "OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/jobperfPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    params, //null,
    false, // retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_YES);
    else if (pageContext.getParameter("Cancel") != null)
    am.invokeMethod("rollbackReview");
    // Indicate that the Create transaction is complete.
    TransactionUnitHelper.endTransactionUnit(pageContext, "jobperfCreateTxn");
    pageContext.forwardImmediately("OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/jobperfPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    false, // retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    } // end processFormRequest()
    }

    Hi Tapash,
    Thanks for all of you guys(Tapash/Sumit/user550094) help. The sequence is working and also populating the values in the table when I do not have any validation checks imposed on it.
    If I add any validations as mentioned in the exercise for create page where it checks if the sequence can be updated while null and so on... and throws appropriate exception. I get error. That is the code that I mentioned above.
    Here is the validation code for EOImpl:
    As mentioned below in order for the code to compile and work I had to comment the "throw new OAAttrvalException". If I uncomment the
    "throw new OAAttrvalException" part, it gives me the following error while compiling:
    "Error(796,13): method getPrimarykey not found in class lac.oracle.apps.lac.jobperf.schema.server.jobperfEOImpl"
    public void setSeq(Number value)
    // Because of the declaritive validation that you specified for this attribute,
    // BC4J validates that this can be updated only on a new line, and that this,
    // mandatory attribute cannot be null. This code adds the additional check
    // of only allowing an update if the value is null to prevent changes while
    // the object is in memory.
    if (getSeq() != null)
    /* throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
    getEntityDef().getFullName(), //getSeq(), // EO name
    getPrimarykey(), // EO PK
    "Seq", // Attribute Name
    value, // Attribute value
    "AK", // Message product short name
    "FWK_TBX_T_EMP_ID_NO_UPDATE"); // Message name */
    if (value != null)
    // Seq ID must be unique. To verify this, check both the
    // entity cache and the database. In this case, it's appropriate
    // to use findByPrimaryKey() because you're unlikely to get a match, and
    // and are therefore unlikely to pull a bunch of large objects into memory.
    // Note that findByPrimaryKey() is guaranteed to check all employees.
    // First it checks the entity cache, then it checks the database.
    OADBTransaction transaction = getOADBTransaction();
    Object[] employeeKey = {value};
    EntityDefImpl empDefinition = jobperfEOImpl.getDefinitionObject();
    jobperfEOImpl Seq =
    (jobperfEOImpl) empDefinition.findByPrimaryKey(transaction, new Key(employeeKey));
    if (Seq != null)
    /* throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
    getEntityDef().getFullName(), // .getSeq(), // EO name
    getPrimaryKey(), // EO PK
    "Seq", // Attribute Name
    value, // Attribute value
    "AK", // Message product short name
    "FWK_TBX_T_EMP_ID_UNIQUE"); // Message name */
    // Note that this is the point at which the value is actually set on the EO cache
    // (during the scope of setAttributeInternal processing). If you don't make this
    // call after you perform your validation, your value will not be set correctly.
    // Also, any declarative validation that you define for this attribute is executed
    // within this method.
    setAttributeInternal(SEQ, value);
    } // end SetSeq
    I am sorry if I have confused you. I really did not mean to do it.
    Thanks,
    Ali

  • Unable to get parameter by using a controller in OAF

    Hi!
    I'm new using OAF and will appreciate your help a lot!!
    FYI:
    Basically I have to add 2 descriptive flexfields in a page (by creating a VO) and I have to update the table with the information registered on those dff (I've done all the logic already).
    I created a Controller (CO) which calls a method declared in an Application module (AM) that executes a store procedure (the CO and AM have been created by me and they extend a standard CO and AM).
    Problem:
    However, just before updating.. I'm having a problem because I'm unable to get a parameter by using paramContext.getParameter("reqHeaderId"); that will help me to identify which row I need to update.
    Since the instruction is not capturing the value, it returns null and I got the following error when I try to convert it to Number: oracle.apps.fnd.framework.OAException: java.lang.NumberFormatException: null
    It's really important to mention that before getting to the page where I click the submit button that does the logic mentioned.. there are 2 pages before the one where I'm trying to capture the parameter and the parameter needed is set on the 1st page. I've been checking each standard CO of the 3 pages and they use the instruction pageContext.putParameter("reqHeaderId"); to pass it between the 3 pages (As far as I know, if not please correct me). On the 3rd and last standard CO it uses pageContext.getParameter("reqHeaderId"); to get the value and do some other logic.
    So why Im not getting the value if I do the same thing (pageContext.getParameter("reqHeaderId");) on my xxController (which extends the standard CO)?
    Here is the code of the controller:
    public class xxController extends standardController {
       public void processRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processRequest(pageContext, webBean);
       public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processFormRequest(pageContext, webBean);
        String str;
        str = pageContext.getParameter("_FORM_SUBMIT_BUTTON");
           if ((str != null) && (str.equals("SubmitButton")))
               String ReqHeaderId = pageContext.getParameter("reqHeaderId");
              String ReqLineId = pageContext.getParameter("reqLindId");
            Serializable[] parameters1 =
             ReqHeaderId
             ,ReqLineId
            ,pageContext.getParameter("xxavtBienServicio")     //dff
            ,pageContext.getParameter("xxavtAttribute3")         //dff
            String var = (String)am.invokeMethod("updateAttributes", parameters1);    // updateAttributes is the method that converts ReqHeaderId to number and executes my store procedure
    thank you for your help in advance!

    You need to verify that the parameter is being added to the pageContext from the first page to the last. You can do this by downloading the pages and all the class files to your development environment and put them into the myClasses directory. Then once you get it so it can be run in JDeveloper, you can actually invoke the debugger and do a watch on the page context for that parameter. It is important to note that you may need to download more than just those specific pages depending upon the setups of the supporting pages. I generally find it easier to just download everything for a particular application to my classes directory so I am not forever trying to find missing class files. Even then if they call some utility classes, you will need to download them to the JDevelper on your PC into the classes directory.  But once you are able to run the pages in JDeveloper you will be able to do a lot more with the debugger.
    Kristofer

  • Fields not getting rendered based on fire partial action

    Dear Friends
    I have req like based on the selected value in message choice input (UOM), the other values(BOX,EACH,VOLUME) in page sholud render .
    These are my codes in AM and CO.
    ******************************AM***********************
        public void xxcreaterow() {
            OAViewObject vo = getuomVO1();
            System.out.println("am is getting executed");
            //Number=null;
             Number val = 1;
                if (vo != null)
                  if (vo.getFetchedRowCount() == 0)
                   vo.setMaxFetchSize(0);
                   vo.executeQuery();
                   vo.insertRow(vo.createRow());
                   OARow row = (OARow)vo.first(); 
                    //  row.setAttribute("RowKey", new Number(1));
                      row.setAttribute("RowKey", val);
                      row.setAttribute("BoxAttr", Boolean.FALSE);
                      row.setAttribute("EachAttr", Boolean.FALSE);
                      row.setAttribute("VolumeAttr", Boolean.FALSE);
    ************************   CO *********************************
      public void processRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processRequest(pageContext, webBean);
          OAApplicationModule am = pageContext.getApplicationModule(webBean);
          OAViewObject vo = (OAViewObject)am.findViewObject("uomVO");
          am.invokeMethod("xxcreaterow");
       * Procedure to handle form submissions for form elements in
       * a region.
       * @param pageContext the current OA page context
       * @param webBean the web bean corresponding to the region
      public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processFormRequest(pageContext, webBean);
         OAApplicationModule am = pageContext.getApplicationModule(webBean);
         OAViewObject vo = (OAViewObject)am.findViewObject("uomVO1");
                 OARow row = (OARow)vo.getCurrentRow();
                      if ("HandleUom".equals(pageContext.getParameter(EVENT_PARAM)))
            if (pageContext.getParameter("UnitOfMeasure").equals("Box"))
             row.setAttribute("BoxAttr", Boolean.TRUE);
                row.setAttribute("EachAttr", Boolean.FALSE);
                row.setAttribute("VolumeAttr", Boolean.FALSE);
               else
                     row.setAttribute("BoxAttr", Boolean.FALSE);
               if (pageContext.getParameter("UnitOfMeasure").equals("Each"))
                row.setAttribute("BoxAttr", Boolean.FALSE);
                   row.setAttribute("EachAttr", Boolean.TRUE);
                   row.setAttribute("VolumeAttr", Boolean.FALSE);
               else
                     row.setAttribute("EachAttr", Boolean.FALSE);
               if (pageContext.getParameter("UnitOfMeasure").equals("Gallon"))
                row.setAttribute("BoxAttr", Boolean.FALSE);
                   row.setAttribute("EachAttr", Boolean.FALSE);
                   row.setAttribute("VolumeAttr", Boolean.TRUE);
               else
                     row.setAttribute("VolumeAttr", Boolean.FALSE);
    How to resolve this plz help.
    Thanks
    Aravinda

    Have a fire partial action event enabled on text field 2, capture the event in processFormRequest of CO, throw an exception using throw OAException when textfield1 < textfield 2 or your required condition is met. You don't need javascript for this. I don't recommend using javascript in OAF. You have most of the features available in OAF (except popup alerts though which can be achieved as mentioned above but no popup window).
    Thanks
    Shree

  • Enable/Disable Column in a Advanced Bean Table

    Hi,
    I have 2 columns that needs to be enabled/disabled on a standard oa page PO Lines summary page.
    I went through couple of blogs/forums and found 2 approaches :-
    Approach 1
    1) Extended the standard VO POLinesMerge.
    2) Added a attribute column DeriveDisplayFlag of type VARCHAR2 . This call a database function and will return Y or N
    3) Added a attribute of type ShowAdditionalColumn boolean. the get method of this attribute returns TRUE if DeriveDisplayFlag is 'Y' otherwise returns FALSE.
    4) created a substitution for the custom VO
    5) uploaded the substitution to mds.
    6) copied the xml/class files to $JAVA_TOP/..
    7) Bounced entire middle tier
    8) using personalization, entered a SPEL command on the rendered property. I know rendered will hide/show the column but for time being I just want this to work.
    But this fails :-
    oracle.apps.fnd.framework.OAException: Message not found. Application: FND, Message Name: FND_VIEWOBJECT_NOT_FOUND. Tokens: VONAME = XXPBPoLinesMergeVO; APPLICATION_MODULE = oracle.apps.po.document.server.DocumentAM;
    I am not aware how to get around this. Can someone help please?
    Approach 2
    1) steps 1 to 6 from Approach 1.
    2) trying to extend controller class OrderLinesTableRNCO. But have couple of questions. This iis a advanced bean table so how should i reference individual record and the column that i need to disable/enable ?
    Conceptual questions
    Also, when i am entering a new record at what point in time the 2 new attribute will derive its value? the 2 attributes are dependent on the Item number column but i have not created a dependency between the attributes and Item# column.
    Will the controller logic fire for every column while i am entering a new record?
    Thanks.

    Hi Anil,
    Thanks for the response. I have given up that i will get reply on this post.
    I have done the substitution and upload the jpx to umsing importer.
    But you are correct may be i might have done something wrong. Can you please help me. I can send you the files if you can review and let me know it will be great.
    Also, will this approach work since PO Lines is a advanced bean table ?
    One of the experts suggested to use Bound values. I am not sure how to implement it though?
    I have went and told back to my business team that I am not able to do this so now they have asked me to enable/disable columns based on a dff value on po header. I thought this will be easier by extending the controller class on PO Lines table but that too is not working.
    Can you help me please ?
    Here is my code to extend the controller class :-
    package xxpb.oracle.apps.po.webui;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageLovInputBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
    import oracle.apps.fnd.framework.webui.beans.table.OAAdvancedTableBean;
    import oracle.apps.fnd.framework.webui.beans.table.OAColumnBean;
    import oracle.apps.fnd.framework.webui.beans.table.OASortableHeaderBean;
    import oracle.apps.fnd.framework.webui.beans.table.OATableBean;
    import oracle.apps.po.document.order.webui.OrderLinesTableRNCO;
    public class XXPBOrderLinesTableRNCO extends OrderLinesTableRNCO
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAAdvancedTableBean tableBean =
    (OAAdvancedTableBean)webBean.findIndexedChildRecursive("LinesTableRN");
    OAMessageLovInputBean poLineLov =
    (OAMessageLovInputBean)tableBean.findIndexedChildRecursive("XXPBSecondaryUOMLOV");
    poLineLov.setDisabled(false);
    }

  • Passing parameters to Update page

    Hi,
    I created the search/create/update page going by the instructions in the tutorial exercise. My primary key is a combination of employee number AND sequence number.
    When I query the employee in the search page and if the employee has more than one record it displays all the records for that employee.
    When I click on the "update" button on one of the record, It is not displaying me the record on which I clicked the "update" button. Instead it is displaying me the other record for the same employee. I believe I need to pass the sequence value as the parameter, but do not know how to pass it. Can anyone one help me accomplish this?
    Thanks in advance,
    Al
    Below is the CO code for SEARCH page:
    /*===========================================================================+
    | Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
    | All rights reserved. |
    +===========================================================================+
    | HISTORY |
    +===========================================================================*/
    package lac.oracle.apps.lac.jobperf.server.webui;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import java.io.Serializable;
    import java.sql.Connection;
    import java.text.SimpleDateFormat;
    import java.text.ParseException;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OADialogPage;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean;
    import oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageStyledTextBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageDateFieldBean;
    //import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
    import oracle.apps.fnd.framework.webui.beans.table.OATableBean;
    import com.sun.java.util.collections.HashMap;
    import oracle.bali.share.util.IntegerUtils;
    * Controller for ...
    public class jobperfCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    // The following checks to see if the user navigated back to this page
    // without taking an action that cleared an "in transaction" indicator.
    // If so, we want to rollback any changes that she abondoned to ensure
    // they aren't left lingering in the BC4J cache to cause problems with
    // subsequent transactions. For example, if the user navigates to the
    //Create Review page where you start a "Create" transactio unit, then
    //navigastes back to this page using the browser Back button and selects
    // the Create Review button again, teh OA Framework detects this
    // Back button navigation and steps through processRequest() so this
    // code is executed before you try to Create another new Review.
    if (TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"jobperfCreateTxn", false))
    am.invokeMethod("rollbackReview");
    TransactionUnitHelper.endTransactionUnit(pageContext,"jobperfCreateTxn");
    else if(TransactionUnitHelper.isTransactionUnitInProgress(pageContext,"jobperfUpdateTxn",false))
    am.invokeMethod("rollbackReview");
    TransactionUnitHelper.endTransactionUnit(pageContext,"jobperfUpdateTxn");
    * Procedure to handle form submissions for form elements in
    * a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am;
    OADBTransaction oadbxn;
    am = pageContext.getRootApplicationModule();
    oadbxn = am.getOADBTransaction();
    if (pageContext.getParameter("Create") != null)
    //Navigate to teh "Create Review" page while retaining the AM.
    //Note the use of KEEP_MENU_CONTEXT as opposed to GUESS_MENU_CONTEXT
    //since we know the current tab should remain highlighted.
    pageContext.setForwardURL("OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/ReviewPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true, //Retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_YES,
    OAWebBeanConstants.IGNORE_MESSAGES);
    else if ("update".equals(pageContext.getParameter(EVENT_PARAM)))
    String EmployeeNumber = pageContext.getParameter("EmployeeNumber");
    String Seq = pageContext.getParameter("Seq");
    //String EmployeeName = pageContext.getParameter("FullName");
    System.out.println("Update Selected");
    System.out.println(EmployeeNumber);
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    oadbxn.putValue("EmployeeNumber",EmployeeNumber);
    oadbxn.putValue( "Seq",Seq);
    //oadbxn.putValue("EmployeeName",EmployeeName);
    HashMap params = new HashMap(2);
    // Replace the current employeeNumber request parameter value with "X"
    params.put("EmployeeNumber", EmployeeNumber);
    //params.put("EmployeeName", "EmployeeName");
    params.put("Seq", Seq);
    // IntegerUtils is a handy utility
    //params.put("EmployeeName", EmployeeName);
    //params.put("EmployeeNumber",IntegerUtils.getInteger(1));
    //params.put("EmployeeName",IntegerUtils.getInteger(2));
    //params.put("Seq",IntegerUtils.getInteger(2));
    // The user has clicked an "Update" icon so we want to navigate
    // to the first step of the multistep "Update Employee" flow.
    pageContext.setForwardURL("OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/UpdateReviewPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    params, //mir null,
    true, // Retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_YES, // Do not display breadcrumbs
    OAWebBeanConstants.IGNORE_MESSAGES);
    Below is the CO code for UPDATE page:
    /*===========================================================================+
    | Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
    | All rights reserved. |
    +===========================================================================+
    | HISTORY |
    +===========================================================================*/
    package lac.oracle.apps.lac.jobperf.server.webui;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.webui.OADialogPage;
    import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
    import oracle.jbo.domain.Number;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import java.io.Serializable;
    * Controller for ...
    public class ReviewUpdateCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    // Always call this first
    super.processRequest(pageContext, webBean);
    // Put a transaction value indicating that the update transaction
    // is now in progress.
    TransactionUnitHelper.startTransactionUnit(pageContext,"jobperfUpdateTxn");
    String EmployeeNumber = pageContext.getParameter("EmployeeNumber"); //small e
    String Seq = pageContext.getParameter("Seq");
    System.out.println("Into ReviewUpdateCOUpdate IN Process Request values from Page Context");
    System.out.println(EmployeeNumber);
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    // We'll use this at the end of the flow for a confirmation message.
    String EmployeeName = pageContext.getParameter("FullName");
    pageContext.putTransactionValue("FullName",EmployeeName);
    Serializable[] params = { EmployeeNumber,Seq}; //small e
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    // For the update, since we are using the same VO as teg "Details" page, we
    // can use the same initialization logic.
    System.out.println("Into ReviewUpdateCOUpdate IN Process Request");
    System.out.println(EmployeeNumber); //small e
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    am.invokeMethod("initDetails", params);
    //am.invokeMethod("jobperfAMImpl.createReview");
    System.out.println("Into ReviewUpdateCOUpdate IN Process Request AFTER INITDETAILS");
    System.out.println(EmployeeNumber); //small e
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    } // end processRequest()
    * Procedure to handle form submissions for form elements in
    * a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    {    //super.processFormRequest(pageContext, webBean);
    // Always call this first.
    super.processFormRequest(pageContext, webBean);
    System.out.println("Into ReviewUpdateCOUpdate INTO Process FORM before apply Request");
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    // Pressing the "Apply" button means the transaction should be validated
    // and committed.
    if (pageContext.getParameter("Apply") != null)
    // Generally in the tutorial application and the labs, we've illustrated
    // all BC4J interaction on the server (except for the AMs, of course). Here,
    // we're dealing with the VO directly so the comments about the reasons
    // why we're obtaining values from the VO and not the request make sense
    // in context.
    OAViewObject vo = (OAViewObject)am.findViewObject("jobperfVO1");
    // Note that we have to get this value from the VO because the EO will
    // assemble it during its validation cycle.
    // For performance reasons, we should generally be calling getEmployeeName()
    // on the EmployeeFullVORowImpl object, but we don't want to do this
    // on the client so we're illustrating the interface-appropriate call. If
    // we implemented this code in the AM where it belongs, we would use the
    // other approach.
    String EmployeeName = (String)vo.getCurrentRow().getAttribute("FullName");
    // We need to get a String so we can pass it to the MessageToken array below. Note
    // that we are getting this value from the VO (we could also get it from.
    // the Bean as shown in the Drilldwon to Details lab) because the item style is messageStyledText,
    // so the value isn't put on the request like a messaqeTextInput value is.
    String EmployeeNumber = (String)vo.getCurrentRow().getAttribute("EmployeeNumber");
    String Seq = (String)vo.getCurrentRow().getAttribute("Seq");
    //ma String employeeNum = String.valueOf(employeeNumber.intValue());
    //ma Number employeeNumber = (Number)vo.getCurrentRow().getAttribute("EmployeeNumber");
    //ma String employeeNum = String.valueOf(employeeNumber.intValue());
    // Simply telling the transaction to commit will cause all the Entity Object validation
    // to fire.
    // Note: there's no reason for a developer to perform a rollback. This is handled by
    // the framework if errors are encountered.
    System.out.println("Into ReviewUpdateCOUpdate IN Process Form Request");
    System.out.println(EmployeeNumber);
    //System.out.println(EmployeeName);
    System.out.println(Seq);
    am.invokeMethod("apply");
    // Indicate that the Create transaction is complete.
    TransactionUnitHelper.endTransactionUnit(pageContext, "jobperfUpdateTxn");
    // Assuming the "commit" succeeds, navigate back to the "Search" page with
    // the user's search criteria intact and display a "Confirmation" message
    // at the top of the page.
    MessageToken[] tokens = { new MessageToken("EMP_NAME", EmployeeName),
    new MessageToken("EMP_NUMBER", EmployeeNumber) };
    OAException confirmMessage = new OAException("PER", "LAC_FWK_TBX_T_EMP_CREATE_CONF", tokens,
    OAException.CONFIRMATION, null);
    // Per the UI guidelines, we want to add the confirmation message at the
    // top of the search/results page and we want the old search criteria and
    // results to display.
    pageContext.putDialogMessage(confirmMessage);
    pageContext.forwardImmediately(
    "OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/jobperfPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true, // retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    else if (pageContext.getParameter("Cancel") != null)
    am.invokeMethod("rollbackReview");
    // Indicate that the Create transaction is complete.
    TransactionUnitHelper.endTransactionUnit(pageContext, "jobperfUpdateTxn");
    pageContext.forwardImmediately("OA.jsp?page=/lac/oracle/apps/lac/jobperf/webui/jobperfPG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true, // retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    } // end processFormRequest()
    Message was edited by:
    user617353

    Hi,
    I created a new method(initQueryUpdate) in the VOImpl(here I am also setting the where clause).
    Also created a method(initDetailsUpdate) in the AMImpl and I am calling the vo.initQueryUpdate in AM code.
    I am also passing the parameters to method via a call in the ReviewupdateCO(am.invokeMethod("initDetailsUpdate", params);).
    It is compiling the entire jpr without any errors.
    When I Search an employee and clisk on the update button then I am geting the following error.
    I tried to pass parameters by putting them on the update button property with the action type of "fireAction.
    I also tried by making the actiontype "none" and putting the forwarding apge with parameters in the "Destination URL" property and still I get the error message when I run it. Any one has any clues.
    Thanks in Advance,
    Ali
    Exception Details.
    oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT * FROM (SELECT
    jobperfEO.EMPLOYEE_NUMBER,
    jobperfEO.FULL_NAME,
    jobperfEO.PERSON_ID,
    jobperfEO.ASSIGNMENT_ID,
    jobperfEO.PERIOD_START_DATE,
    jobperfEO.PERIOD_END_DATE,
    jobperfEO.REVIEW_DATE,
    jobperfEO.REVIEW_TYPE,
    jobperfEO.REVIEW_STATUS,
    jobperfEO.JOB_CLASSIFICATION,
    jobperfEO.DISTRICT,
    jobperfEO.SUPERVISOR_ID,
    jobperfEO.SUPERVISOR_EMPLOYEE_NUMBER,
    jobperfEO.SUPERVISOR_NAME,
    jobperfEO.QUALITY_OF_WORK,
    jobperfEO.QUANTITY_OF_WORK,
    jobperfEO.JOB_KNOWLEDGE,
    jobperfEO.EFFICIENCY,
    jobperfEO.RELATING_TO_OTHERS,
    jobperfEO.INITIATIVE,
    jobperfEO.RELIABILITY,
    jobperfEO.HOUSEKEEPING_SAFETY,
    jobperfEO.OVERALL_PERFORMANCE,
    jobperfEO.SUGGESTED_IMPROVEMENT_AREAS,
    jobperfEO.EMPLOYEE_COMMENTS,
    jobperfEO.CREATED_BY,
    jobperfEO.CREATION_DATE,
    jobperfEO.LAST_UPDATED_BY,
    jobperfEO.LAST_UPDATE_DATE,
    jobperfEO.SEQ,
    jobperfEO.SECOND_SUPRV_EMPNO,
    jobperfEO.SECOND_SUPRV_FULLNAME
    FROM apps.LAC_CM_PERF_REVIEW jobperfEO) QRSLT WHERE (SEQ = :1 AND ( UPPER(EMPLOYEE_NUMBER) like :3 AND (EMPLOYEE_NUMBER like :4 OR EMPLOYEE_NUMBER like :5 OR EMPLOYEE_NUMBER like :6 OR EMPLOYEE_NUMBER like :7))) ORDER BY EMPLOYEE_NUMBER ASC
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:891)
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:865)
         at oracle.apps.fnd.framework.OAException.wrapperInvocationTargetException(OAException.java:988)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:211)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:153)
         at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:749)
         at lac.oracle.apps.lac.jobperf.server.webui.ReviewUpdateCO.processRequest(ReviewUpdateCO.java:116)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:587)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1136)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2335)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1734)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:508)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:429)
         at _OA._jspService(OA.jsp:34)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at _OA._jspService(OA.jsp:39)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    java.sql.SQLException: ORA-01006: bind variable does not exist
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2548)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2933)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:578)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:631)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:518)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3375)
         at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:828)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4507)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:574)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:544)
         at oracle.jbo.server.ViewRowSetImpl.executeDetailQuery(ViewRowSetImpl.java:619)
         at oracle.jbo.server.ViewObjectImpl.executeDetailQuery(ViewObjectImpl.java:3339)
         at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3326)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(OAViewObjectImpl.java:441)
         at lac.oracle.apps.lac.jobperf.server.jobperfVOImpl.initQueryUpdate(jobperfVOImpl.java:77)
         at lac.oracle.apps.lac.jobperf.server.jobperfAMImpl.initDetailsUpdate(jobperfAMImpl.java:129)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:190)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:153)
         at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:749)
         at lac.oracle.apps.lac.jobperf.server.webui.ReviewUpdateCO.processRequest(ReviewUpdateCO.java:116)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:587)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1136)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2335)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1734)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:508)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:429)
         at _OA._jspService(OA.jsp:34)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at _OA._jspService(OA.jsp:39)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    java.sql.SQLException: ORA-01006: bind variable does not exist
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)
         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2548)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2933)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:650)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:578)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:631)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:518)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3375)
         at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:828)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4507)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:574)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:544)
         at oracle.jbo.server.ViewRowSetImpl.executeDetailQuery(ViewRowSetImpl.java:619)
         at oracle.jbo.server.ViewObjectImpl.executeDetailQuery(ViewObjectImpl.java:3339)
         at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3326)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(OAViewObjectImpl.java:441)
         at lac.oracle.apps.lac.jobperf.server.jobperfVOImpl.initQueryUpdate(jobperfVOImpl.java:77)
         at lac.oracle.apps.lac.jobperf.server.jobperfAMImpl.initDetailsUpdate(jobperfAMImpl.java:129)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:190)
         at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:153)
         at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:749)
         at lac.oracle.apps.lac.jobperf.server.webui.ReviewUpdateCO.processRequest(ReviewUpdateCO.java:116)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:587)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1136)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:959)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:926)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:646)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2335)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1734)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:508)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:429)
         at _OA._jspService(OA.jsp:34)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at _OA._jspService(OA.jsp:39)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)

  • Call Xml Publisher report from Jdeveloper

    Hi,
    I am first time integrating XML publisher with Jdevloper.
    I need to call xml publisher report from Jdeveloper.
    I followed all steps from anilpassi link for sample
    its showing error while tring to open pdf file
    Error:
    Adobe Reader could not find 'EmpReport[1].pdf' because it is either not a supported file type or because the file has been damaged.
    Please help ,i m stuvk because of this error.
    below is the code
    EmpCO :
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAApplicationModuleImpl am =
    (OAApplicationModuleImpl)pageContext.getApplicationModule(webBean);
    am.invokeMethod("initEmpVO");
    // am.invokeMethod("getEmpDataXML");
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModuleImpl am =
    (OAApplicationModuleImpl)pageContext.getApplicationModule(webBean);
    if ("GenerateReport".equals(pageContext.getParameter(EVENT_PARAM)))
    System.out.println("event fired");
    // Get the HttpServletResponse object from the PageContext. The report output is written to HttpServletResponse.
    DataObject sessionDictionary =
    (DataObject)pageContext.getNamedDataObject("_SessionParameters");
    HttpServletResponse response =
    (HttpServletResponse)sessionDictionary.selectValue(null,
    "HttpServletResponse");
    try
    System.out.println("inside try");
    ServletOutputStream os = response.getOutputStream();
    // Set the Output Report File Name and Content Type
    String contentDisposition = "attachment;filename=EmpReport.pdf";
    response.setHeader("Content-Disposition", contentDisposition);
    response.setContentType("application/pdf");
    // Get the Data XML File as the XMLNode
    XMLNode xmlNode = (XMLNode)am.invokeMethod("getEmpDataXML");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    xmlNode.print(outputStream);
    ByteArrayInputStream inputStream =
    new ByteArrayInputStream(outputStream.toByteArray());
    ByteArrayOutputStream pdfFile = new ByteArrayOutputStream();
    //Generate the PDF Report.
    TemplateHelper.processTemplate(((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getAppsContext(),
    APP_NAME, TEMPLATE_CODE,
    ((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getUserLocale().getLanguage(),
    ((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getUserLocale().getCountry(),
    inputStream,
    TemplateHelper.OUTPUT_TYPE_PDF, null,
    pdfFile);
    // Write the PDF Report to the HttpServletResponse object and flush.
    byte[] b = pdfFile.toByteArray();
    response.setContentLength(b.length);
    os.write(b, 0, b.length);
    os.flush();
    os.close();
    catch (IOException e) {
    System.out.println("Exception1"+e);
    } catch (SQLException e) {
    System.out.println("Exception2"+e);
    } catch (XDOException e) {
    System.out.println("Exception3"+e);
    pageContext.setDocumentRendered(false);
    EmpAMImpl:
    public void initEmpVO() {
    EmpVOImpl vo = getEmpVO1();
    if (vo == null) {
    MessageToken errTokens[] =
    { new MessageToken("OBJECT_NAME", "EmpVO1") };
    throw new OAException("AK", "FWK_TBX_OBJECT_NOT_FOUND", errTokens);
    } else {
    vo.executeQuery();
    public XMLNode getEmpDataXML() {
    OAViewObject vo = (OAViewObject)findViewObject("EmpVO1");
    XMLNode xmlNode =
    (XMLNode)vo.writeXML(4, XMLInterface.XML_OPT_ALL_ROWS);
    return xmlNode;
    Please help !!

    Hi,
    I tried the way suggested by Anil in the above link as well today, but still am getting the same error while openning the pdf .
    Dont know why it shows error that either the file is not a supported file type or because the file is damaged.
    Please suggest way to solve this error or some other way of calling xml report from OAF page.
    Edited by: user13573749 on Apr 10, 2011 9:59 PM

  • Need to add new row in my table

    Hi all,
    1. i am developing new OAF page in which i have call stored procedure in my AM but when add code for create additional row only single row is creating.when i click for another row nonew is created.
    please help..
    this is the code i have used in AM
    package EmployeeDetail.oracle.apps.fnd.EmployeeDetail.server;
    import java.sql.CallableStatement;
    import java.sql.SQLException;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    import oracle.apps.jtf.gantt.javaui.events.TaskIdEvent;
    import oracle.jbo.Row;
    // --- File generated by Oracle ADF Business Components Design Time.
    // --- Custom code may be added to this class.
    // --- Warning: Do not modify method signatures of generated methods.
    public class EmployeeDetailAMImpl extends OAApplicationModuleImpl {
    /**This is the default constructor (do not remove)
    public EmployeeDetailAMImpl() {
    /**Sample main for debugging Business Components code using the tester.
    public static void main(String[] args) {
    launchTester("EmployeeDetail.oracle.apps.fnd.EmployeeDetail.server", /* package name */
    "EmployeeDetailAMLocal" /* Configuration Name */);
    /**Container's getter for EmployeeDetailWIPVO1
    public EmployeeDetailWIPVOImpl getEmployeeDetailWIPVO1() {
    return (EmployeeDetailWIPVOImpl)findViewObject("EmployeeDetailWIPVO1");
    public void task(String Name)
    OADBTransaction txn=getOADBTransaction();
    CallableStatement cst=null;
    OAViewObject vo=(OAViewObject)getEmployeeDetailWIPVO1();
    try{
    String CallProc="begin emp_task(:1);commit; end;";
    cst=txn.createCallableStatement(CallProc,0);
    cst.setString(1,Name);
    cst.execute();
    cst.close();
    catch (SQLException sqle) {
    throw OAException.wrapperException(sqle);
    public void initDetail(String Name)
    OAViewObject vo=(OAViewObject)getEmployeeDetailWIPVO1();
    vo.setWhereClause(null);
    vo.setWhereClauseParams(null);
    vo.setWhereClause("TASK_ID=:1");
    vo.setWhereClauseParam(0,Name);
    vo.executeQuery();
    public void createtask()
    OAViewObject vo=(OAViewObject)getEmployeeDetailWIPVO1();
    if(!vo.isPreparedForExecution())
    vo.executeQuery();
    Row row=vo.createRow();
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    public void rowadd() {
    OAViewObject vo = (OAViewObject)getEmployeeDetailWIPVO1();
    OADBTransaction txn = getOADBTransaction();
    if (!vo.isPreparedForExecution()) {
    vo.setWhereClause("1=0");
    vo.executeQuery();
    Row row = vo.last();
    row = vo.createRow();
    vo.setCurrentRow(row);
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    public void commit()
    OADBTransaction txn=(OADBTransaction)getTransaction();
    txn.commit();
    public void rollback()
    OADBTransaction txn=(OADBTransaction)getTransaction();
    txn.rollback();
    this on COntroller
    package EmployeeDetail.oracle.apps.fnd.EmployeeDetail.webui;
    import java.io.Serializable;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.table.OATableBean;
    * Controller for ...
    public class EmpTaskDetailCO extends OAControllerImpl
    public static final String RCS_ID="$Header$";
    public static final boolean RCS_ID_RECORDED =
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
    * Layout and page setup logic for a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OATableBean tableBean =
    (OATableBean)webBean.findChildRecursive("EmployeeDetailWIPVO11");
    if (tableBean != null)
    tableBean.setInsertable(true);
    tableBean.setAutoInsertion(false);
    * Procedure to handle form submissions for form elements in
    * a region.
    * @param pageContext the current OA page context
    * @param webBean the web bean corresponding to the region
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am=pageContext.getApplicationModule(webBean);
    String Name=pageContext.getParameter("SRNO");
    Serializable[] Nam={Name};
    am.invokeMethod("createtask");
    am.invokeMethod("task",Nam);
    am.invokeMethod("initDetail",Nam);
    /**if(pageContext.getParameter("CreateRow")!=null)
    am.invokeMethod("rowadd");
    OATableBean tableBean = (OATableBean)webBean.findChildRecursive("EmployeeDetailWIPVO11");
    if (tableBean.getName().equals(pageContext.getParameter(SOURCE_PARAM)) &&
    ADD_ROWS_EVENT.equals(pageContext.getParameter(EVENT_PARAM))) {
    am.invokeMethod("rowadd");
    else if (pageContext.getParameter("Apply")!=null)
    am.invokeMethod("commit");
    else if (pageContext.getParameter("Cancel")!=null)
    am.invokeMethod("rollback");
    }

    Hi ,
    Modify the the methods as given below
    public void rowadd() {
    OAViewObject vo = (OAViewObject)getEmployeeDetailWIPVO1();
    OADBTransaction txn = getOADBTransaction();
    if (!vo.isPreparedForExecution()) {
    vo.setWhereClause("1=0");
    vo.executeQuery();
    vo.next();
    vo.last();row = vo.createRow();
    vo.setCurrentRow(row);
    vo.insertRow(row);
    row.setNewRowState(Row.STATUS_INITIALIZED);
    Thanks
    Pratap

  • OAF changes Date Format

    Hi
    I need to store a date into a flexfield. We have enabled the Flexfield and there is NO value set attached to it.
    This attribute is already in the VO as a varchar, so we have just added a new column into the page as data type Date and link it to the flexfield column.
    In this page we have a table layout so the user can enter 10 rows before saving them. And this page it just used to punch data into a table, which means, once the user press apply the page saves and clears. The user can not query on that page.
    When entering the first row, we can open the Date picker and we can choose the date and then it populates the column as “DD-MON-YYYY”.
    The problem is:
    When we entering the second row after entering one column the pages changes the format of my date from the previous record to “YYYY-MM-DD”, then after entering any second column the pages clear the date from the previous row.
    Running the page from JDev it shows the following message before clears the flexfield:
    java.text.ParseException: 2011-01-28
    Note we have not extended the VO and not extended the controller.
    My questions are:
    1) Why the Self-Service is change the date format to YYYY-MM-DD even if the profile ICX: Date Format Mask (31-DEC-1999) and my preference is set to DD-MON-YYYY?
    2) How can I avoid this to happen? Is there any way to keep my date as DD-MON-YYYY?
    Thanks,
    Alex

    Alex,
    That was the update from Oracle support, when we raised it,
    But I did the following to handle that, I feel this is not the right way, since we had that issue as SEV1, I did that as a workaround,
    Check this this might help.
    package oracle.apps.xxper.selfservice.appraisals.webui;
    import com.sun.java.util.collections.HashMap;
    import java.io.Serializable;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.webui.*;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageCheckBoxBean;
    import oracle.apps.per.selfservice.appraisals.ApprConstants;
    import oracle.apps.per.selfservice.arch.webui.PerOAControllerImpl;
    import oracle.apps.per.selfservice.common.webui.CommonCO;
    import oracle.apps.per.selfservice.compgaps.Constants;
    import oracle.apps.per.selfservice.appraisals.webui.MAFinalRatingsPageCO;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    import oracle.apps.fnd.framework.OAViewObject;
    import java.sql.CallableStatement;
    import java.sql.ResultSet;
    import oracle.jbo.Row;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageDateFieldBean;
    import oracle.apps.per.selfservice.appraisals.server.AppraisalVORowImpl;
    public class XXPERMAFinalRatingsPageCO extends MAFinalRatingsPageCO
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    writeLog("XXPER",pageContext,"Start PR XXPERMAFinalRatingsPageCO ");
    OAMessageDateFieldBean dateBean =(OAMessageDateFieldBean) webBean.findChildRecursive("DeliveryDateTime");
    if(dateBean !=null )
    String dateBeanValue = (String) dateBean.getValue(pageContext) ;
    writeLog("XXPER",pageContext,"dateBean Value "+dateBeanValue);
    if(dateBeanValue !=null)
    if(dateBeanValue.indexOf(".0") !=-1)
    dateBeanValue = dateBeanValue.substring(0,dateBeanValue.length()-2);
    writeLog("XXPER",pageContext,"dateBean Updated Value "+dateBeanValue);
    String dateMaskQry = "SELECT value FROM V$NLS_Parameters WHERE parameter ='NLS_DATE_FORMAT'";
    writeLog("XXPER",pageContext,"dateMaskQry "+dateMaskQry);
    String dateMask = (String) executeSql(dateMaskQry, pageContext, webBean);
    writeLog("XXPER",pageContext,"dateMask : "+dateMask);
    String dateConvertQry = "select to_char(fnd_date.canonical_to_date('"+dateBeanValue+"') ,'"+dateMask+" HH24:MI:SS') from dual";
    writeLog("XXPER",pageContext,"dateConvertQry "+dateConvertQry);
    String convertedDateValue = (String) executeSql(dateConvertQry,pageContext,webBean);
    writeLog("XXPER",pageContext,"convertedDateValue "+convertedDateValue);
    if(convertedDateValue == null )
    convertedDateValue = dateBeanValue;
    dateBean.setValue(pageContext,convertedDateValue);
    writeLog("XXPER",pageContext,"After set the value "+convertedDateValue);
    setAttribute3(pageContext, convertedDateValue);
    writeLog("XXPER",pageContext,"After set the VO value "+convertedDateValue);
    }else
    writeLog("XXPER",pageContext,"dateBean value is null from the bean Get the value from getAttribute3() method");
    dateBeanValue = getAttribute3(pageContext);
    dateBean.setValue(pageContext,dateBeanValue);
    }else
    writeLog("XXPER",pageContext,"dateBean is null ");
    writeLog("XXPER",pageContext,"End PR XXPERMAFinalRatingsPageCO ");
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    writeLog("XXPER",pageContext,"Start PFR XXPERMAFinalRatingsPageCO ");
    writeLog("XXPER",pageContext,"Event Param "+pageContext.getParameter(EVENT_PARAM));
    OAMessageDateFieldBean dateBean =(OAMessageDateFieldBean) webBean.findChildRecursive("DeliveryDateTime");
    if(dateBean !=null )
    String dateBeanValue = (String) dateBean.getValue(pageContext) ;
    if(dateBeanValue !=null)
    if(dateBeanValue.indexOf(".0") !=-1)
    dateBeanValue = dateBeanValue.substring(0,dateBeanValue.length()-2);
    writeLog("XXPER",pageContext,"dateBean Updated Value "+dateBeanValue);
    String dateMaskQry = "SELECT value FROM V$NLS_Parameters WHERE parameter ='NLS_DATE_FORMAT'";
    writeLog("XXPER",pageContext,"dateMaskQry "+dateMaskQry);
    String dateMask = (String) executeSql(dateMaskQry, pageContext, webBean);
    writeLog("XXPER",pageContext,"dateMask : "+dateMask);
    String dateConvertQry = "select to_char(fnd_date.canonical_to_date('"+dateBeanValue+"') ,'"+dateMask+" HH24:MI:SS') from dual";
    //String dateConvertQry = "select fnd_date.string_to_canonical('"+dateBeanValue+"','"+dateMask+" HH24:MI:SS') from dual";
    writeLog("XXPER",pageContext,"dateConvertQry "+dateConvertQry);
    String convertedDateValue = (String) executeSql(dateConvertQry,pageContext,webBean);
    writeLog("XXPER",pageContext,"convertedDateValue "+convertedDateValue);
    if(convertedDateValue == null )
    convertedDateValue = dateBeanValue;
    dateBean.setValue(pageContext,convertedDateValue);
    writeLog("XXPER",pageContext,"After set the value "+convertedDateValue);
    setAttribute3(pageContext, convertedDateValue);
    writeLog("XXPER",pageContext,"After set the VO value "+convertedDateValue);
    }else
    writeLog("XXPER",pageContext,"dateBean is null ");
    writeLog("XXPER",pageContext,"End PFR XXPERMAFinalRatingsPageCO ");
    super.processFormRequest(pageContext, webBean);
    writeLog("XXPER",pageContext,"End PFR XXPERMAFinalRatingsPageCO (After Super Call )");
    public void writeLog(String moduleName, OAPageContext pageContext, String diagText)
    if(pageContext.isLoggingEnabled(OAWebBeanConstants.STATEMENT))
    System.out.println(moduleName+" : "+diagText);
    pageContext.writeDiagnostics(moduleName,diagText,OAWebBeanConstants.STATEMENT);
    * Method to execute SQL.
    public Object executeSql(String pSqlStmt, OAPageContext pageContext , OAWebBean webBean)
    OADBTransaction tx = pageContext.getApplicationModule(webBean).getOADBTransaction();// (OADBTransaction)getOADBTransaction();
    Object lObject = null;
    // Create the callable statement
    CallableStatement lCstmt = (CallableStatement)tx.createCallableStatement(pSqlStmt, 1);
    ResultSet rs = null;
    try
    rs = lCstmt.executeQuery();
    while(rs.next())
    lObject = rs.getObject(1);
    catch (Exception e)
    //throw OAException.wrapperException(e);
    finally
    try {
    if(rs!=null)
    rs.close();
    if(lCstmt != null)
    lCstmt.close();
    catch(Exception e) {
    throw OAException.wrapperException(e);
    return lObject;
    } // executeSql
    public void setAttribute3(OAPageContext pageContext, String dateValue)
    OAApplicationModule rootAM = pageContext.getRootApplicationModule();
    OAApplicationModule apprAM = (OAApplicationModule)rootAM.findApplicationModule("AppraisalsAM");
    OAViewObject appraisalVO = (OAViewObject)apprAM.findViewObject("AppraisalVO");
    writeLog("XXPER",pageContext,"appraisalVO "+appraisalVO);
    if(appraisalVO !=null)
    AppraisalVORowImpl appraisalVORow = (AppraisalVORowImpl) appraisalVO.getCurrentRow();
    if(appraisalVORow !=null)
    int attrCount = appraisalVO.getAttributeCount();
    writeLog("XXPER",pageContext,"Attrbuute count "+attrCount);
    String[] attributeNames = appraisalVORow.getAttributeNames();
    appraisalVORow.setAttribute3(dateValue);
    public String getAttribute3(OAPageContext pageContext)
    OAApplicationModule rootAM = pageContext.getRootApplicationModule();
    OAApplicationModule apprAM = (OAApplicationModule)rootAM.findApplicationModule("AppraisalsAM");
    String attribute3Value = "N";
    OAViewObject appraisalVO = (OAViewObject)apprAM.findViewObject("AppraisalVO");
    writeLog("XXPER",pageContext,"appraisalVO "+appraisalVO);
    if(appraisalVO !=null)
    AppraisalVORowImpl appraisalVORow = (AppraisalVORowImpl) appraisalVO.getCurrentRow();
    if(appraisalVORow !=null)
    int attrCount = appraisalVO.getAttributeCount();
    writeLog("XXPER",pageContext,"Attrbuute count "+attrCount);
    String[] attributeNames = appraisalVORow.getAttributeNames();
    writeLog("XXPER",pageContext," AppraisalId :- "+ appraisalVORow.getAppraisalId());
    attribute3Value = (String)appraisalVORow.getAttribute3();
    String attribute1Value = (String)appraisalVORow.getAttribute1();//getAttribute2
    String attribute2Value = (String)appraisalVORow.getAttribute2();
    writeLog("XXPER",pageContext," attribute3Value :- "+attribute3Value + " attribute1Value "+ attribute1Value +"attribute2Value "+attribute2Value);
    }else
    writeLog("XXPER",pageContext," appraisalVORow is null ");
    }else
    writeLog("XXPER",pageContext," appraisalVO is null ");
    return attribute3Value;
    }

Maybe you are looking for