OAF R12 Extension Example
OAF R12 Extension Example
OAF R12 Extension Example
Given that this was a real life solution implemented for a client of mine, I am unable to make the business requirement a public knowledge.
For the very same principles, I am not detailing the source code for the controller extension.
But yet this document will give you a good idea of how extension of BC4J, extension of Controller and Personalizations work in tandem.
4. open the workspace for tutorial and rebuild its projects, so that myclasses folder gets created
processRequest
Make the new checkbox fire an action
Put a dummy javascript function
Attach the dummy javaScript function to the Button
processFormRequest
Check if the checkbox event has fired
If Yes
Then loop through the ViewObject, for records with Checkbox equals Yes
Construct the Email String
Replace the definition of the javaScript Function
5. Add the extended controller to the region using personalization
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
Deployment Steps
-------------------
1. Deploy entire tree from myclasses/xxrzb to $JAVA_TOP
Also copy the source code to $JAVA_TOP
2. Next, copy the jpx file and the upload script to $xxrzb_top
3. Upload the substition to the DB using the jpx-upload script
4. Add the Personalization for the controller
3. FTP the files from JAVA_TOP to myclasses. Make sure that dependent classes are copied as well.
4. Copy the files from myclasses to myprojects. Remove the .class files from the myprojects. Here, you need to copy just those files which you
wish to extend.
5. FTP the xml files from $PRODUCT_TOP/mds to myprojects
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
6. Change the Library path for jDeveloper, as in image above. For this, click on project properties, and select Libraries from the left hand side
of the pane. Click on “Add Library” to add all the available libraries.
As per below image, right click on the “server” node to create new view object
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
2. This new view object will extend the standard View Object named oracle.apps.ota.shared.enrollment.server.ListOfClsEnrollmentsVO
Name of the new view object will be xxListOfClsEnrollmentsVO
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
Doing the above will copy the SQL from the parent View Object.
Now we need to add three columns [Two based on PL/SQL Function and one transient]
Click on the “New” button to create a transient attribute required for the checkbox. This is done as below.
Ensure that radio button “Updatable” is set to “Always”
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
For the view attributes based on pl/sql function, see the below two images
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
Also, ensure the following checkboxes are checked, so that we can loop through the records on the extended VO easily. This option is available
under java in left panel
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
Creation of Substitutions
Select the original view object on the left hand side, and the new view object on the right hand side.
Then click on add.
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
<JboProject
Name="xxOTA"
SeparateXMLFiles="true"
PackageName="" >
<Substitutes>
<Substitute OldName ="oracle.apps.ota.shared.enrollment.server.ListOfClsEnrollmentsVO" NewName
="xxrzb.oracle.apps.ota.shared.enrollment.server.xxrzbListOfClsEnrollmentsVO" />
</Substitutes>
</JboProject>
MACHINE_NAME=0
PORT_NUMBER=0
export MACHINE_NAME
export PORT_NUMBER
MACHINE_NAME=oracle01.focusthread.com
PORT_NUMBER=1571
-dbconnection
"(description=(address_list=(address=(community=tcp.world)(protocol=tcp)(host=$MACHINE_NAME)(port=$PORT_NUMBER)))(connect_d
ata=(sid=$TWO_TASK)))"
And then enter the new Class Name, the PackageName[starting with xx], and the standard class name in field “Extends”
You may also click on browse button to select the Standard Controller Class
Note:- Using personalization, the standard class must be replaced by custom class, at Site level.
Search for personalizations based on Application name and the Last Updated field.
Click on Go, and select the personalizations that you wish to Export to file system
The file tree will be created in a directory on server. Name of the directory is mentioned in profile FND%Root%
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
This file xxEmailPersonalize.tar can be FTPed to the new environment, from where you can unzip this by command
http://oracle.anilpassi.com Brief Steps - OA Fwk R12 Extension Example
IMPORTANT:- Ensure that all the files from myclasses/xxrzb directory get copied to $JAVA_TOP
Useful documentation: