Controller Extension

Hi All,
I am working on Controller Extension. I extend controller but whenever i do personalize particular controller i cann't identified that controller name.
how to identify the controller name.
Narayana

Naranya,
Sounds as if you are asking about OA Framework? If so, you should try asking on the OA Framework forum.
John

Similar Messages

  • Change requisition lov qeury through controller extension

    I'm new to OAF, if anyone has worked with requisition controller extension, please kindly help me. We've a requirement to take the value from DFF and append to the query in Supplier Name/Supplier Site Lov to restrict the list. I'm trying to extend the controller but unable to get the handle for ReqSupplierVO to set the where clause. Below is the code
    public class xxNonCatalogRequestCO extends NonCatalogRequestCO
    public xxNonCatalogRequestCO()
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    //OAApplicationModule lovAM = (OAApplicationModule)am.findApplicationModule("RequisitionLovAM");
    //OAViewObject vo = (OAViewObject)lovAM.findViewObject("ReqSupplierVO");
    ViewObjectImpl vo = (ViewObjectImpl)am.findViewObject("ReqSupplierVO");
    OAMessageLovInputBean mlib = (OAMessageLovInputBean)webBean.findIndexedChildRecursive("XX_LL3");
    String ll = (String)mlib.getValue(pageContext);
    if (vo != null)
    vo.setWhereClause(//"Query"//);
    Please help!!!

    The error seems to be casting but unable to figure out what's the issue here.
    Exception Details.
    oracle.apps.fnd.framework.OAException: java.lang.ClassCastException: oracle.apps.fnd.framework.webui.beans.form.OAFormValueBean
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:620)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1183)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:976)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:943)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:663)
         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:976)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:943)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:663)
         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:2629)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1949)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:549)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:437)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    ## Detail 0 ##
    java.lang.ClassCastException: oracle.apps.fnd.framework.webui.beans.form.OAFormValueBean
         at xxatc.oracle.apps.icx.icatalog.shopping.webui.xxatcNonCatalogRequestCO.processRequest(xxatcNonCatalogRequestCO.java:27)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:604)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1183)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:976)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:943)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:663)
         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:976)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:943)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:663)
         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:2629)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1949)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:549)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:437)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    java.lang.ClassCastException: oracle.apps.fnd.framework.webui.beans.form.OAFormValueBean
         at xxatc.oracle.apps.icx.icatalog.shopping.webui.xxatcNonCatalogRequestCO.processRequest(xxatcNonCatalogRequestCO.java:27)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:604)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:252)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1183)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:976)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:943)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:663)
         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:976)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:943)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:663)
         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:2629)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1949)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:549)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:437)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)

  • Create Partial Fire action on DFF context value in controller extension

    Hi All,
    I have a requirement where I will have to default the DFF attribute value based on the context value chosen in the same DFF.
    Since the page is a seeded page i have done that using Controller Extension.
    I have followed the below steps.
    1.I have created one class file XXR2R_AR_BANK_ACCT_EXTCO
    2. In that file I have written the following piece of code
    +public class XXR2R_AR_BANK_ACCT_EXTCO extends UpdateExtBankAcctCO {+
    public void processRequest(OAPageContext oapageContext,
    OAWebBean webBean)
    +{+
    super.processRequest(oapageContext, webBean);
    OADescriptiveFlexBean dfb =
    +(OADescriptiveFlexBean)webBean.findChildRecursive("FlexField");+ // This is the ID of the flexfield defined in seeded page
    FireAction firePartialAction = new FirePartialAction("contextvalchng");
    +}+
    public void processFormRequest(OAPageContext pageContext,OAWebBean webBean)
    +{+
    super.processFormRequest(pageContext, webBean);
    if ("contextvalchng".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM)))
    +{+              
    super.processFormRequest(pageContext, webBean);
    OADescriptiveFlexBean dffBean =
    +(OADescriptiveFlexBean)webBean.findChildRecursive("FlexField");+
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAViewObject extVO =
    +(OAViewObject)am.findViewObject("ExtBankAccountsVO");+ *// This is the view name corresponding to the DFF fields*
    String str = "" ;
    OARow row = null;
    if (extVO!=null)
    +{+
    row = (OARow) extVO.getCurrentRow();
    if (row!=null)
    +{+
    str = (String)row.getAttribute("ATTRIBUTE_CATEGORY"); *// here I have retrieved the context value of the DFF*
    +}+
    +}+
    dffBean.processFlex(pageContext);
    if ("DEN".equals(str)) *// if the context value is "DEN" then only the defaulting will be done*
    +{+
    OAMessageTextInputBean mnum = (OAMessageTextInputBean)webBean.findChildRecursive("FlexField1");
    mnum.setText("599956");
    row.setAttribute("ATTRIBUTE13","6995");
    +}+
    3. After compiling the .jave file I have placed the .class file in the CUSTOM_JAVA_TOP location and in the seeded page I have placed this CUSTOM_JAVA_TOP top path (in the personalize page section)exactly in the same way where the .class file is.
    But when I am changing the context value in the DFF nothing is actually happening.It is never including the custom file behavior.
    Please let me know if I am wrong in my coding or my approach.
    Thanks
    Sudie
    Edited by: user10816003 on Jun 21, 2010 5:54 AM
    Edited by: user10816003 on Jun 21, 2010 5:55 AM

    Hi,
    I think you need to set PPR on one of the segment of the DFF. Following is the code snippet I found few days back in forum. Use this in processRequest() method to set the PPR.
    OADescriptiveFlexBean oadescriptiveflexbean = (OADescriptiveFlexBean)webBean.findIndexedChildRecursive("ASNPrdtAddInfoFF"); //DFF ID...in your case it is "FlexField"
    if(null != oadescriptiveflexbean)
         oadescriptiveflexbean.processFlex(pageContext);
         //oadescriptiveflexbean.setFlexTableRendered(false); -- useful, if we want to render the items on our own.
         int cnt = oadescriptiveflexbean.getIndexedChildCount(pageContext.getRenderingContext());
         for(int i=0; i<cnt; i++)
              OAWebBean uiNode = (OAWebBean)oadescriptiveflexbean.getIndexedChild(pageContext.getRenderingContext(),i);
              if(null != uiNode && uiNode instanceof OAMessageTextInputBean )
                   System.out.println(i + "::::" + uiNode.getLabel() + "::::" + uiNode.getUINodeName()+ "\n");
                   if(uiNode.getUINodeName().equalsIgnoreCase("ASNPrdtAddInfoFF2")) //Segment ID...you need to find it out..on which segment you want to do PPR
                        FireAction firePartialAction = new FirePartialAction("Event.termChangeEvent", true); //This is I am not sure but it must be the event name
                        uiNode.setAttributeValue(PRIMARY_CLIENT_ACTION_ATTR,firePartialAction);
    Now you need to check for this event in processFormRequest() method. If this event fetched iterate the Vo rows and check the Attribute value there. if the value matched then do the defaulting process.
    Hope this helps..
    Regards,
    Mukesh Uchaniya

  • Controller Extension vs. AM Extension : Important

    Hi All,
    Keeping in view OAF seeded Page Customization Best Practice which is more advisable in the following scenario:
    (@Oracle Dev/Support guys: Please do provide arguments for/against. It would be helpful if u can point to any supporting Oracle Doc/metalink note )
    Requirement: Include User Input Validation Logic in a seeded page (validate values of custom DFF entered against an existing segment combination in a custom table)
    Solution Method1: Extending the region controller COSteps:
    1. Capture User Input
    2. Get current AM transactional object using
    ...//am is OAAplicationModule object
    OADBTransacton txn= am.getOADBTransaction();
    3. Use PreparedStatement to query the custom table
    4. Include data validation logic
    5. Point the region's controller to custom extended CO
    Solution Method2: Create a nw ViewObject and Extend the region AM to include validation logicSteps:
    1. Create VO for custom table
    2. Extend AM and include validation logic
    (The steps are just indicative and any other suggestions for solution is most appreciated. Also there is no need for any extra column/data to be shown or captured hence VO extension can b ruled out.)
    thanks
    --debashis                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Since your AM is not root AM, you can go ahead with AM extension.
    Only the extension of Root AM is not supported by OAF because of following issue
    OA Framework does not support substituting a root application module due to
    a known limitation in MDS and personalizations.
    A root application module substitution has no runtime effect in a deployed environment outside JDeveloper or
    could lead to a runtime error with a "Cannot Display Page" message in a LOV modal window in JDeveloper--Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Important: Upgrade safe Controller extension

    Hi
    i had to actually changed my VO query to include a new attribute, for which i extended the view object .
    I also needed to pass argument to the query thru "setWhereClauseParam". For this i am required to change the code in controller also.
    My query is how to extend the controller and use it , so that my whole changed activity works fine and is also upgrade safe as i can't change the oracle shipped controller file.
    Kindly reply soon.
    Regards,
    Mariah

    Controller extensions are similar to extending java classes. You need to create your custom controller and extend the seeded Oracle controller. Override the processRequest and processFormRequest methods whichever is necessary. Write your logic before or after calling super in these methods depending on how your logic needs to be introduced. Deploy the new controller, use personalization and change the controller class property to point to your controller. This way your logic as well as seeded controller's logic will both be executed.

  • Controller Extension Problem

    Hi experts,
    i have one more issue in oaf. once i compile in the jdev 10.1.3 its sucessfully compiled.
    and i deployed in the client instance and check the page once click on the finish button i am getting this error.
    Error Details
    Logout
    Error Page
    Exception Details.
    oracle.apps.fnd.framework.OAException: java.lang.ClassCastException: oracle.apps.fnd.framework.webui.beans.OARawTextBean
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:896)
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169)
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:1435)
         at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2850)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1838)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
         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:610)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
         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:595)
    ## Detail 0 ##
    java.lang.ClassCastException: oracle.apps.fnd.framework.webui.beans.OARawTextBean
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.findIndexedChild(OAPageLayoutBean.java:1392)
         at oracle.apps.per.common.webui.PerTransactionTopCOImpl.renderGlobalContext(PerTransactionTopCOImpl.java:884)
         at oracle.apps.per.common.webui.PerTransactionTopCOImpl.init(PerTransactionTopCOImpl.java:197)
         at oracle.apps.per.common.webui.PerTransactionTopCOImpl.processRequest(PerTransactionTopCOImpl.java:279)
         at oracle.apps.per.selfservice.arch.webui.PerOAControllerImpl.processRequest(PerOAControllerImpl.java:530)
         at oracle.apps.per.wpm.objectives.webui.ObjectivesPageCO.processRequest(ObjectivesPageCO.java:69)
         at oracle.apps.per.wpm.objectives.webui.EmpFinObjectivesPageCO.processRequest(EmpFinObjectivesPageCO.java:53)
         at db.oracle.apps.per.wpm.objectives.webui.DBEmpFinObjectivesPageCO.processFormRequest(DBEmpFinObjectivesPageCO.java:31)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:815)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processFormRequest(OAPageLayoutHelper.java:1189)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormRequest(OAPageLayoutBean.java:1579)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:1027)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:993)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:848)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(OAFormBean.java:395)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:1027)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:993)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:848)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(OABodyBean.java:363)
         at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2846)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1838)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
         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:610)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
         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:595)
    java.lang.ClassCastException: oracle.apps.fnd.framework.webui.beans.OARawTextBean
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.findIndexedChild(OAPageLayoutBean.java:1392)
         at oracle.apps.per.common.webui.PerTransactionTopCOImpl.renderGlobalContext(PerTransactionTopCOImpl.java:884)
         at oracle.apps.per.common.webui.PerTransactionTopCOImpl.init(PerTransactionTopCOImpl.java:197)
         at oracle.apps.per.common.webui.PerTransactionTopCOImpl.processRequest(PerTransactionTopCOImpl.java:279)
         at oracle.apps.per.selfservice.arch.webui.PerOAControllerImpl.processRequest(PerOAControllerImpl.java:530)
         at oracle.apps.per.wpm.objectives.webui.ObjectivesPageCO.processRequest(ObjectivesPageCO.java:69)
         at oracle.apps.per.wpm.objectives.webui.EmpFinObjectivesPageCO.processRequest(EmpFinObjectivesPageCO.java:53)
         at db.oracle.apps.per.wpm.objectives.webui.DBEmpFinObjectivesPageCO.processFormRequest(DBEmpFinObjectivesPageCO.java:31)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:815)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processFormRequest(OAPageLayoutHelper.java:1189)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormRequest(OAPageLayoutBean.java:1579)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:1027)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:993)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:848)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(OAFormBean.java:395)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:1027)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:993)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:848)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:382)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(OABodyBean.java:363)
         at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2846)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1838)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
         at OA.jspService(_OA.java:212)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
         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:610)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
         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:595)
    Logout
    Copyright (c) 2006, Oracle. All rights reserved.
    how can i resolve the issues. anything need to change in the code please let me know.
    please do replay ASAP its a critical part.
    i am calculating the sum of weighting percent should be 100% in the performance management plan based on using position id DFF.
    check the below code
    package db.oracle.apps.per.wpm.objectives.webui;
    import com.sun.java.util.collections.HashMap;
    //import com.sun.java.util.collections.Iterator;
    //import com.sun.java.util.collections.Iterator;
    import com.sun.java.util.collections.Map;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    //import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.per.wpm.objectives.server.ScorecardObjectivesVOImpl;
    import oracle.apps.per.wpm.objectives.webui.EmpFinObjectivesPageCO;
    //import oracle.apps.fnd.common.MessageToken;
    import oracle.jbo.Row;
    import oracle.jbo.RowSetIterator;
    public class DBEmpFinObjectivesPageCO extends EmpFinObjectivesPageCO {
    public DBEmpFinObjectivesPageCO() {
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean) {
    if(pageContext.isLoggingEnabled(1))
    pageContext.writeDiagnostics(this, "Entering processFormRequest..", 1);
    super.processRequest(pageContext, webBean);
    OAApplicationModule am =(OAApplicationModule)pageContext.getApplicationModule(webBean); //pageContext.getRootApplicationModule();
    String pprEvent = pageContext.getParameter("event");
    if(("Finish".equals(pprEvent))||(pageContext.getParameter("Finish") != null)){
    pageContext.writeDiagnostics(this,"Entering Into the Finish Button..",1);
    //Calling the method getObjectiveDetails to do the validation required
    String errCodes = getObjectiveDetails(pageContext,webBean);
    if (errCodes != null && errCodes.length()==0)
    pageContext.writeDiagnostics(this,"Error Messages",1);
    //Retrieve the message from FND_MESSAGES
    String errorMessage = am.getOADBTransaction().getMessage("XXDB", "XXDB_SUM_OF_OBJ_ERR"+ errCodes, null);
    //Raise OAF Exception
    throw new OAException(errorMessage, OAException.ERROR);
    protected String getObjectiveDetails(OAPageContext pageContext, OAWebBean webBean)
    pageContext.writeDiagnostics(this,"Enter Into the GetObjectiveDetails method",1);
    String errorPositionId = "";
    HashMap loHash = new HashMap();
    OAApplicationModule am =(OAApplicationModule) pageContext.getApplicationModule(webBean);
    //OAViewObject objectivesVO = (OAViewObject)am.findViewObject("ScorecardObjectivesVO");
    //OAApplicationModule am=(OAApplicationModule)pageContext.getApplicationModule(webBean);
    ScorecardObjectivesVOImpl objectivesVO=(ScorecardObjectivesVOImpl) am.findViewObject("ScorecardObjectivesVO");
    if (objectivesVO!=null)
    objectivesVO.reset();
    //Loop to fetch rows and details
    while(objectivesVO.hasNext())
    Row r1 = objectivesVO.next();
    Integer lsTempWeightage;
    if (r1!=null)
    String weightage = (String)r1.getAttribute("WeightingPercent");
    String positionId = (String)r1.getAttribute("Attribute11");
    if (positionId != null)
    pageContext.writeDiagnostics(this,"The PositionID is"+positionId,1);
    //Check if the positionid already exists.
    if(loHash.containsKey(positionId)){
    //If yes then add the weightage with the old one.
    lsTempWeightage = Integer.parseInt((String)loHash.get(positionId));
    lsTempWeightage = lsTempWeightage.intValue() + Integer.parseInt(weightage);
    // loHash.put(targetDate,lsTempWeightage) ; // ?? what is targetDate?
    loHash.put(positionId,lsTempWeightage) ;
    }else{ // Just put it into the hashmap
    loHash.put(positionId,weightage);
    //Checking whether the total for any positionId is not 100
    //Loop through the hashmap
    //if any sum of weightage !=100, then concatenate the corresponding positionId
    //to the error string errorTargetDates
    //Iterator i = set.iterator();
    RowSetIterator i = objectivesVO.createRowSetIterator("i"); //scoreObjVO.createRowSetIterator("scoreCardRowsetIterator");
    while(i.hasNext()){
    Map.Entry me = (Map.Entry)i.next();
    if (!me.getKey().equals("100"))
    if (errorPositionId == null || errorPositionId.length()==0)
    errorPositionId = errorPositionId + me.getValue();
    else
    errorPositionId = errorPositionId "," me.getValue();
    i.closeRowSetIterator();
    }//end of if
    return errorPositionId;
    }

    What are the changes you have done in the extended controller? Seems the Raw Text bean is having class cast exception in one of the SEEDED controllers. You just need to check the code in EmpFinObjectivesPageCO and understand the expected webbean type
    Regards
    Sumit

  • Null pointer Exception in Standard Controller Extension

    Hi All,
    I extend the controller, The controller is related to two Standard pages.
    My code is working fine for one controller, but where as for the other page it throws an error null pointer exception.
    Please help me as this is very urgent issue.
    My code is as follows:
    // This Controller is used to display Item Description and manufacturer name, which is extended from Standard Controller EgoItemDetailPageLayoutCO
    package oracle.apps.eng.changemgmt.webui;
    import com.sun.java.util.collections.ArrayList;
    import com.sun.java.util.collections.HashMap;
    import java.io.IOException;
    import java.io.Serializable;
    import java.net.URLEncoder;
    import java.util.Dictionary;
    import java.util.Vector;
    import oracle.apps.eng.changemgmt.nir.util.DisplayUtils;
    import oracle.apps.eng.changemgmt.util.*;
    import oracle.apps.eng.changemgmt.util.server.ActionServerUtil;
    import oracle.apps.eng.changemgmt.util.webui.ChangeRouteUIUtil;
    import oracle.apps.eng.changemgmt.util.webui.EngChangeUtil;
    import oracle.apps.eng.util.server.WorkflowUtil;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.*;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    import oracle.apps.fnd.framework.webui.*;
    import oracle.apps.fnd.framework.webui.beans.OAImageBean;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.form.OAFormValueBean;
    import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
    import oracle.apps.fnd.framework.webui.beans.layout.*;
    import oracle.apps.fnd.framework.webui.beans.message.*;
    import oracle.apps.fnd.framework.webui.beans.nav.*;
    import oracle.apps.fnd.framework.webui.beans.table.OATableBean;
    import oracle.apps.fnd.framework.webui.beans.OAFormattedTextBean;
    import oracle.cabo.ui.BaseMutableUINode;
    import oracle.cabo.ui.UIConstants;
    import oracle.cabo.ui.beans.*;
    import oracle.cabo.ui.beans.form.SubmitButtonBean;
    import oracle.cabo.ui.beans.form.TextInputBean;
    import oracle.cabo.ui.beans.layout.*;
    import oracle.cabo.ui.beans.message.MessageBoxBean;
    import oracle.cabo.ui.beans.message.MessageStyledTextBean;
    import oracle.cabo.ui.beans.nav.LinkBean;
    import oracle.jbo.*;
    import oracle.jbo.domain.Number;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import oracle.apps.ego.item.eu.util.EgoItemContext;
    import oracle.apps.ego.item.eu.util.EgoOrganizationContext;
    import oracle.apps.fnd.framework.OAApplicationModule;
                   public class XXNRChangeDetailPageEXTCO extends ChangeDetailPageCO
                        public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
                             super.processRequest(oapagecontext, oawebbean);
                             XXNRchangeDetailIncontext(oapagecontext,oawebbean);
                   public void XXNRchangeDetailIncontext(OAPageContext oapagecontext,OAWebBean oawebbean)
                             int x=2;
                   int y=3;
                                  EgoItemContext egoitemcontext = EgoItemContext.getItemContextObject(oapagecontext);
                                  OAApplicationModule am=oapagecontext.getApplicationModule(oawebbean);
                             EgoOrganizationContext egoorganizationcontext = EgoOrganizationContext.getOrganizationContextObject(oapagecontext);
                                  int invitemid=egoitemcontext.getItemId();
                             int organizationid=egoorganizationcontext.getOrganizationId();
                             StringBuffer stringbuffer = new StringBuffer();
                             String s = EngChangeUtil.getItemPageContextFlag(oapagecontext);
                             OAPageLayoutBean oapagelayoutbean = oapagecontext.getPageLayoutBean();
                                  String manufacturer=XXNRgetManufactuer(am,invitemid,organizationid);
                   String s1 = null;
                   String s2 = "";
                   String s3 = EngChangeUtil.getChangeNumber(oapagecontext) != null ? EngChangeUtil.getChangeNumber(oapagecontext) : "";
                             if(EngChangeUtil.getChangeName(oapagecontext) != null)
                                  EngChangeUtil.getChangeName(oapagecontext);
                             if(EngChangeUtil.getItemNumber(oapagecontext) != null)
                                  EngChangeUtil.getItemNumber(oapagecontext);
                   String s4 = EngChangeUtil.getOrgCodeContext(oapagecontext) != null ? EngChangeUtil.getOrgCodeContext(oapagecontext) : "";
                   String s5 = EngChangeUtil.getOrgNameContext(oapagecontext) != null ? EngChangeUtil.getOrgNameContext(oapagecontext) : "";
                   String s6 = EngChangeUtil.getOrgIdContext(oapagecontext) != null ? EngChangeUtil.getOrgIdContext(oapagecontext) : "";
                             if(!"Y".equals(s))
                                  if(s3 != null && !s3.trim().equals(""))
                                            s1 = "NORMAL";
                                            s2 = "<b>" + EngChangeUtil.getOriginalChangeMgmtTypeName(oapagecontext) + ": " + s3 + "</b>";
                                       } else
                                                 s1 = "CREATE";
                   String s7 = "<b>" + oapagecontext.getMessage("ENG", "ENG_ORGANIZATION_TEXT", null) + ": " + s5 + " (" + s4 + ")</b>";
                   if(!"-1".equals(s6) && !"".equals(s4) && !"Y".equals(s))
    //StringBuffer stringbuffer = new StringBuffer();
                   if(s1 != null && !s1.equals("CREATE"))
                             stringbuffer.append(s2 + "<br>");
                             if(egoitemcontext != null)
                             stringbuffer.append("<b>");
                             stringbuffer.append(oapagecontext.getMessage("EGO", "EGO_ITEM", null));
                             stringbuffer.append(": ");
                             stringbuffer.append(egoitemcontext.getItemNumber());
                             stringbuffer.append("  ");
                             stringbuffer.append(oapagecontext.getMessage("EGO", "EGO_REVISION_CODE", null));
                             stringbuffer.append(": ");
                             stringbuffer.append(egoitemcontext.getRevisionLabel());
                             stringbuffer.append("</b><br>");          
                             if(x==2)
                                            stringbuffer.append(oapagecontext.getMessage("EGO", "EGO_ITEM_DESC", null));
                                  stringbuffer.append(": ");
                                  stringbuffer.append(egoitemcontext.getItemDescription());
                                  stringbuffer.append("</b><br>");
                             if(y==3)
                             stringbuffer.append("<b>");
                             stringbuffer.append(oapagecontext.getMessage("EGO", "EGO_MANUFACTURER", null));
                             stringbuffer.append(": ");
                             stringbuffer.append(manufacturer);
                             stringbuffer.append("</b><br>");
                                  stringbuffer.append(s7+"<br>");
              OAFormattedTextBean oaformattedtextbean = (OAFormattedTextBean)createWebBean(oapagecontext, "FORMATTED_TEXT_BEAN");
              oaformattedtextbean.setCSSClass("OraTipLabel");
              oaformattedtextbean.setText(stringbuffer.toString());
              oapagelayoutbean.setInContextBranding(oaformattedtextbean);
              return;     
                        OAApplicationModule oaapplicationmodule = oapagecontext.getApplicationModule(oawebbean);
                        if(oaapplicationmodule.getOADBTransaction().getResponsibilityApplicationId() == 242 && s2 != null && !"".equals(s2))
                             OAFormattedTextBean oaformattedtextbean1 = (OAFormattedTextBean)createWebBean(oapagecontext, "FORMATTED_TEXT_BEAN");
                             oaformattedtextbean1.setStyleUsage("inContextBranding");
                             oaformattedtextbean1.setText(s2);
                             oapagelayoutbean.setInContextBranding(oaformattedtextbean1);
                   public String XXNRgetManufactuer(OAApplicationModule am,int invitemid ,int organizationid)
                        String manufacturer=null;
                             try
                                  PreparedStatement ps=am.getOADBTransaction().getJdbcConnection().prepareStatement("Select XXNRgetManufacturer(?,?) from dual");
                                  ps.setInt(1,invitemid);
                                  ps.setInt(2,organizationid);
                                  ResultSet rs=ps.executeQuery();
                                  while (rs.next())
                             manufacturer=rs.getString(1);
              catch(SQLException e)
                   e.printStackTrace();
    return manufacturer;
    My Error is as follows:
    java.lang.NullPointerException
         at oracle.apps.eng.changemgmt.webui.XXNRChangeDetailPageEXTCO.XXNRchangeDetailIncontext(XXNRChangeDetailPageEXTCO.java:65)
         at oracle.apps.eng.changemgmt.webui.XXNRChangeDetailPageEXTCO.processRequest(XXNRChangeDetailPageEXTCO.java:55)
         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.beans.layout.OAHeaderBean.processRequest(OAHeaderBean.java:389)
         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.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:350)
         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.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:2336)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1735)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:509)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:430)
         at oa_html._OA._jspService(_OA.java:82)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
         at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:175)
         at oa_html._OA._jspService(_OA.java:92)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:385)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:259)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:178)
         at oracle.jsp.JspServlet.service(JspServlet.java:148)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
         at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
         at org.apache.jserv.JServConnection.run(JServConnection.java:294)
         at java.lang.Thread.run(Thread.java:595)
    Thanks and Regards
    Zaheer

    Hi,
    Can you paster your error log here, also during which execution flow are you getting the error.
    Thanks,
    Ankul

  • Expenditure Type LOV-- Adding where clause with controller extension- help

    Hi Gurus,
    I'm new to OA Framework and Java and I need to extend the controller for the expenditure type lov in iProcurement. I need to add a where clause to the VO to show only those expenditure
    types that will pass transactions controls based on the project and task.
    Name of the VO:ExpenditureTypeNoAwardLOVVO
    controller:oracle.apps.icx.lov.webui.ExpenditureTypeLovCO
    Original Query from the VO:
    select * from (SELECT et.expenditure_type, et.sys_link_start_date_active,
    et.sys_link_end_date_active, 1 as dummy_number
    FROM pa_expenditure_types_expend_v et
    WHERE et.system_linkage_function = 'VI'
    and (trunc(sysdate) between et.expnd_typ_start_date_active and
    nvl(et.expnd_typ_end_date_active, trunc(sysdate+1)))
    and (trunc(sysdate) between et.sys_link_start_date_active and
    nvl(et.sys_link_end_date_active, trunc(sysdate+1))) QRSLT
    ((WHERE UPPER(EXPENDITURE_TYPE) like UPPER(:1)
    AND (UPPER(EXPENDITURE_TYPE) like :2 or UPPER(EXPENDITURE_TYPE) like :3
    or UPPER(EXPENDITURE_TYPE) like :4 or UPPER(EXPENDITURE_TYPE) like :5)))
    I created a custom database function xxpa_check_txnctl which takes project_id, task_id and expenditure type as parameters and returns "Y" if that expenditure type is valid or
    returns "N" if it is not valid.
    What I need to add to the where clause of the above query is
    and *'Y' = ( select xxpa_check_txnctl(project_id,task_id,et.expenditure_type) from dual)* to the standard VO query so that only valid expenditure types will show up in the LOV for that
    project/task combination.
    I enabled the Debug Log from Diagnostics and able to see the values of project_id and task_id in the controller attached to the LOV (oracle.apps.icx.lov.webui.ExpenditureTypeLovCO) as shown
    below. Please tell me how I can add the where condition to the custom controller .
    I really appreciate your help.
    Thanks in Advance,
    Shree.
    ==========================================================================================
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:#Param# ProjectId=13
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:lov criteria item from dictionary in getLovItemNumber():
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:#Param# TaskId=796
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:VO used in ExpenditureTypeLovCO.java:
    [28]:STATEMENT:[icx.lov.webui.ExpenditureTypeLovCO]:#Param# voName=ExpenditureTypeNoAwardLovVO
    ==========================================================================================
    Here is the code for the standard controller:
    ==========================================================================================
    package oracle.apps.icx.lov.webui;
    import com.sun.java.util.collections.ArrayList;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.webui.beans.form.OAFormValueBean;
    import oracle.apps.fnd.framework.webui.beans.layout.OAListOfValuesBean;
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageStyledTextBean;
    import oracle.apps.icx.por.req.webui.CheckoutInfoBaseCO;
    import oracle.jbo.domain.Number;
    public class ExpenditureTypeLovCO extends CheckoutInfoBaseCO
    public static final String RCS_ID = "$Header: ExpenditureTypeLovCO.java 120.1 2006/07/25 06:33:16 sudsubra noship $";
    public static final boolean RCS_ID_RECORDED = VersionInfo.recordClassVersion("$Header: ExpenditureTypeLovCO.java 120.1 2006/07/25 06:33:16 sudsubra noship $",
    "oracle.apps.icx.lov.webui");
    public ExpenditureTypeLovCO()
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processRequest(oapagecontext, oawebbean);
    java.util.Dictionary dictionary = oapagecontext.getLovCriteriaItems();
    Number number = getLovItemNumber(oapagecontext, dictionary, "ReqAwardId");
    Number number1 = getLovItemNumber(oapagecontext, dictionary, "ProjectId");
    Number number2 = getLovItemNumber(oapagecontext, dictionary, "TaskId");
    String s = null;
    if(number == null)
    s = "ExpenditureTypeNoAwardLovVO";
    } else
    ArrayList arraylist = new ArrayList(1);
    arraylist.add("getDefaultAwardId");
    Number number3 = (Number)executeServerCommand(oapagecontext, oapagecontext.getApplicationModule(oawebbean), "CheckoutLovSvrCmd", arraylist);
    if(isLoggingEnabled(oapagecontext, 1))
    logParam(this, oapagecontext, "defaultAwardId", number3, 1);
    if(number.equals(number3))
    s = "ExpenditureTypeWithDefaultAwardLovVO";
    OAViewObject oaviewobject = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("ExpenditureTypeWithDefaultAwardLovVO");
    oaviewobject.setWhereClauseParam(0, number1);
    oaviewobject.setWhereClauseParam(1, number2);
    } else
    s = "ExpenditureTypeWithAwardLovVO";
    OAViewObject oaviewobject1 = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("ExpenditureTypeWithAwardLovVO");
    oaviewobject1.setWhereClauseParam(0, number);
    if(isLoggingEnabled(oapagecontext, 1))
    logMsg(this, oapagecontext, "VO used in ExpenditureTypeLovCO.java:", 1);
    logParam(this, oapagecontext, "voName", s, 1);
    OAMessageStyledTextBean oamessagestyledtextbean = (OAMessageStyledTextBean)oawebbean.findIndexedChildRecursive("ExpenditureType");
    oamessagestyledtextbean.setViewUsageName(s);
    OAMessageStyledTextBean oamessagestyledtextbean1 = (OAMessageStyledTextBean)oawebbean.findIndexedChildRecursive("StartDate");
    oamessagestyledtextbean1.setViewUsageName(s);
    OAMessageStyledTextBean oamessagestyledtextbean2 = (OAMessageStyledTextBean)oawebbean.findIndexedChildRecursive("EndDate");
    oamessagestyledtextbean2.setViewUsageName(s);
    OAFormValueBean oaformvaluebean = (OAFormValueBean)oawebbean.findIndexedChildRecursive("ReqAwardId");
    oaformvaluebean.setViewUsageName(s);
    OAFormValueBean oaformvaluebean1 = (OAFormValueBean)oawebbean.findIndexedChildRecursive("ProjectId");
    oaformvaluebean1.setViewUsageName(s);
    OAFormValueBean oaformvaluebean2 = (OAFormValueBean)oawebbean.findIndexedChildRecursive("TaskId");
    oaformvaluebean2.setViewUsageName(s);
    ((OAListOfValuesBean)oawebbean).setViewUsageName(s);
    public void processFormRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processFormRequest(oapagecontext, oawebbean);
    ==========================================================================================

    Hi, I will try to look into the issue. I have also done customizations like this in past.
    To achieve this, we must read the Process request of CO properly and understand the places, where you have to make changes. In my case, I identify such places and also I couldn't extend the controller class. SO I took the code from standard CO, changed it at couple of places and created a class file with same code as standard CO but with changed at some places. After that I gave newly created CO name in personalization property, so that the page will follow newly created custom CO.
    So I would suggest to read the CO properly, to understand which line is doing what......

  • R12-Controller Code extension

    hi,
    i am extending a top level controller in the Oracle Depot Repair Standard pages ................ can i extend a top-level controller ............if yes
    can any help in the process or step by step of controller extensions in R12
    plzz help me
    waiting for the help

    Hi Naveen,
    Right Click on you project.jpr and click on New
    Under the Catagories->Click on General and in Items[right side] select Java Class
    Here give New Controller Name, Package Name it like be xxx.oracle.apps.fnd....
    xxx-> it could be your company identifier like hp.oracle.apps.fnd
    In the Extends property give the exact path of the controller from which you want to extend it.
    Extend the controller and follow the steps given in the below thread.
    Re: problem button Controller
    Thanks
    --Anil                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Unable to Load Page after extending a controller

    Hi
    I am working in controller extension. Now the issue which I am facing is while doing the controller extension.
    While doing the extension I have mistakenly entered the wrong path for the custom package which will have the controller extension class.
    Now after extending the main CO, when I am trying to load the page it is giving me an OA error. My intenstion was to personalize the page and instruct the controller extension to substitute the main controller.
    Since I am not able to load the page, unable to configure the controller extension through page personalization. The page is not getting loaded and not allowing me to proceed further.
    Please help me to resolve this issue. How can I get back to my original state of the page with the main controller.

    another easy way to correct the mistakes in personalization.
    1. using xmlExporter export the personalization..
    2. correct the controller name in the xml file..
    3. import the personalization using xmlImporter..
    for more info.. see http://prasanna-adf.blogspot.com/2008/02/deploying-oafwk.html
    sometimes this may be helpful in saving time in navigating funcational administrator.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Getting error while extending controller

    Hi
    I have a task and i have the navigation like this.
    Search for a value >> get the value >> click on it >> go to the next page ( a form ) >> then validate a input field over there.
    So i have decided to extend the controller to achieve that. But when i am testing it locally using JDev the error i am getting is :-
    I have just written a SOP in the processFormRequest in the extending class.
      public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processFormRequest(pageContext, webBean);
          System.out.println("Inside pfr");
    Error
    (This developer mode error is thrown instead of being registered due to the lack of the page context object.) The OA passivation framework coding standard has been violated. Web bean properties cannot be modified in the controller processFormData or processFormRequest method. Web bean properties should be modified in the processRequest method only. An attempt to modify a web bean has been made in the following call stack: java.lang.Throwable at oracle.apps.fnd.framework.OACommonUtils.getCallStack(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.setAttributeValue(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.setAttributeValue(Unknown Source) at oracle.apps.fnd.framework.webui.beans.nav.OALinkBean.setAttributeValue(Unknown Source) at oracle.cabo.ui.beans.nav.LinkBean.setDestination(Unknown Source) at oracle.apps.fnd.framework.webui.OABreadCrumbsHelper.replaceLinkDestination(Unknown Source) at oracle.apps.fnd.framework.webui.beans.nav.OABreadCrumbsBean.replaceLinkDestination(Unknown Source) at oracle.apps.po.common.webui.ClientUtil.updateBreadCrumbUrlForSubtab(ClientUtil.java:1832) at oracle.apps.po.document.common.webui.DocumentCO.processFormRequest(DocumentCO.java:423) at oracle.apps.po.document.order.webui.OrderCO.processFormRequest(OrderCO.java:100) at xxifms.oracle.apps.po.document.order.webui.XxifmsOrderLinesTableRNCO.processFormRequest(XxifmsOrderLinesTableRNCO.java:43) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(Unknown Source) at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(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.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 com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595)
    Please Help.
    Thanks in Advance.
    Chinmay.

    Hi keerthi,
    Thanks for the reply.
    The requirement is like this. I have to validate a field Quantity against decimal values.
    Navigation is like this
    TRE PURCHASING BUYER >> ORDER >> INCOMPLETE ORDER >> SEARCH >> Put values in search page >> get the values from there >> click on it >> UPDATE >> LINES >> FORM >> VALIDATE Quantity FIELD THERE.
    My approach is - for the particular page i have to see the PersonalizePage and get the Document Name out of there.
    The AboutPage  will show all the controller involved with the particular input field Number.
    Then have to see that xml file in the JDev and then extend the controller.
    Now for the time being i have written nothing after extending the controller.
    package xxifms.oracle.apps.po.document.order.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.po.document.order.webui.OrderCO;
    * Controller for ...
    public class XxifmsOrderLinesTableRNCO extends OrderCO
      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);
        System.out.println("Inside pr");
       * 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.processRequest(pageContext, webBean);
        System.out.println("Inside pfr");   
    But again a  problem is when i look at About Page. i find multiple Numbers of Quantity there and
    so cannot track which one is the one pointing my input field and thus cannot conclude which controller and view objects are associated with it.
        Controller                         ViewObject
    OrderLinesTableRNCO             PoLinesMergeVO
    OrderShipmentsTableRNCO            PoLineLocationsMergeVO
    OrderTopOUTotalCO               PoLineLocationsMergeVO
    So i don't know is there any problem of controller extend with the error or the error is independent of controller extension.
    As far i know if we have to validate a input field we can write the logic in ProcessFormRequest.
    Please help.
    Thanks,
    Chinmay.

  • Extending ExpensesCO.class controller

    Hi Guys,
    I am totally new to this technology, I need to extend the controller ExpensesCO.class.
    Can you please tell me how to start with this extenson. I have installed correct jdeveloper version and tested connectivity and all.
    But when i am trying to open this class in Jdev, i dont see the query that i have to modify.
    I can see the query in the ExpenseTemplatesVO.xml.
    To start the customization, do i need to copy all files from Java Top/ap/oie to my personal system in the same structure.
    I need guidance on how to start up with this cutomization , like do i need to copy all files in my personal system and how do i test , by copying only the modified file etc etc.
    any adice is much appreciated.
    Thansk
    Sunil

    See the steps of Controller Extension:
    http://oracleanil.blogspot.com/2010/09/controller-extension-r12-oaf.html
    Also let us know your requirement so that we can suggest you whether you have to go for Controller or VO Extension or NOT.
    Thanks
    --Anil
    http://oracleanil.blogspot.com

  • Vo extension in responsibility level

    Hi All,
    one standard page is showing in two responsibities,i want to extend vo to write one new where condition in query of vo.but this new where condition sholud applicable for only first responsibility,it will not effect to second reponsibility.
    how to do this?please any body help me on this.
    Karthik

    If you want to change the whereClause for two different then go for Controller Extension at Responsibility level.
    http://oracleanil.blogspot.com/2010/09/controller-extension-r12-oaf.html
    Thanks
    --Anil
    http://oracleanil.blogspot.com/

  • How to identify which controller to extend in a standard page?

    Hi  All,
    we need to extend the controller  of expense audit page in R12  to default  "original package receipt date" field as sysdate  when the user enters the  expense report number and click on go  button.
    I am new to OAF.
    we have many controllers in this  page. please let me know which controller to extend for this?
    Also let me know if any sample code is available?
    Please help.Its bit urgent

    Hi,
    1) Go to expense audit page then click on about this page link at Bottom .
    2) click on Expand All
    3) Then Search for field "original package receipt date" After getting field name, Top nearest controller in controller column is your exact Controller.
    Check this link for controller extension https://blogs.oracle.com/prajkumar/entry/controller_extension_in_oaf
    Regards,
    Dilip

  • Fiori Extension Point Question

    I am trying to extend the Approve Timesheets app, there is an extension point in the Object header that I would like to add attributes to:
    <ObjectHeader
                    title="{parts:[{path:'DetailModel>/Cotype'},{path:'DetailModel>/Codesc'}],formatter:'hcm.mgr.approve.timesheet.utility.Parser.projectTitle'}"
                    number="{DetailModel>/No_People}"
                    numberUnit="{i18n>TSA_PEOPLE}"
                    visible="{DetailModel>/CostVisible}">
                    <firstStatus>
                        <ObjectStatus text="{path:'DetailModel>Overtime', formatter:'hcm.mgr.approve.timesheet.utility.Parser.parseOverTime'}"></ObjectStatus>
                    </firstStatus>
                    <!-- extension point for additional fields -->
                    <core:ExtensionPoint name="extS3CostHeader"></core:ExtensionPoint>
                </ObjectHeader>
    I used the Add SAP Fiori Extension option in Juno so I am pretty sure I have the component.js part setup right, here is my code for the fragment:
    <core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core">
          <attributes>
          <ObjectAttribute text="Hello World" />     
        </attributes>
    </core:FragmentDefinition>
    Wen I run the app it just hangs?
    Thoughts?
    Do I need something more in the fragment?

    Hi Mike (& Jason),
    I am having exactly the same issue trying to add an extension point to the Wave 2 PO Approval app.
    Like your example, the ExtensionPoint is placed in the standard view within an open construct (in your case <ObjectHeader>     ....     </ObjectHeader>; in my case for the MM_PO_APV app S2 view it is within <ObjectListItem>   ...   </ObjectListItem>).
    It seems that the core code that inserts the extension point fragment code into the standard code at the insertion point does not understand that the fragment is a sub-element of the open object definition at that point and goes looking for a javascript file of the sub-element name.
    I have searched through every Fiori and SAPUI5 document I can find for an example of a working view extension fragment where the extension point is located within an open definition like these, but have not been able to find one. I assume there is some syntax required in the fragment to give the right context to the extension point handler, but being a long time abaper and not a JS or XML programmer I have not been able to crack it. All the short documents on extensibility just give the basics and assume the code fragment will just work, and the long documents (like the SAPUI5 developers guide and the Hana SDK site) also do not cover this exact scenario with an example of the fragment code. However I have seen posts here by people saying that they have implemented these same view extensions successfully.
    It is possible that it is an XML namespace issue but I have seen it written that the code fragments should inherit all bindings from the view where the extension point is, so that should be taken care of and the JS library resolution worked out based on the view being extended.
    I have got a controller extension working on the S3 view of the PO Approval app so I am not a complete SAPUI5 dolt (well, until proven otherwise ).
    Mike - did you get it to work? If so can you post the code? I invite anyone with a working view extension, where the insertion point is located within an open object definition, to post the code fragment here (please).
    For reference, the extension point in the PO Approval S2 view is located just before the </ObjectListItem> tag in the following SAP-standard view code (posted after my signature below)
    Regards,
    Mark
    <List
         id="list"
         mode="{device>/listMode}"
         select="_handleSelect">
         <ObjectListItem     
              id="MAIN_LIST_ITEM"
              type="{device>/listItemType}"
              press="_handleItemPress"
              title="{SupplierName}"
              number="{parts:[{path : 'Value'}], formatter : 'ui.s2p.mm.purchorder.approve.util.Conversions.lazyRoundNumber'}"
              numberUnit="{Currency}">
              <firstStatus>
                   <ObjectStatus
                        text="{parts:[{path:'WiCreatedAt'}], formatter:'ui.s2p.mm.purchorder.approve.util.Conversions.formatDaysAgo'}">
                   </ObjectStatus>
              </firstStatus>
              <attributes>
                   <ObjectAttribute text="{ItemDescriptions}" />
                   <ObjectAttribute text="{CreatedByName}" />
                   <ObjectAttribute text="{parts:[{path : 'ForwardedByName'}], formatter : 'ui.s2p.mm.purchorder.approve.util.Conversions.forwardedBy'}"
                   visible="{parts:[{path : 'ForwardedByName'}], formatter : 'ui.s2p.mm.purchorder.approve.util.Conversions.commonFieldVisibilityTrigger'}" />
                   <ObjectAttribute text="{parts:[{path : 'SubstitutingForName'}], formatter : 'ui.s2p.mm.purchorder.approve.util.Conversions.substitutedBy'}"
                   visible="{parts:[{path : 'SubstitutingForName'}], formatter : 'ui.s2p.mm.purchorder.approve.util.Conversions.commonFieldVisibilityTrigger'}" />
                   </attributes>
                   <core:ExtensionPoint name="extListItemInfo" />
         <ObjectListItem>
    </List>

