Skip to main content

How to Disable/Delete OAF Personalizations

There are 3 methods to remove a bad customization from an OA Framework page.

Method 1 (This is the recommended method)

1) Login to Oracle Applications with the system administrator responsibility
2) Update the Profile Option: "Disable Self-Service Personal" = YES
     - This disables the rendering of all personalization that have been created.
     - You can set this at the site or application level.
3) Navigate to the page you personalized.
4) Enter the personalization UI in the same way you did to create the personalization initially
5) Click the Delete button at the bottom of the page.
     - This will remove the personalization from the page.
6) Go back to Oracle Apps with the system administrator responsibility
7) Re-enable personalization's by setting the "Disable Self-Service Personal" profile option to NO

You should now be able to get back to the page and it should render correctly.

Disable Self-service Personal / FND_DISABLE_OA_CUSTOMIZATIONS Profille

This is a system profile option specifically created for use by Oracle Support. You can set this profile option to "Yes" or "No" at the site or application level. If this system profile option is set to Yes, any personalizations made by the customer, regardless of the level at which the personalizations were made, will not be applied. All pages using OA Framework will now display the regions based on their original definitions.

Note: When this profile is set to "Yes", a warning message that all personalizations are disabled is displayed on every page to which a user navigates.

Reference : Oracle Application Framework Profile Options Release 12.1.2 (Doc ID 975459.1)

 Method 2

You can  remove your personalization via Function Administrator responsibility.

1. Sign on to Application
2. Select Responsibility: "Functional Administrator"
3. Select: "Personalization" Tab ->> Application Catalog
4. Application Catalog ->> Search
5. Search Application ->> Search By: Application Short Name: POS%
6. Quick Select: iSupplier Portal
7. Check Box: Personalized ->> Click: "GO"
8. Find your Personalization for the "View Payments" Page ->> Click: "Manage Personalizations" Pencil icon
9. Select the Personalization and Click: Delete Personalizations Button.
The above steps will delete the personalization

Reference : How To Remove Personalizations In View Payments Page (Doc ID 1643814.1)

 Method 3

To use this method you need to know the name of the page / document that was personalized.
This is reported as the "Document Name" in the Personalization UI.
This will have the format of:

For example the OA Framework home page document name is:

Once you have this, you can then proceed with the steps below:

1) Login to sqlplus as apps
2) Run the following sql commands:
set serverout on;
exec jdr_utils.listcustomizations('/oracle/apps/product/subcategory/PageName'');

For the home page example we would do:
exec jdr_utils.listcustomizations('/oracle/apps/fnd/framework/navigate/webui/HomePG');

- This will return the internal name of the personalization.
- This will be in the form of:

In the home page example, if the personalization was created at the site level, you would get:

3) Now we backup the document we are about to delete:
Make sure you are backing up the correct document.� It should have the word /customizations/ in the document name.

From the web server, use the OS command:
adjava -mx128m -nojit \
-username apps \
-password apps \
-dbconnection "(description=(address_list=(ADDRESS=(PROTOCOL=TCP)(HOST=myHost)(PORT=1521)))(CONNECT_DATA=(SID=VIS)))" \
-rootdir /tmp

4) We can now delete the personalization.
Be VERY careful you are deleting the personalization and not the base document.
You will know, because the parameter you pass will have the word /customizations/ in the document name.
From sqlplus do:
exec jdr_utils.deletedocument('/oracle/apps/product/subcategory/PersonalizationLevel/PersonalizationID/PageName');

For the home page example, this would be:

5) Bounce Apache, because these page definitions are�cached.
Your page should now be accessible.

6) If you need to restore the document you deleted, use the command:
-adjava -mx128m -nojit \
/tmp/oracle/apps/product/subcategory/PersonalizationLevel/PersonalizationID/PageName.xml \
-username apps \
-password apps \
-dbconnection "(description=(address_list=(ADDRESS=(PROTOCOL=TCP)(HOST=myHost)(PORT=1521)))(CONNECT_DATA=(SID=VIS)))" \
-rootdir /tmp


  1. Hi…
    Thank you for posting this useful information.
    I think it is mostly helpful to who are ready to learn Oracle OAF.


Post a Comment

Popular posts from this blog

SQL Query to extract Oracle Purchase Order Information

SELECT   poh.po_header_id,    poh.type_lookup_code PO_TYPE,   poh.authorization_status PO_STATUS,   poh.segment1 PO_NUMBER,   pov.vendor_name SUPPLIER_NAME,   povs.vendor_site_code Location,   hrls.location_code Ship_To,   hrlb.location_code Bill_to,   pol.line_num ,   msib.segment1 Item,   pol.unit_price,   pol.quantity,   pod.amount_billed Amount,   pod.destination_subinventory,   ppf.full_name Buyer_Name,   poh.closed_Code  FROM   PO_HEADERS_ALL poh,   PO_LINES_ALL pol,   mtl_system_items_b msib,   PO_LINE_LOCATIONS_ALL poll,   PO_DISTRIBUTIONS_ALL pod,   po_vendors pov,   po_vendor_sites_All povs,   hr_locations_all hrls,   hr_locations_all hrlb,   per_all_people_f ppf,   po_line_types polt WHERE   1                         =1 AND polt.line_type_id    = pol.line_type_id AND povs.vendor_site_id     = poh.vendor_site_id AND pov.vendor_id           = poh.vendor_id AND pol.item_id             = msib.inventory_item_id AND msib.organization_id  

Query to find Operating Unit, Business Group and Legal Entity Information

SELECT   DISTINCT   hrl . country ,                  hroutl_bg . name              bg ,                  hroutl_bg . organization_id ,                  lep . legal_entity_id ,                  lep . name                    legal_entity ,                  hroutl_ou . name              ou_name ,                  hroutl_ou . organization_id   org_id ,                  hrl . location_id ,                  hrl . location_code ,                  glev . flex_segment_value FROM     apps . xle_entity_profiles   lep ,         apps . xle_registrations   reg ,         apps . hr_locations_all   hrl ,         apps . hz_parties   hzp ,         apps . fnd_territories_vl   ter ,         apps . hr_operating_units   hro ,         apps . hr_all_organization_units_tl   hroutl_bg ,         apps . hr_all_organization_units_tl   hroutl_ou ,         hr_organization_units   gloperatingunitseo ,         apps . gl_legal_entities_bsvs   glev WHERE    lep . transacting_entity_flag   =   'Y'         AND   l

List of iExpenses Tables

List of iExpenses Tables  Table Name Description AP_EXPENSE_REPORT_HEADERS_ALL Expense report header information AP_EXPENSE_REPORT_LINES_ALL Expense report lines information AP_EXP_REPORT_DISTS_ALL Expense report distribution information. It contains the accounts against each expense report line. AP_CREDIT_CARD_TRXNS_ALL Table to store the corporate credit card transactions that are sent by the banks. These lines are saved as expense lines when the user creates the expense lines for credit cards AP_NOTES Table to store the comments entered by approvers and auditors     Setup tables   AP_EXPENSE_REPORTS_ALL This table contains the header level information about the expense templates AP_EXPENSE_REPORT_PARAMS_ALL This table contains the detail level information about the expense templates AP_POL_CAT_OPTIONS_ALL Table to store the policy options AP_POL_CONTEXT Table to store the policy context     AP_POL_LOCATIONS_TL Table