Customization of OAErrorPage in OAF

Hi,
When an unexpected error occurs in OAF, the OAErrorPage is rendered with the text “You have encountered an unexpected error. Please contact the System Administrator for assistance”.
We are looking for a solution to display a custom message for such unexpected errors.
One solution that we have is using the try/catch with generic exception, to catch all exceptions raised and then throw the custom message.
Please provide us with the details if we can somehow customize the OAErrorPage to display a custom message and if this customization (if possible) can be restricted to a particular module/responsibility.
Any other solution to handle unexpected errors and display of custom message is welcome.
Thanks in advance.

This Errors is coming from within OA Framework implementation code and developers dont have direct access. Generally these errors come for cases which are not normally handled in code: like the null pointer exception wihch can never occur if a not null check is done before every dot operation. Similarly there can be other cases of System exception. If the code is written with lot of exception handling most of these issues would not occur and you would be free to show custom error messages on screen.
It might need some investigation to identify the actual piece of code causing it and making changes. However it might be a very costly exercise in terms of efforts with little output. Do make your decision.
Regards
Sumit

Similar Messages

  • Customization/personalization Issue hidding oaf "subTabs"

    Hi Gurus,
    I have problem with this oracle applications customization, I have an OASubTabLayoutBean, depending to the input params, I have to show/hide some subTabs, in another projects I just have to do:
    OASubTabLayoutBean tab = (OASubTabLayoutBean)pageContext.getPageLayoutBean().findIndexedChild("MySubTabLayout");
    tab.hideSubTab(0, true); // hide
    tab.hideSubTab(1, true); // hide
    tab.hideSubTab(2, false); // show
    tab.hideSubTab(3, true); // hide
    But this doesn't work right now, I ran the application and the result is just the page shows all the subTabs without showing any error on the Log, and when it debug it, execute the command lines fine.
    what can i do to force to hide these subtabs regions? please help me
    Best Regards,
    Mentor
    here's my code:
    Note:
    Like I said before, this is an OAF customization, so as you can see on the processrequest this one is extending from the original controller
    /*===========================================================================+
    |   Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA    |
    |                         All rights reserved.                              |
    +===========================================================================+
    |  HISTORY                                                                  |
    +===========================================================================*/
    package xxdi.oracle.apps.eam.toolbelt.webui;
    import oracle.apps.eam.toolbelt.webui.WorkOrderDetailsPGCO;
    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.layout.OASubTabLayoutBean;
    import oracle.jbo.Row;
    * Controller for ...
    public class XxdiWorkOrderDetailsPGCO60 extends WorkOrderDetailsPGCO
      public static final String RCS_ID="$Header$";
      public static final boolean RCS_ID_RECORDED =
            VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
       * Layout and page setup logic for a region.
       * @param pageContext the current OA page context
       * @param webBean the web bean corresponding to the region
      public void processRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processRequest(pageContext, webBean);
         OAApplicationModule am = pageContext.getApplicationModule(webBean);
          OAViewObject voWOCreateUpdateVO = (OAViewObject)am.findViewObject("WorkOrderDetailsVO");
          String rowStatus = "";
          if (true) {
              if (true) {
                  Row row = voWOCreateUpdateVO.getRowAtRangeIndex(0);
                  if(true)
                    pageContext.putSessionValue("AssetGroup",row.getAttribute("AssetGroup").toString());
                    rowStatus = row.getAttribute("SystemStatus").toString();
                    if ("4".equalsIgnoreCase(rowStatus))
                        HideOptions(pageContext, webBean);
       * Procedure to handle form submissions for form elements in
       * a region.
       * @param pageContext the current OA page context
       * @param webBean the web bean corresponding to the region
      public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
        super.processFormRequest(pageContext, webBean);
        private void HideOptions(OAPageContext pageContext, OAWebBean webBean) {
            OASubTabLayoutBean tab = (OASubTabLayoutBean)pageContext.getPageLayoutBean().findIndexedChild("WorkOrderSubTabs");
            tab.hideSubTab(0,true);
            tab.hideSubTab(2,true);
            tab.hideSubTab(3, false);
            tab.hideSubTab(1, true);

    You're in the wrong forum. Is this better suited here OA Framework ?
    Thanks
    -Jorge

  • How to move OAF personalization

    Hi,
    Is there any LDT script to move OAF personalization. Can anyone help me?
    Thanks & Regards,
    Dinesh.

    Hi Dinesh,
    Execute the below command :
    exec jdr_utils.listcustomizations('/xxtk/oracle/apps/xbol/expense/casettle/server/PG.xml');
    Please replace the XML file name.
    Then it will list the customizations done on the OAF page. Then select the specified personalized path and give it in the Functional Administrator.
    Could you kindly check the path once again b'se my doubt is the Pages are located in webui folder. You have mentioned server folder. So kindly check the path once again. Below link will help you much in this.
    How to retreive the Personalizations done for Custom Applications
    Thanks and Regards,
    Myvizhi Selvi S

  • Cannot open customize OAF screen after upgrade to 12.1.3

    Hi,
    After upgrade to 12.1.3, I am not able top open customize OAF screens from Applications.
    By following some documents from MOS, I have done the following.
    1)-applied patch 9879989 on Linux server.
    2)-I am able to install JDeveloper,open and compile my customize programs from JDeveloper installed on Linux server. I compilation, new *.jpx files created from *.jpr
    From Oracle Applications, I am getting the same error that I was getting without compiling customize program.
    My question is that, how Oracle applications will read the new compiled program. Do all program need to be in specific unix directory ?
    I copied all the customized program under " /u01/oracle/jdev_install_dir/jdevhome/jdev/myprojects" .
    I think the problem is now to place OAF files in the problem directory, which I don't know.
    Do I need to set environment variable like JDEV_USER_HOME in the environment file ?
    Please help.
    Best Regards

    Not sure if your issue is resolved. Did you compile the java sources in JDeveloper and moved all files from myclasses folder to unix under $JAVA_TOP or appropriate directory and deployed the PG files using xmlimporter?
    Thanks
    Shree

  • Impact on OAF Personalization/Customizations - Upgrade from R12.1.3 to 12.2.4

    Hi All,
    1) I would like to know if we need to re-deploy the OAF personalizations if we migrate from EBS 12.1.3 to 12.2.4?
    As per my understanding, after upgrade, personalizations would remain intact in MDS (jdr_* tables) layer but we need to perform testing and correct any layout error etc. if it is not in line with 12.2.4. However, re-deployment is not required.
    2) I also have a second questions wrt OAF customizations (i.e; VO extension, CO extension, Custom pages/regions). I assume we need to redeploy the customizations.
    It would be great if you can guide me on this.
    Regards,
    K

    1. Would R12.1.5 need separate license? Or, R12.1.3 license would cover R12.1.5 as this looks like an incremental upgrade.Same license (assuming you already have HRMS license).
    2. Not finding good documentation on R12.1.5 on metalink. Is there a RVP that can be shared if any of you have it with you.If you are referring to HRMS Release Update Pack 5 for Release 12.1 then you should have the docs referenced above.
    3. This probably should have been my first question. Is R12.1.5 a public release? I ask this question as I do not see good information available on upgrade road map to R12.1.5.The latest 12.1.x release is 12.1.3 and Oracle has no plans to release any higher 12.1.x releases -- The next release will be 12.2
    4. Can these features in R12.1.5 be applied as one-off patches on R12.1.3?Again, if you are referring to HRMS Release Update Pack 5 for Release 12.1 then the answer is "Yes".
    Thanks,
    Hussein

  • How to customize an existing OAF page from Oracle, change it and reload it

    Hello all Oracle Developers,
    I am having a question regarding to customization, basically I am going to follow a very simple example.
    We have form: APXVDMVD and OAF web Page AP_APXVDMVD.
    Applying all our custom code via forms personnalisation is piece of cake. However trying to apply the same code to OAF web Page AP_APXVDMVD
    is a total back box for us.
    The basic example seems like this: Suppose that in the Suppliers/Vendors Page we type the supplier name and then right after that we populate in consequence all the fields:
    Taxpayer ID, Tax Registration Number, DUNS Number
    We want to grab the OAF Web page from oracle apply the custom code in java code or whatever necessary to make it work and deploy it onto the server.
    Is this achievable, if so how we can do it??? Can we grab the web page extend the classes that are necessary and deploy the solution. The demo provided from Oracle
    is showing how to create pages from zero, however Oracle have not provided how to grab an existing applications page, put the code and the deploy it
    Let me know any inputs, whatever you did and surely we will be sharing the same stuff all migration R12 long :-)

    Hi,
    You can extend OA framework pages and customize them. There is also a section for customizations in the OA Framework Developer's guide. IF this requires extensive customizations, Iwould advice to be very careful as any extensions should not interfere with the base logic of the pages. Please post here if you need more details.
    The following blog is a good one for some examples.
    http://oracle.anilpassi.com/oa-framework-extending-controller-steps-2.html
    There is also a course for the same if you are interested.
    http://education.oracle.co.uk/html/oracle/15946US/D18280GC10.htm
    Hope this helps..

  • Migrate OAF MDS customizations from TEST to PROD from UNIX

    1. Copy the the files of JDEV_USER_HOME/jdevbin to TEST or PROD UNIX mid-tier
    jdevbin/jdev/appslibrt/oamdsdt.jar
    jdevbin/jdev/lib/mdsdt.jar
    jdevbin/mds/lib/mdsrt.jar
    jdevbin/BC4J/lib/collections.jar
    jdevbin/lib/xmlparserv2.jar
    jdevbin/jdev/appslibrt/share.jar
    jdevbin/jdev/appslibrt/uix2.jar
    jdevbin/jdbc/lib/classes12dms.jar
    jdevbin/lib/dms.jar
    jdevbin/jdev/appslibrt/oamdsdt.jar
    2. environment variable for XMLExporter/XMLImporter:
    ($PRO_LIB is the path pointing to the jar files)
    CLASSPATH=\
    $PRO_LIB/jdevbin/jdev/appslibrt/oamdsdt.jar:\
    $PRO_LIB/jdevbin/jdev/lib/mdsdt.jar:\
    $PRO_LIB/jdevbin/mds/lib/mdsrt.jar:\
    $PRO_LIB/jdevbin/BC4J/lib/collections.jar:\
    $PRO_LIB/jdevbin/lib/xmlparserv2.jar:\
    $PRO_LIB/jdevbin/jdev/appslibrt/share.jar:\
    $PRO_LIB/jdevbin/jdev/appslibrt/uix2.jar:\
    $PRO_LIB/jdevbin/jdbc/lib/classes12dms.jar:\
    $PRO_LIB/jdevbin/lib/dms.jar:\
    $PRO_LIB/jdevbin/jdev/appslibrt/oamdsdt.jar
    3. for -mmddir needed in XMLExporter/XMLImporter:
    copy the following files of JDEV_USER_HOME\myhtml\OA_HTML\jrad to TEST or PROD UNIX mid-tier
    JRADElementList.xml
    OAElementList.xml
    UIXElementList.xml
    4. Write a Unix shell script to export from TEST and import to PROD. (You may register it in Oracle apps to let the developers to promote it themselves using the assigned responsibility)
    Notice:
    1. Oracle puts OAF customization together with Oracle seeded customizations. It's impossible to tell them apart just from the OAF MDS document names.
    2. Using responsibility_id in the document name to get the application_id from the apps table, you'll get an different application_id than the application_id in the document name.
    3. The function_id in the document name is not consistent with the function_id in the apps table. The function_id in apps table has null value.

    You may also use a PC to migrate OAF MDS from TEST to PROD. Instead of running an Unix script on the TEST or PROD mid-tier, you may write a batch file and run it on your PC.

  • Getting the class not found error in OAF customization - after upgrade

    Hi All,
    We have recently upgraded from 11.5.10 to 12.1.3
    I have a customization in one of the OAF page, where in I click on a button, the information should be getting passed on to some other system. These customization classes are present in the .jar file xx_cust.jar in the path $JAVA_TOP/xxpo/lib/
    But these classes are not getting referenced when I click on the button in the OAF page and I get an OAF exception saying, java.lang.NoClassDefFoundError with the class name. But the class is present in the .jar file in the above said path.
    After upgrade, I have migrated the OAF related customizations. Is there anything I need to check/change (with regard to the JAVA environment) so that the classes will be correctly referenced
    Any pointers on this will be of much help
    Regards,
    Mohan

    Unix classpath needs ":" as the path separator, not ";". Changing that will make this work.
    For reference, later versions of the deployment template make this configurable, so you'd see (in environment.properties):
    # PATH_SEP_VARNAME: for platform-independence
    PATH_SEP_VARNAME=;
    # Forge needs record store libraries as well as Spring to load record store adapter configuration files
    FORGE_CLASSPATH=./config/lib/java/spring-delegate-adapter-1.0.1.jar${PATH_SEP_VARNAME}./config/lib/java/spring.jar${PATH_SEP_VARNAME}./config/lib/java/eacToolkit.jar${PATH_SEP_VARNAME}./config/script${PATH_SEP_VARNAME}.
    You can then add the following to your <forge /> definition in AppConfig.xml:
    <arg>--javaClasspath</arg>
    <arg>${FORGE_CLASSPATH}</arg>
    Hope this helps.
    Michael

  • Oaf customization....please help urgent !!!!!!!!!!!!!

    hi ,
    i have a requirement in my project where in i have to customize a standard page.
    i need to create a new region in the existing page (new EO,VO and region)
    for this i should download all the .xml and .class files from the server.tehse i can download to myclasses
    but i would like to know how to get the java files to myprojects.we will not get these from server.so how will i get the .java files coz i need the main CO.VO .java files.
    please do help.
    urgent
    thanks
    Ramya

    Hi Ramya,
    As stated above, you have to decompile those files. Oracle does not provide java source of controller, vo etc.
    However, previously some issues has been noticed with jad java decompiler.Moreover its command line tool.
    Another good decompiler is jd-gui which is gui based tool and overcomes some of probs of jad.
    You can refer this thread.
    Source java OAF code... when Oracle will release it?
    Abdul Wahid

  • Customize a standard OAF page

    i have one requirement in which i have to customize a standard OAF page.
    i have downloaded all .class files and im able to run standard page on local.
    But as per the requirement we need to develop the custom page similar to standard page
    and then add the additional functionalities to it . Is there any way so that we can use the existing VO's,VL's,AM's ?
    Thanks & regards
    Aniket

    thanks gyan
    but when im trying to create a new same VO im able to create it but what about java & xml files ?
    should i copy the code from xml and java files and paste into newly created java & xml files by changing the package names?
    Thanks
    Aniket

  • OAF customization of questionnaire template

    Hi All,
    I have a requirement to make the questionnaire in the appraisal mandatory. The questionnnaire is a template which has HTML code and is attached to the appraisal template. In the appraisal:
    Update Appraisal button when clicked - Leads you to MAAppraisePG
    This page has Complete Paths to Success button. This button needs to be made mandatory first so that users click on it before Apply button is pressed.
    Once clicked and navigated inside, it has the questions listed in it and 3 buttons - cancel, save and Apply.
    The approach thought of for the customization is:
    1. Create a hidden session attribute in the Update Appraisal page. When Complete Paths to Succcess button is clicked, the session value should be set to 1.
    2. The Apply button in this page looks for this value 1.
    3. Once navigated inside, the questions are made mandatory for Apply. Save as Draft and Cancel will be optional. If Save as Draft is clicked, the control remains in the same page. If cancel is clicked it goes back to Update Appraisal page with session value 0.
    4. So users will be forced to click Complete Paths to Success button and set session value 1 for Apply button and once inside, they will answer all questions which are mandatory for Apply button inside the questionnaire page.
    Please let me know if this design is feasible. Also it would be great if i can get some sort of guidance to put session attribute and set its value.
    Appreicate your help
    Thanks
    Ashish

    hi
    Thanks for the quick response.
    I will re-phrase the requirement.
    The Questionnaire template is an HTML code. Once this template is attached to the appraisal template and appraisal created, this questionnaire template comes up as an OAF Selfservice page.
    My requirement is to make it mandatory. .
    I dropped the idea of session variable as i have a LastUpdateDate field which can be used to track if the questionnaire is filled or not.
    As a first step i want to make sure that employees click on Complete Paths to Success button and navigate to the questionnaire.
    In Update Appraisal page there is a button called Complete Paths to success. When clicked on that and navigated inside it leads to the questionnaire. Once completed and applied, it wil take yuo back to the Update Appraisal page. Then below the Complete Paths to success button there is a last update date which gets filled.
    I want to check if this field is null or not. If it is not null it indicates that employees have clicked on the button, filled in the questionnaire and applied them.
    AppraisalsAM is the application module. This questionnnaire section has another AM - QuestAnswerAM
    Inside that is the VO*QuestDetailsVO* and it has the field LastUpdateDate.
    how do i check if this date is filled in or not. this is code i am using
    Object quest = null;
    OAApplicationModule am = oapagecontext.getRootApplicationModule(); -- this is fetching me AppraisalsAMImpl
    OAApplicationModule childam = (OAApplicationModule)am.findApplicationModule("QuestAnswerAM"); --- fetches null
    OAViewObjectImpl Dff1VO = (OAViewObjectImpl)childam.findViewObject("QuestDetailsVO");
    OAViewRowImpl Dff1Row = (OAViewRowImpl)Dff1VO.getFirstRow();
    quest = Dff1Row.getAttribute("LastUpdateDate");
    My concern is i am not able to get the child applicaiton module and therefore the VO and the date attribute.
    Or else,is there any other better way to get this date attribute from the OAF page?
    Please help
    thanks
    Ashish

  • Identifying the customization is OAF Page

    Hi,
    I have a requirement to identify the customizations in  OAF pages from back end , in modules like AP,AR,GL.
    I had used the below query
    SELECT jdr_mds_internal.getdocumentname(ja.att_comp_docid) AS customized_document
                               FROM jdr_attributes ja
                              WHERE att_value LIKE '/oracle/apps/%customizations%';
    ex: /oracle/apps/ap/oie/webui/customizations/responsibility/23/OIEMAINPAGE
    Here how to identify the the above path is related to AP (Acccounts payable).
    Thanks in Advance
    Harry !!

    There are 3 concepts in OAF: Personalizations, BC4J extensions/substitutions and Customizations.
    Personalizations are stored in the MDS and there is a page under System Administration to list the personalizations for any given page.
    Now, have in mind that there are personalizations for certain products that are provided also by Oracle.
    BC4J extensions/substitutions involve the replacement of the BC4J objects referenced by a given page by custom BC4J objects (i.e.: queries) that can be achieved
    via the personalizations feature (replacing the AMs referenced by the page).
    Customizations involve custom controllers (java code), custom pages, custom BC4J objects, etc. and are more difficult to track if they are implemented as
    "in-site" customizations (for example, a standard shipped file by oracle that is changed by the customer)
    With all of these in mind, the first 2 can be detected by scanning the MDS for a certain group of pages.  The third is more complicated and the reason why we request customers to follow the standards in terms of splicing a new custom module.
    Refer to the OAF troubleshooting guide for more information. See MOS note 1496055.1 for reference.
    Let me know if any question.
    Thanks
    --Gustavo

  • OTL customization using AK Developer or OAF?

    Hi all,
    Currently I have a change request that required me to customize Employee Self Service |TimeCard into Daily, Weekly, and Monthly Format.
    Which mean, I need to create/customize/configure a TimeCard region that handled Daily Entry, Weekly Entry, and Monthly Entry.
    Understood that OTL Timecard is configurable via AK Developer and LCT/LDT file.
    But in these kind of situations, where I need a logic to
    1) A selector/LOV/Tab Panel to display Daily, Weekly, or Monthly
    2) A customize layout for daily, weekly and monthly
    3) A customize CO/VO to capture and pass related information/involve workflow process.
    #Assumption
    1) One timecard cannot have daily, weekly, monthly records at the same time. The form will restrict the timecard to one category, which is display daily entry only, weekly entry only, or monthly entry only.
    The question is
    May I know which part of customization shall use AK Developer or LCT/LDT?, and
    Which part of customization shall use OAF/JDeveloper.
    Thanks in advanced. I would appreciate for your kind assistance and help
    Regards,
    Cheng

    Icic,
    Thanks for your finding. I would like have my next question.
    If I would like to have an additional region named "Approvers Region", that similar to the "Approvers Region" that offered by AME-collaborated product.
    Is it we need to use OAF method to customize it? or we shall use AK Developer + LTD + OTL Preferences?
    I'm not so sure when what is the exact steps should perform when we required to add an new region in OT page.
    Thanks in advanced
    Regards,
    Cheng
    Edited by: user13615386 on Nov 1, 2011 3:35 PM

  • OAF page customization question - help needed urgently!

    Hi,
    To minimize customizations on an OAF page we are trying to handle some validations at the databse layer using a db trigger. The flow is that when the user hits Save on an OAF page and a certain column in a table is updated by the EO, a db trigger set on this column will fire off. Based upon whether the validation went through or not the db trigger might fail
    with an error message. Question is will this message be displayed on the UI without any customizations so that the user knows what happened or will the OAF page just throw a null pointer exception? Also since OAF is writing directly to DB using an EO, will it be too late by the time the trigger kicks in and validates stuff and then based on if there was an error it rollsback the data? Can we rollback the entire transaction or not?
    Please help!

    Adding to Mukul's reply, yes if you are using OAF, let all the control be through the OAF. In your case any error in the DB will be sent back to the user in a very raw way which surely will annoy any user. Also we cann't comment on the rollback status.
    My suggestion is to make use of a callable statement and call a wrapper pl/sql procedure which does all the validations for you (in case you have varied and complex validations) and returns a true or false based on which you can commit the transaction.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to identify the OAF customizations and personalizations

    Hi All,
    We are in the process of upgrading from 11.5.10 to 12.1.3
    There are certain customizations and personalizations done on many OAF pages of various modules (like Self service, iRec, iSupplier, etc)
    Will the upgrade impact these customizations/personalizations? If so, will it be entirely removed and do we need to redo the customizations/personalizations over again?
    Also, I have another need for identifying the existing customizations and personalizations (in 11.5.10) in OAF pages. There are no documents with us which will explain the existing customizations/personalizations in OAF . Need to identify the same. Is there a way which i can follow to identify these?.
    Any pointers on this will be really helpful
    Thanks,
    Mohan

    Can you please give me some pointers on identifying/migrating the OAF personalizations/customizations
    Any documents/links to the same will be really helpfulRun the query in this thread to find the list of personalizations -- Re: Can I get a report of all personalizations?
    To migrate personalization, please refer to:
    Upgrading Form Personalizations and OA Framework Personalizations from Oracle E-Business Suite Release 11i to 12.1 (Doc ID 1292611.1)
    Customization in Oracle Applications (Doc ID 743490.1) -- Moving Personalizations between instances
    Tips About FNDLOAD (Doc ID 735338.1)
    Thanks,
    Hussein

Maybe you are looking for