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:Jdeveloperjdevhomejdevmyclassesoracleappspaextensiblewebui

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:JdeveloperjdevhomejdevmyclassesxxoracleappspaextensiblewebuiXxExtAttrPageRegionLayoutCO.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:Jdeveloperjdevhomejdevmyclassesoracleappspaextensiblewebui
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.
  • October 14, 2015 | 32 views