3 Replies Latest reply on Apr 19, 2016 4:54 PM by Shddn

    OAF: HRMS: super.processFormRequest is not working in EIT page

    Sunil Makam

      Hi,

       

      I have extended oracle.apps.per.selfservice.review.webui.ReviewCO Controller for EIT page in SSHR. There is a requirement to make the attachment as mandatory for all EIT's. So I have extended the mentioned Controller and made the attachment as mandatory. I could see the error message when the attachment is not attached, fine. After attaching it, when I pressed on Submit button, the controller is going into error. Below is my PFR and Error stack. InsertDb is my debug method. I am getting debug messages of numbers 2,3,4,5,6,7,9,10.

       

      As per my understanding, with some reason Super.processFormRequest method is not working. Please suggest if anything is wrong.

       

      PFR Code:

      public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)

          {

        InsertDb(2,"In the PFR",pageContext,webBean);

        OAApplicationModule am=pageContext.getApplicationModule(webBean);

        OADBTransaction txn = am.getOADBTransaction();

        InsertDb(3,"After OADBTransaction",pageContext,webBean);

        SSHRParams TxnParams = new SSHRParams(pageContext.getRootApplicationModule());

        String transactionid = TxnParams.getTransactionId();

        InsertDb(4,"Transactionid :"+transactionid,pageContext,webBean);

        OAMessageAttachmentLinkBean oamessageattachmentlinkbean = (OAMessageAttachmentLinkBean)webBean.findChildRecursive("AttachmentLink");

        InsertDb(5,"After OAMessageAttachmentLinkBean :"+oamessageattachmentlinkbean,pageContext,webBean);

        String val = (String)oamessageattachmentlinkbean.getAttributeValue(pageContext.getRenderingContext(),TEXT_ATTR);

        InsertDb(6,"The value of val is :"+val,pageContext,webBean);

        if(pageContext.getParameter("HrSubmit") != null && "View".equals(val.trim()))

        {

        InsertDb(7,"After View Condition",pageContext,webBean);

        super.processFormRequest(pageContext, webBean);

        }

        if (pageContext.getParameter("HrSubmit") != null && "None".equals(val.trim())) {

        InsertDb(8,"Before Exception",pageContext,webBean);

        throw new OAException("Attachment is Mandatory for this leave, please attach and apply.",OAException.ERROR);  }

        else

        {

        InsertDb(9,"Else Exception",pageContext,webBean);

        super.processFormRequest(pageContext, webBean);

        }

        InsertDb(10,"After IF,else",pageContext,webBean);

        super.processFormRequest(pageContext, webBean);

          }

       

       

      ERROR after Submit Button: (Attachment is attached):

       

      Error Page

      Exception Details.
      oracle.apps.fnd.framework.OAException: java.lang.NumberFormatException: null at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912) at oracle.apps.per.selfservice.workflowservice.server.WFUtility.getActivityId(WFUtility.java:1760) at oracle.apps.per.selfservice.workflowservice.server.WFUtility.getActivityId(WFUtility.java:1718) at oracle.apps.per.selfservice.review.webui.ConfirmationNavCO.processRequest(ConfirmationNavCO.java:113) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:600) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.layout.OAContentFooterBean.processRequest(OAContentFooterBean.java:356) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:989) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1182) at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353) at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2607) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1940) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:543) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:431) at _OA._jspService(_OA.java:212) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:280) at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:68) at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:214) at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:219) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:395) at _OA._jspService(_OA.java:221) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:619) ## Detail 0 ## java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:415) at java.lang.Integer.(Integer.java:620) at oracle.apps.per.selfservice.workflowservice.server.WFUtility.getActivityId(WFUtility.java:1758) at oracle.apps.per.selfservice.workflowservice.server.WFUtility.getActivityId(WFUtility.java:1718) at oracle.apps.per.selfservice.review.webui.ConfirmationNavCO.processRequest(ConfirmationNavCO.java:113) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:600) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.layout.OAContentFooterBean.processRequest(OAContentFooterBean.java:356) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:989) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1182) at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353) at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2607) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1940) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:543) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:431) at _OA._jspService(_OA.java:212) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:280) at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:68) at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:214) at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:219) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:395) at _OA._jspService(_OA.java:221) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:619) java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:415) at java.lang.Integer.(Integer.java:620) at oracle.apps.per.selfservice.workflowservice.server.WFUtility.getActivityId(WFUtility.java:1758) at oracle.apps.per.selfservice.workflowservice.server.WFUtility.getActivityId(WFUtility.java:1718) at oracle.apps.per.selfservice.review.webui.ConfirmationNavCO.processRequest(ConfirmationNavCO.java:113) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:600) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.layout.OAContentFooterBean.processRequest(OAContentFooterBean.java:356) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:989) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1182) at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:968) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:935) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:659) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252) at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353) at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2607) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1940) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:543) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:431) at _OA._jspService(_OA.java:212) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:280) at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:68) at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:214) at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:219) at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:395) at _OA._jspService(_OA.java:221) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:619)

       

      Thanks,

      SM

        • 1. Re: OAF: HRMS: super.processFormRequest is not working in EIT page
          Shddn

          You cannot make a call to super as per your requirement. It's mandatory and should be first statement in method. I am seeing you are giving call to super inside blocks. Can you try without that. Also give call to super inside try catch block

          • 2. Re: OAF: HRMS: super.processFormRequest is not working in EIT page
            Sunil Makam

            Hi,

             

            Thanks for the reply. I tried keeping super in the beginning of PFR then the error was skipped (Not fired). When I removed it, no action was performed after clicking on Submit button.

             

            So finally it worked out with the below peace of code.


                public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)

                {

                    InsertDb(2,"MSK: In the PFR",pageContext,webBean);

              OAApplicationModule am=pageContext.getApplicationModule(webBean);

              OAMessageAttachmentLinkBean oamessageattachmentlinkbean = (OAMessageAttachmentLinkBean)webBean.findChildRecursive("AttachmentLink");

              InsertDb(3,"MSK: After OAMessageAttachmentLinkBean :"+oamessageattachmentlinkbean,pageContext,webBean);

              String val = (String)oamessageattachmentlinkbean.getAttributeValue(pageContext.getRenderingContext(),TEXT_ATTR);

              InsertDb(4,"MSK: The value of val is :"+val,pageContext,webBean);

              if (pageContext.getParameter("HrSubmit") != null && "None".equals(val.trim())) {

              InsertDb(5,"MSK: Before Exception",pageContext,webBean);

              throw new OAException("Attachment is Mandatory for this leave, please attach and apply.",OAException.ERROR);  }

              InsertDb(10,"MSK: After IF,else",pageContext,webBean);

              super.processFormRequest(pageContext, webBean);

                }

             

            Thanks,

            SM

            • 3. Re: OAF: HRMS: super.processFormRequest is not working in EIT page
              Shddn

              though this code works now but is not patch safe. suppose oracle adds some more button if your super is in if block then standard actions in that page would be ignored.