Maybe you are looking for

  • How to set a variant View of ALV at runtime

    Hi, For each user, I have saved in a specific table the Configuration Key of The variant he has created. At runtime I want to set this one in my ALV component. I think to use the method if_salv_wd_comp_table_pers~set_standard_view of class CL_SALV_WD

  • How do i remove an offer for a free subscription to a magazine?

    How do I remove an offer for a "free" subscription to a magazine that was offered on my ipad? There is no "option" except to subscribe. It wont go away.

  • Can I upgrade Camera Raw support in Elements 10 to level 8.3 or 8.4?

    I just bought a Nikon D5300 and I wanted to shoot see some test images I shot in Camera Raw.  Trouble is that Elements 10 support for NEF files is at level 6.7, and, according to the Adobe charts, the D5300 NEF files are supported at level 8.3 or 8.4

  • Upgrade to 11.1.2.1 using maintenance - Dev & PROD

    Hi Experts, I have two Environment for 11.1.2 (Prod & Dev) Upgrading to 11.1.2.1 using maintenance which is OK. Option 1: upgrade Dev to 11.1.2.1 ------> then new install/Config as PROD and using LCM to migrate Planning/reporting etc..... ( No impact

  • HT1414 Error when backup iphone 4

    when I do backup, there are an error: An error occured while backing up this Iphone (-43). Continuing will result in the lost of all content on this iphone. What should I do ?