Extend controller at responsibility level ?

Hi,
Can controller of the pagelayout be extended at responsibility level ?
what could be the repurcussions.
Thanks

Yes, you can. Custom controller would be effective only for the selected responsibility.
--Prasanna                                                                                                                                                                                                           

Similar Messages

  • Extending View Object at Responsibility level.

    Hi All,
    Is it possible to extend view object at responsibility level?
    Please tell me steps for extending view object at responsibility level/function level.
    Thanks in advance.
    Laukik Pachanekar

    Substitution of VO & AM will can be done only at site level. However controller extension can be personalized/substituted at any level, which includes responsibility level also.
    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/

  • Defaulting Expense Template on Responsibility Level

    Hi All,
    I am trying to use personalization to default expense templates at the responsibility level in iExpense, but it doesn't seem to be working. I typed the expense template name in the Initial Value field of the messageChoice item for Expense Template, but this does not default to the appropriate template even after apache is bounced. The expense template defaults to the original expense template that was there and does not default to the new template that we added. I've tried this at the site and responsibility levels but neither seem to work.
    Is there a way of doing this through personalization or does it require extension?
    Thank you.

    Hi,
    Actually Defaulting on OA Framework also has a Hierarchy.
    Hierarchy is:
    Highest level Level 1 : Default(or initial value) values through Controller
    Level 2 : Default(or initial value) values through Personalizations.
    level 3 : Default(or initial value) values through initial value property at design time.
    level 4 : Default(or initial value) values through View Object
    Lowest level Level 5 : Default(or initial value) values through Entity Object create method.
    Refer to this link : http://oracle.anilpassi.com/defaults-in-oa-framework-concepts-and-practical-approach-2.html
    In your case i think the Default is done through Controller thats why it is not getting overridden through personalizations.
    In this case you need to extend the controller.
    Thanks,
    Gaurav

  • Not able to capture button event in extended controller

    Hi Gurus,
    I am not able to capture the button event (of seeded controller) in extended controller.
    I have written code in extended controller like below:
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean){
        String str = pageContext.getParameter("event"); // copied from seeded controller for the button event //
          if ("editLines".equals(str)) {
            //cutom validation
      super.processFormRequest(pageContext, webBean);
    Please help me in resolving the issue.
    Thanks,
    Srinivas
        ///my cutom validateion

    Hi Bm,
    Thanks for your response.
    I have tried the same but no luck.
    Please help in getting this resolved.
    Thanks,
    Srinivas

  • Modify view object at responsibility level

    Hello,
    One of our business requirements is to change the drop-down values for several list of values based on the responsibility the user is logged in with. For example when creating a new application, the LOV 'Country' needs to list certain countries under the responsibility A and other countries under the responsibility B.
    In order to accomodate this requirement, I have created an extension to the VO oracle.apps.igs.utilities.server.countriesVO that can be found on the create application page. I have tried two different approaches:
    Approach 1:
    I have modified the SQL code and used the import utility jpximport to enable the substitution and everything works fine EXCEPT that the substitution is done at the site level, not the responsibility level. There are no options to enable the substitution at the responsibility level.
    I tried changing the MDS repository. After initial substitution, the query
    BEGIN jdr_utils.printDocument('/oracle/apps/igs/utilities/server/customizations/site/0/CountriesVO'); END;
    returns the XML for personalization (substitution). I deleted that entry using
    BEGIN jdr_utils.deleteDocument('/oracle/apps/igs/utilities/server/customizations/site/0/CountriesVO'); END;
    and used the import utility to import the XML at the responsibility level. the query
    BEGIN jdr_utils.printDocument('/oracle/apps/igs/utilities/server/customizations/responsibility/23331/CountriesVO'); END;
    returns the correct XML but the extension doesnt appear on the screen.
    Do you know what I am missing and if it is possible to enable substitutions at the responsibility level (not site level) at all?
    Approach 2:
    I am still implementing the View Object extension but I am modifying the SQL code to handle the responsibility:
    Original SQL Code:
    SELECT territory_short_name,territory_code
    FROM fnd_territories_vl
    Updated SQL Code:
    SELECT territory_short_name,territory_code
    FROM fnd_territories_vl
    WHERE fnd_global.resp_name <> 'A' OR fnd_global.resp_name IS NULL
    UNION ALL
    SELECT description as territory_short_name,territory_code
    FROM fnd_territories_vl
    WHERE fnd_global.resp_name = 'B'
    ORDER BY 1
    I used the import utility jpximport to enable the substitution and everything works fine EXCEPT that the View Object gets cached and the SQL statement is only executed the first time the object is called. If I clear the cache and I log in using the responsibility A then the countries are correctly displayed. If I login using the responsibility B then the countries for responsibility A are displayed. Same occurs if I clear the cache, login using responsibility B first then switch to responsibility A. Countries for responsibility B are always displayed.
    We need to find a way for the SQL to be re-executed every time this object is called. This object should not be cached. Is that possible at all?
    Thank you for your help
    Benoit

    Substitution of VO & AM will can be done only at site level. However controller extension can be personalized/substituted at any level, which includes responsibility level also.
    Thanks,
    --Anil
    http://oracleanil.blogspot.com/

  • Extended Controller is not working for SalaryCorrectPG.xml page

    Dear All,
    I have a problem with customisation in Oracle's seeded page in HRMS Module.
    The page navigation is as follows:
    Login--->Home Page---->Access Payroll Manager Responsibility------>people--->Enter & Maintain--->search for an employee------>click on Assignment button---->Click on Salary button--->Salary details page will open----->Click on correct button of the salary page.
    Now I have extended the SalaryCorrectVO in the salary correct page under a custom directory (but structure is same as the seeded one)
    and Created one attribute in the SalaryCorrectVO which is showing multiplied value of FTE Salary and FTEFactor in the page.
    Now my concern is in the page there are three fileds(Amount Change, Change %,FTE Salary) which are editable. PPR event is fired when any value
    changes in these 3 fields. Now my extended attribute (xxSalaryCorrectVO) is depending on the 3rd field's value i.e FTE Salary. So after page load when these 3 field's
    value changes the FTESalary field's value is also changing but my extended attribute's value is not changing (XxfteSalary) .
    So I need to update the controller of that page under where the PPR event is catched. So to update PPR event part I have extended the controller
    SalaryCorrectCO class and write the follwoing code in the extended controller and put the controller in the custom directory.But whenever i put the
    extended controller in the path the Salary Correct page is throwing 'null pointer exception' when the page loads itself. Please help...........
    Thanks in Advance....
    extended controller code:
    package xxcustomname.oracle.apps.per.saladmin.webui;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OARow;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.per.saladmin.webui.SalaryCorrectCO;
    import xxexp.oracle.apps.per.saladmin.server.xxSalaryCorrectVOImpl;
    import xxexp.oracle.apps.per.saladmin.server.xxSalaryCorrectVORowImpl;
    public class xxSalaryCorrectCO extends SalaryCorrectCO {
    public void processFormRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processFormRequest(oapagecontext, oawebbean);
    OAApplicationModule oaapplicationmodule = oapagecontext.getApplicationModule(oawebbean);
    String s2 = oapagecontext.getParameter("event");
    if("changedNewSalary".equals(s2))
    //Custom Code to Populate the xxfteSalary field
    String rowReference =
    oapagecontext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
    OARow row = (OARow)oaapplicationmodule.findRowByRef(rowReference);
    if (row.getAttribute("AnnualSalary") != null)
    String fteSalary = row.getAttribute("AnnualSalary").toString();
    float fteSalaryFlt = Float.parseFloat(fteSalary);
    //Have to get the row Impl class object to get the getter of FTE Factor to get the FTE Factor value in String
    xxSalaryCorrectVOImpl vo =
    (xxSalaryCorrectVOImpl)oaapplicationmodule.findViewObject("xxSalaryCorrectVO");
    xxSalaryCorrectVORowImpl fteFactorEqRow =
    (xxSalaryCorrectVORowImpl)vo.getCurrentRow();
    String fteFactorNM = fteFactorEqRow.getFteFactor().toString();
    float fteFactorflt =Float.parseFloat(fteFactorNM);
    float actualSalary = (fteSalaryFlt * fteFactorflt);
    oracle.jbo.domain.Number actualSalaryNMVal = null;
    actualSalaryNMVal = new oracle.jbo.domain.Number(actualSalary);
    row.setAttribute("XxfteSalary", actualSalaryNMVal);
    //Custom Code to Populate the xxfteSalary field Ends here
    } else
    if("changedChangeAmount".equals(s2))
    //Custom Code to Populate the xxfteSalary field*
    String rowReference =
    oapagecontext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
    OARow row = (OARow)oaapplicationmodule.findRowByRef(rowReference);
    if (row.getAttribute("AnnualSalary") != null)
    String fteSalary = row.getAttribute("AnnualSalary").toString();
    System.out.println(fteSalary);
    float fteSalaryFlt = Float.parseFloat(fteSalary);
    //Have to get the row Impl class object to get the getter of FTE Factor to get the FTE Factor value in String
    xxSalaryCorrectVOImpl vo =
    (xxSalaryCorrectVOImpl)oaapplicationmodule.findViewObject("xxSalaryCorrectVO");
    xxSalaryCorrectVORowImpl fteFactorEqRow =
    (xxSalaryCorrectVORowImpl)vo.getCurrentRow();
    String fteFactorNM = fteFactorEqRow.getFteFactor().toString();
    float fteFactorflt =Float.parseFloat(fteFactorNM);
    float actualSalary = (fteSalaryFlt * fteFactorflt);
    oracle.jbo.domain.Number actualSalaryNMVal = null;
    actualSalaryNMVal = new oracle.jbo.domain.Number(actualSalary);
    row.setAttribute("XxfteSalary", actualSalaryNMVal);
    //Custom Code to Populate the xxfteSalary field Ends here
    } else
    if("changedChgPercent".equals(s2))
    //Custom Code to Populate the xxfteSalary field
    String rowReference =
    oapagecontext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
    OARow row = (OARow)oaapplicationmodule.findRowByRef(rowReference);
    if (row.getAttribute("AnnualSalary") != null)
    String fteSalary = row.getAttribute("AnnualSalary").toString();
    float fteSalaryFlt = Float.parseFloat(fteSalary);
    //Have to get the row Impl class object to get the getter of FTE Factor to get the FTE Factor value in String
    xxSalaryCorrectVOImpl vo =
    (xxSalaryCorrectVOImpl)oaapplicationmodule.findViewObject("xxSalaryCorrectVO");
    xxSalaryCorrectVORowImpl fteFactorEqRow =
    (xxSalaryCorrectVORowImpl)vo.getCurrentRow();
    String fteFactorNM = fteFactorEqRow.getFteFactor().toString();
    float fteFactorflt =Float.parseFloat(fteFactorNM);
    float actualSalary = (fteSalaryFlt * fteFactorflt);
    oracle.jbo.domain.Number actualSalaryNMVal = null;
    actualSalaryNMVal = new oracle.jbo.domain.Number(actualSalary);
    row.setAttribute("XxfteSalary", actualSalaryNMVal);
    //Custom Code to Populate the xxfteSalary field Ends here
    }

    oracle.apps.fnd.framework.OAException: java.lang.NullPointerException
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:896)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:612)
         at oracle.apps.fnd.framework.webui.OAWebBeanTableHelper.processRequest(OAWebBeanTableHelper.java:2141)
         at oracle.apps.fnd.framework.webui.OAAdvancedTableHelper.processRequest(OAAdvancedTableHelper.java:581)
         at oracle.apps.fnd.framework.webui.beans.table.OAAdvancedTableBean.processRequest(OAAdvancedTableBean.java:737)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(OAHeaderBean.java:391)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:350)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1166)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2496)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1892)
         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:204)
         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.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         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:621)
         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.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         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.NullPointerException
         at oracle.apps.per.saladmin.webui.SalaryCorrectCO.processRequest(SalaryCorrectCO.java:177)
         at xxexp.oracle.apps.per.saladmin.webui.xxSalaryCorrectCO.processRequest(xxSalaryCorrectCO.java:18)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:596)
         at oracle.apps.fnd.framework.webui.OAWebBeanTableHelper.processRequest(OAWebBeanTableHelper.java:2141)
         at oracle.apps.fnd.framework.webui.OAAdvancedTableHelper.processRequest(OAAdvancedTableHelper.java:581)
         at oracle.apps.fnd.framework.webui.beans.table.OAAdvancedTableBean.processRequest(OAAdvancedTableBean.java:737)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(OAHeaderBean.java:391)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:350)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1166)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2496)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1892)
         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:204)
         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.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         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:621)
         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.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         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.NullPointerException
         at oracle.apps.per.saladmin.webui.SalaryCorrectCO.processRequest(SalaryCorrectCO.java:177)
         at xxexp.oracle.apps.per.saladmin.webui.xxSalaryCorrectCO.processRequest(xxSalaryCorrectCO.java:18)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:596)
         at oracle.apps.fnd.framework.webui.OAWebBeanTableHelper.processRequest(OAWebBeanTableHelper.java:2141)
         at oracle.apps.fnd.framework.webui.OAAdvancedTableHelper.processRequest(OAAdvancedTableHelper.java:581)
         at oracle.apps.fnd.framework.webui.beans.table.OAAdvancedTableBean.processRequest(OAAdvancedTableBean.java:737)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.layout.OAHeaderBean.processRequest(OAHeaderBean.java:391)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:350)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1166)
         at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
         at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
         at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2496)
         at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1892)
         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:204)
         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.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         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:621)
         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.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         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)

  • Missing class file for extended controller

    Any response/advice is greatly appreciated.
    I've searched the forums, and I saw some had this error, but the post wasn't resolved. We are on 12.1.3. I've done this plenty of times when we were on 11.5.10 with great success. I've personalize a page to look at my extendedController, bounced apache:
    adapcctl.sh stop
    adoacorectl.sh stop
    adoacorectl.sh start
    adapcctl.sh start
    Web page brings up:
    oracle.apps.fnd.framework.OAException: oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.classloader.util.AnnotatedNoClassDefFoundError, msg= Missing class: emsc.oracle.apps.emscper.dor.webui.ExtDocsOfRecordUpdateCO (wrong name: ExtDocsOfRecordUpdateCO) Dependent class: emsc.oracle.apps.emscper.dor.webui.ExtDocsOfRecordUpdateCO Loader: oacore.root:0.0.0 Code-Source: /demsci/applmgr/common/java/classes/ Configuration: <library> in /demsci/applmgr/common/webapps/oacore/
    Verified spelling, ensure class file is where it is suppose to be:
    $ echo $JAVA_TOP
    /demsci/applmgr/common/java/classes
    $ echo `pwd`
    /demsci/applmgr/common/java/classes/emsc/oracle/apps/emscper/dor/webui
    Created new /dor/webui directory as user applmgr.
    $ ls -ltr $JAVA_TOP/emsc/oracle/apps/emscper/dor/webui
    total 9
    -rw-r--r-- 1 apdemsci aademsci 3243 Nov 28 18:26 ExtDocsOfRecordUpdateCO.java
    -rwxrwxrwx 1 apdemsci aademsci 3710 Nov 28 18:26 ExtDocsOfRecordUpdateCO.class
    ClassPath has the $JAVA_TOP listed:
    /demsci/applmgr/common/java/classes
    Thanks

    I moved the extended class to the standard directory: $JAVA_TOP/oracle/apps/per/dor/webui
    Recompiled it there
    From Functional Administrator, changed the path of the extended controller to the standard path:
    oracle.apps.per.dor.webui.ExtDocsOfRecordUpdateCO
    Bounced apache/cleared cached.
    Received the same error, very strange....
    Missing class: oracle.apps.per.dor.webui.ExtDocsOfRecordUpdateCO (wrong name: ExtDocsOfRecordUpdateCO) Dependent class: oracle.apps.per.dor.webui.ExtDocsOfRecordUpdateCO Loader: oacore.root:0.0.0 Code-Source: /demsci/applmgr/common/java/classes/ Configuration: <library> in /demsci/applmgr/common/webapps/oacore/
    Verified the class file is there and it is where it is suppose to be:
    $ pwd
    /demsci/applmgr/common/java/classes/oracle/apps/per/dor/webui
    you have mail in /var/spool/mail/apdemsci
    $ ls -ltr ExtDocsOfRecordUpdateCO.class
    -rw-r--r-- 1 apdemsci aademsci 3710 Nov 29 15:29 ExtDocsOfRecordUpdateCO.class
    Makes no sense...
    For your other point, I don't want rename the subdirectory since we have other extensions dependent on the path name.
    Thanks

  • VO substitution at Responsibility level

    Substitution is always at site level. Is there any way to set it at Responsibility/Function level? Any pointers on this?
    Thanks in advance
    Murari

    Substitution of VO & AM will always be at site level.
    You will notice that, once substituted, Oracle creates a personalized document at site level for VO.
    On the other hand, a controller can be personalized/substituted at any level, which includes responsibility level.
    Thanks,
    Anil Passi
    http://oracle.anilpassi.com
    Message was edited by:
    user547923

  • Help - Extended Controller for Blanket PO not working

    Isupplier portal : PO details page
    On page /oracle/apps/pos/changeorder/webui/PosViewPOPG , I extended ViewOrderPGCO.
    All the items in PO, which have bill of material are made as hyper links and clicking on them pops up a window with bill of mateiral displayed.
    All worked fine untill I opened Blanket PO, there is an item which should be displayed as link, but its static. so I put SOPs in extended controller after each line, and to my consternation it does not print any SOP.
    Blanket POs in isupplier portal have hyphens in PO Number. Has anyone faced this problem ? why is the extension not reflecting in case of blanket po ? What am i missing ?
    Thanks in advance.

    Anyone please help.
    Extended CO for blanket PO doesnt seem to be called whereas for standard PO it works.
    Steps taken
    - MAViewOrderPGCO extends ViewOrderPGCO and replaced the new CO through personalization at site level.
    public class MAViewOrderPGCO extends ViewOrderPGCO
      public void processRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processRequest(pageContext, webBean);
       System.out.println("___________________________________");  //This prints for STANDARD PO  but not for Blanket PO }
    }could someone help me in debugging this. I am terribly stuck.

  • After extending controller

    Hi,
    I have extended a controller for a region and using personalization i assigned the extended controller to the page.
    In another page i have a page with the same region. So again i just give the name of the extended controller name using personalization.
    Is there possible to make the region to point to the extended controller, so that in the second page i no need to set the name manually.
    Thanks in Advance,
    Jegan

    Personalization can be done at Page scope and region scope.
    when doing the personalization you can see the scope at top of the page.
    When you select Personalize Page link at top of the page, then personalization is stored at the page level.
    When you select the pernalize region link, then OAF will check if its a shared region or not..
    if its not a shared region, personalization will be stored at the page level.
    If its a shared region, then personalization is store at region level.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Extended Controller not working

    Hi
    I have extended the controller and tried to call a pl/sql package and tried to insert data into a custom table. I have attached the controller through personalization at site level. and moved the .class file to $JAVA_TOP. The page is not showing any error. I added a field on a page and try to save the data to a custom field.
    When i try to save the page it is showing me a message that Successfully saved!. but data is not getting populated in Custom table.
    CO code:
    package oracle.apps.ar.creditmgt.application.webui;
    import java.sql.Connection;
    import java.sql.Types;
    import oracle.apps.ar.creditmgt.application.webui.OCMAddFinDataCO;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.framework.webui.OAControllerImpl;
    import oracle.apps.fnd.framework.webui.OAPageContext;
    import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    import oracle.apps.fnd.framework.OAApplicationModule;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OAViewObject;
    import oracle.apps.fnd.framework.webui.beans.layout.OAQueryBean;
    import oracle.jbo.Row;
    import oracle.jbo.domain.Number;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.sql.CHAR;
    public class MANOCMAddFinDataCO extends OCMAddFinDataCO {
    public MANOCMAddFinDataCO() {
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processRequest(oapagecontext, oawebbean);
    OAViewObject oaviewobject3 = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("CaseFoldersVO");
    if(oaviewobject3 != null)
    Row row5 = oaviewobject3.first();
    if(row5 != null)
    Number pCaseFolderId = (Number)row5.getAttribute("CaseFolderId");
    oapagecontext.putTransactionValue("CasefolderID", pCaseFolderId);
    OAViewObject oaviewobject = (OAViewObject)oapagecontext.getApplicationModule(oawebbean).findViewObject("creditAppFinancialDataVO");
    if(oaviewobject != null)
    Row row1 = oaviewobject.first();
    if(row1 != null) {
    Number pFinDataId = (Number)row1.getAttribute("FinancialDataId");
    oapagecontext.putTransactionValue("FinDataID", pFinDataId);
    public void processFormData(OAPageContext oapagecontext, OAWebBean oawebbean)
    super.processFormData(oapagecontext, oawebbean);
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAQueryBean queryBean = (OAQueryBean)webBean.findChildRecursive("OCMBtnLayOutRN");
    // String apply = queryBean.getGoButtonName();
    if (pageContext.getParameter("Apply") != null)
    Integer pcaseFolderId = (Integer) pageContext.getTransactionValue("CasefolderID");
    Integer pfinDataId = (Integer) pageContext.getTransactionValue("FinDataID");
    String pSubDebt = pageContext.getParameter("SubordinatedDebt");
    Connection conn = pageContext.getApplicationModule(webBean).getOADBTransaction().getJdbcConnection();
    try
    OracleCallableStatement cs = (OracleCallableStatement)conn.prepareCall("begin OCM_FIN_DATA_PKG.Insert_Fin_Data(:1, :2, :3,:4); end;");
    cs.setInt(1, pfinDataId);
    cs.setInt(2, pcaseFolderId);
    cs.setString(3, pSubDebt);
    cs.registerOutParameter(4,Types.CHAR);
    cs.execute();
    CHAR outP = cs.getCHAR(4);
    cs.close();
    if( outP.equals('S'))
    throw new OAException("Success");
    else{
    throw new OAException("Failed to Insert");
    catch (Exception exception)
    throw new OAException("Error in Connection");
    Package:
    CREATE OR REPLACE
    PACKAGE BODY OCM_FIN_DATA_PKG
    AS
    PROCEDURE Insert_Fin_Data
    p_finacial_id NUMBER,
    p_casefolder_id NUMBER,
    p_SubDebt NUMBER,
    x_status OUT VARCHAR2)
    IS
    BEGIN
    FND_FILE.PUT_LINE ( FND_FILE.LOG,'Before Insert: '||p_finacial_id||'; Casefolder id:'||p_casefolder_id||'; Subordinate Debt:'||p_SubDebt ) ;
    INSERT
    INTO MAN_OCM_FIN_DATA
    Financial_data_id,
    Casefolder_Id,
    Subordinated_Debt
    VALUES
    p_finacial_id,
    p_casefolder_id,
    p_SubDebt
    commit;
    x_status := 'S' ;
    FND_FILE.PUT_LINE
    FND_FILE.LOG,'Inserted Successfully '
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    x_status := 'E' ;
    NULL;
    FND_FILE.PUT_LINE
    FND_FILE.LOG,'No data for p_finacial_id = '||p_finacial_id||'; Casefolder id:'||p_casefolder_id||'; Subordinate Debt:'||p_SubDebt
    WHEN OTHERS THEN
    x_status := 'E' ;
    FND_FILE.PUT_LINE
    FND_FILE.LOG,'Error related to p_SubDebt - '||p_finacial_id||'; Casefolder id:'||p_casefolder_id||'; Subordinate Debt:'||p_SubDebt||'ERR'||SQLERRM
    END Insert_Fin_Data;
    END MAN_OCM_FIN_DATA_PKG;
    show errors;
    Please tell me if there is any error in what i did. Please tell me why the data is not being populated in custom table!.
    I tried to run an anonymous block and it was successful!.
    DECLARE
    x_sts VARCHAR2(1);
    a NUMBER := 11111;
    b NUMBER := 22222;
    c NUMBER := 33333;
    BEGIN
    MAN_OCM_FIN_DATA_PKG.insert_fin_data(p_finacial_id => a, p_casefolder_id => b , p_SubDebt => c, x_status => x_sts );
    dbms_output.put_line('Status:'||x_sts);
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line(SQLERRM);
    END;.
    Please advice on how to go ahead. I am not able to debug as i didnt download the seeded pages into my jdevloper.
    Please help on this,
    Thanks,
    Prakash

    Prakash
    As you said you are able to see the log for processRequest that means your extended controller is being called.That's good.
    I am not able to see the log for the processFormRequest. The data is not being populated in the db tableHave you written some logs there if yes and still you are not able to see them.Do one them move called to super after your code and then check.
    Means your extended controller pfr method would be something like this
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAQueryBean queryBean = (OAQueryBean)webBean.findChildRecursive("OCMBtnLayOutRN");
    // String apply = queryBean.getGoButtonName();
    if (pageContext.getParameter("Apply") != null)
    Integer pcaseFolderId = (Integer) pageContext.getTransactionValue("CasefolderID");
    Integer pfinDataId = (Integer) pageContext.getTransactionValue("FinDataID");
    String pSubDebt = pageContext.getParameter("SubordinatedDebt");
    Connection conn = pageContext.getApplicationModule(webBean).getOADBTransaction().getJdbcConnection();
    try
    OracleCallableStatement cs = (OracleCallableStatement)conn.prepareCall("begin OCM_FIN_DATA_PKG.Insert_Fin_Data(:1, :2, :3,:4); end;");
    cs.setInt(1, pfinDataId);
    cs.setInt(2, pcaseFolderId);
    cs.setString(3, pSubDebt);
    cs.registerOutParameter(4,Types.CHAR);
    cs.execute();
    CHAR outP = cs.getCHAR(4);
    cs.close();
    if( outP.equals('S'))
    throw new OAException("Success");
    else{
    throw new OAException("Failed to Insert");
    catch (Exception exception)
    throw new OAException("Error in Connection");
    super.processFormRequest(pageContext, webBean);
    }Thanks
    AJ

  • Not able to get the profile value set at Responsibility level

    Hi,
    I had set the value of a custom profile at Responsibility level and in CO i used the
    following code,
    String rLocation = pageContext.getProfile("XXTMG_PR_SCP_LOCATION");
    The above call returns NULL. But if i set the value of the profile at Site Level then the above code returns the correct value of the profile. I bounced the apache after the profile option was changed but no avail.
    I even tried using getOADBTransaction().getSpecificProfile() in the AM (which was
    called from CO) as below but could not get the value of the profile,
    Number lRespID = new Number(getOADBTransaction().getResponsibilityId());
    String retLoc1 = getOADBTransaction().getSpecificProfile("XXTMG_PR_SCP_LOCATION","","",
    lRespID.toString());
    Could any of you please let me know whether i have missed something in the code which results in not getting the correct value for the profile at the Responsibility level.
    Thanks, Suresh.

    Instead of passing null for the other parameters in call to getSpecificProfile, can you please set these params and try ?
    Also, please note that if a value is defined at site level, then even if a value is present at the resp level, the value at site will be returned when you use getProfile method.
    Thanks
    Tapash

  • Make all the forms at a user level or responsibility level to be read only

    Hi,
    Please suggest me to make all the forms at a user level or responsibility level to be read only. So that when a particular user logs in, he gets all the form in read only mode or at a particular responsibility all the forms are read only so that we can attach this responsibility to the user for the same purpose.
    Any ideas will be highly appreciated.

    check this blog,
    http://www.oracleappshub.com/11i/oracleapps-responsibility-vs-sap-functions/
    Re: How to change OM responsibility as read-only in oracle applications 11i
    read only responsibility-user

  • Calling a web-service from extended controller

    Hello,
    We are tying to consume a web-service in extended controller of a page. We created stub files using
    */oracle/d01/oracle/VIS/db/tech_st/11.1.0/jlib/axis.jar* and related jar files found on the E-BS Server.
    We are using our stub classes in the extended controller, code gets compiled fine, we have deployed our CO, along with class files
    of the stub in
    $JAVA_TOP/xxcustom/oarcle/apps/.... folder.
    Now when we access the page for which we have extended the controller, we get following error
    oracle.apps.fnd.framework.OAException: oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.classloader.util.AnnotatedNoClassDefFoundError, msg=
         Missing class: org.apache.axis.client.Service
    Seems like server can't find */oracle/d01/oracle/VIS/db/tech_st/11.1.0/jlib/axis.jar* and related jars.
    Does anyone know how to fix this issue?
    We are using E-BS *12.1.1* instance and JDeveloper version is *10.1.3*
    regards, Yora

    look in the tutorial the web-client example or the dii interface example... and read all about jaxrpc ...
    bye
    J

Maybe you are looking for