Skip to main content

Steps to Controller Extension in OAF Page

To extend the OA Framework page you have 2 options, extend the VO or extend/create the controller.

Extending a VO is on a global level and you pick this option if you want to add extra columns. Extending/creating a controller can be assigned on all levels (function/site/organization/responsibility/etc).
Screen 1
Go to Project Super User Responsibility à Projects: Delivery à Project List à  click any project link àgo to setup à Click Send Email to Team members. 
Screen 2
As per client requirement whenever user click on Send Email to Team Members link, it should display information as“alert triggered to notify team members about this project” in the project setup page. To achieve this functionality, we need to extend the standard controller and add more business logic in the custom controller and mapped it to that page.
First step click on About this page link at the bottom of this page.
To enable the "About this page" link at the bottom of each OA Framework-based page, there is profile option called FND: Diagnostics (FND_DIAGNOSTICS) set to Yes at User Level. 

Screen3
Under the controllers list, identify the controller (oracle.apps.pa.extensible.webui. ExtAttrPageRegionLayoutCO) which should be extended.
Screen 4
Connect the server through WINSCP, download the standard controller  (ExtAttrPageRegionLayoutCO.class file) from the corresponding directory path and move it to the corresponding path in the local machine as shown below
Server: /oraapps/r12idevcomn/apps/apps_st/comn/java/classes/oracle/apps/pa/extensible/webui
Local Machine E:\Jdeveloper\jdevhome\jdev\myclasses\oracle\apps\pa\extensible\webui
Screen5
Click on Personalize Page link
To enable the above link, Personalize Self-Service Defn profile is set to Y at user level
Screen 6
To do personalization of layout, click on personalize pencil button is marked as circle 
Screen7
Instead of calling the standard controller, the system should call the custom controller at site level as shown below
Screen8
To extend a standard controller(ExtAttrPageRegionLayoutCO) in the Jdeveloper, create a new custom controller named as XxExtAttrPageRegionLayoutCO
Go to Application Sources àright click on webui àGeneral àSimple Files à Java Class and click OK.
Screen 9
In create java class window, named as XxExtAttrPageRegionLayoutCO, provided the package directory on which this file is going to be located. Click browse button and attach the seeded controller with path at extends.
Screen 10
Open the controller code in JDeveloper by double click on XXExtAttrPageRegionLayoutCO.java under its directory path. Once the controller code opens, it will say its directory path of which this file is being located, which seeded controller it should be extended from; we can import some of the predefined class files in this class to get access of methods.
 And it has two important method called as Process Request and Process Form Request
Screen11
While loading the page, public method should be called in the process request method of this controller
Screen 12
New public method can be defined and callable statement class is used to connect the database.
 it can be called in the process request of this controller
Screen 13
Compile the java file in Jdeveloper by right click on controller and click rebuild, which generates a class file under the directory
E:\Jdeveloper\jdevhome\jdev\myclasses\xx\oracle\apps\pa\extensible\webui\XxExtAttrPageRegionLayoutCO.class
Screen14
Connect the server through WINSCP, move the controller (XxExtAttrPageRegionLayoutCO.class file) from the corresponding directory to the corresponding path in the server as shown below
Local Machine E:\Jdeveloper\jdevhome\jdev\myclasses\oracle\apps\pa\extensible\webui
Server: /oraapps/r12idevcomn/apps/apps_st/comn/java/classes/xx/oracle/apps/pa/extensible/webui
Finally bounce the apache server to see the changes in the project setup page

Comments

Popular posts from this blog

Create Accounting for a Payment generates errors 95333 and 95359

Create Accounting for a Payment generates errors 95333 and 95359 Error: 95333: A conversion rate does not exist to convert USD to AUD for the conversion type Corporate and conversion date 20-MAR-09 for line -25. Please use the Daily Rates form in General Ledger to enter a conversion rate for these currencies, conversion date and conversion type. 95359: There is no accounted amount for the subledger journal entry line. Please inform your system administrator or support representative that: The source assigned to the accounting attribute Accounted Amount has no value for extract line number 88547. Please make sure the source assigned to the accounting attribute Accounted Amount has a valid value, or assign a different source to this accounting attribute. Solution: 1. Specify a conversion rate for the currencies and conversion date mentioned in the error message 95333 Navigation under the General Ledger responsibility: Setup > Currencies > Currency Rates Manager > Daily Rates ...

Public API’s for FA Transactions

Public API’s for FA Transactions So far Oracle FA is have all the good things except the lack on reporting.Oracle FA is now offer lot of public API's that can be used to interfacing with third party or Oracle application other modules. Here are some of transaction's API's:   Additions API if you have requirement to add assets directly via PL/SQL then use  FA_ADDITION_PUB.DO_ADDITION. If you have selected the Allow CIP Assets check box on the Book Controls window of a tax book when adding CIP assets using the Additions API, the this API automatically adds those CIP assets to that tax book at the same time that they are added to the corporate book. Adjustments API you can make cost adjustments to your assetsdirectly via PL/SQL using  FA_ADJUSTMENT_PUB.DO_ADJUSTMENT  for any  process adjustment. Detail can be found in appendix H) You can use this API if you have a custom interface that makes it difficult to use with the existing Oracle Assets interfaces for adjusti...

AP Table Relation Oracle Apps

AP Table Relation Oracle Apps ORACLE PAYABLE TABLE RELATION Source Table Dependent Table Condition AP_INVOICE_LINES_ALL AIL ZX_LINES_SUMMARY ZLS AIL.invoice_id = ZLS.trx_id and  ZLS.application_id  = 200 and  ZLS.entity_code  = 'AP_INVOICES' and  ZLS.event_class_code  in ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS') and  AIL.summary_tax_line_id = ZLS.summary_tax_line_id AP_INVOICE_LINES_ALL AIL ZX_LINES ZL AIL.invoice_id = ZL.trx_id and  ZL.application_id  = 200 and  ZL.entity_code  = 'AP_INVOICES' and  ZL.event_class_code  in ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS') and  AIL.line_number = ZL.trx_line_number AP_INVOICE_DISTRIBUTIONS_ALL AID ZX_REC_NREC_DIST ZD AID.invoice_id = ZD.trx_id and  ZD.application_id  = 200 and  ZD.entity_code  = 'AP_INVOICES' and  ZD.event_class_code  in ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS') and...