<-----Google Analytics Code Start----> <-----Google Analytics Code Close---->
Skip to content



Default screen resolution  Wide screen resolution  Increase font size  Decrease font size  Default font size  Skip to content Default color Pink color Green color Green color
This website has now moved to http://apps2fusion.com

Extend OA Framework in R12 | Print |  E-mail
Written by Anil Passi   
Friday, 05 October 2007

Few months ago, I did my first task on extending OA Framework on R12. Hereby I would like to share the experience vis-a-vis extending OA Framework in 11i.

How different is extension of of OA Framework in Release 12 when compared to 11i?
The main difference of course is that R12 libraries come bundled with jDeveloper 10g.
However besides that, there were a couple of other noticeable differences.
In 11i, if you want to extend an object, you will have to open the BC4J package by importing server.xml
But in case of R12 no explicit import of server.xml is required.
This is the only major difference when it comes to extending OA Framework in R12

Does this mean there is no need to FTP server.xml into myprojects, when extending BC4J Objects?
You still need to ftp the server.xml and other xml files to myprojects(as in 11i).
Additionally, you still would need to ftp the .class files and xml files from $JAVA_TOP to myclasses.
Hence there is no change to the fundamentals of the approach when extending OA Fwk in Release 12.

Any glitches when extending OA Framework in R12?
You might get stuck with an annoying message related to oracle.jbo.dt.objects.JboException when you try to open up the BC4J objects in jDeveloper.
For for example if you wish to extend abcVO, you may receive error pointing to oracle.jbo.dt.objects.JboException when you open that view object in jDeveloper.
I faced exactly this problem when extending R12.

How to fix the above problem?
I managed to get over this issue with some timely tip of Tapash Ray(he needs no introduction).
His suggestion was to include all the available libraries into the jDeveloper project.
Spot on, that resolved the issue. Perhaps you may encounter similar issue when doing extensions on 11i as well.


Which patches one needs to download for doing extensions in oa framework?
R12 Base Version
Patch 5856648 jDeveloper 10g

R12 RUP2
Patch 6197418 jDeveloper 10g

Now just to recap, same concepts apply for extensions in R12
VO Extend and then replace using substitution
EO Extend and then replace using substitution
AM Extend and then replace using substitution
CO Extend and then replace using personalization

Comments (11)add
written by Shilpa , October 05, 2007
Hi Anil

Amazing article. seriously your site is full of help.

I have a problem on OAF.

If logged in as manager and applied for a leave for any employee a message should appear saying “leave approved”. when logged in as employee and applied for a leave a message should appear “Your leave application has send to the manager for approval” .When both the manager and the employee both click on the 'create leave application' through their respective responsibilities same page (ConfirmPG) opens. Hence same msg appears.
I did Personalization and created a new item for "leave approved message" and set its rendered property to false for employee responsibility.
it is working.
but now the problem is when the manager applies for his own leave the message "leave approved" appears. and i want the message “Your leave application has send to the manager for approval” to appear for manager.

This can't be done by personalization i think.
How can i achive this?

written by Anil Passi , October 06, 2007
Hi Shilpa

You will struggle to accomplish this change using personalization.
In this case you will have to extend the controller class. Once the controller class has been extended, you can then replace the existing controller by your extended controller at responsibility level.
Hence by doing so, new controller will kick-off only for lets say Manager responsibility.

You may find the links below useful


Anil Passi
written by Shilpa , October 08, 2007
Hi Anil

Thanks for the reply.

But i wnat to display both the messages in the manager responsibility itself.
i.e. in manager resp. when the manager submits a leave application for an employee, msg should be "approved".
And in manager resp. when the manager submits a leave application for himself,msg should be "send for approval".

Do i need to write a query for it? and if yes in which VO? and how to check if it is for manager or employee?
Please reply.

How to get the base table information?
written by Geetha , October 10, 2007
Hello Anil,
I'm working on oracle applications. I'm working on a data conversion portion for which I need to know what is the base table that is been used my the OA page. If it is a Oracle Forms we can get it from help. How to know it for the OAF?
I'm working in R12.
Any help ??
How to know base tables
written by Anil Passi , October 10, 2007
Hi Geetha,

To know the base tables, you have several options.

1. Enable SQL*Trace for the OA Framework Page
This will give you all the SQLs/API Calls, weather they are from
Entity Object or from Application Module via a JDBC call
I have put a demo for doing such trace in debugging article.

2. Set Profile option "FND%Diagnostics" to Yes. This will give you a link labelled "About this page" in runtime.
Using that link, you can see the AM, View Objects and EOs being used.
However you won't see the API calls if there were being made from AM class file

3. Decompile the class files and examine them

4. Open the page from $PRODUCT_TOP/mds/...webui/
When you open the page in jdev, you can right click and select "Show OA References"

When clicked on Show OA References, you will be able to see the BC4J objects that were used to build that page

Anil Passi
written by Geetha , October 11, 2007
Hi Anil,
Thank you for your immediate reply. I have copied the files from the $PRODUCT_TOP/mds/...webui/
. It's xml files. When I open those files in the Jdeveloper, it shows some XML coding. In the right click menu there is no option for Show OA references. Am I missing something here? Also I'm not able to the images that you have attached with the reply.

written by Anil Passi , October 11, 2007
Hi Geetha

You first need to create an OA Workspace and OA Projects
And then you can open the MDS file within that.
In the left hand side pane, you will see thr OAF Structure of the XML page.

Please try to follow the steps in http://oracle.anilpassi.com/in...ratch.html

Anil Passi
how to move personalizations and extensions from one instance to another instance
written by ramkumar , October 12, 2007
hi anil,

how to move OAFramework Personalizations and extensions form one instance to another instance for example Developer instance to production instance.

written by SenthilKumar , October 30, 2007
Hi Anil,

I faced a problem when I moved the OAF Personalization from Development instance to Testing instance. In the Testing instance, When I clicked "Personalize" link and tried to modify some of the Bean properties through personalization, all the properties was set read only (menaning, I cant modify anything through personalization). However I managed to change the same in Development instance and export it to Testing instance. Is that a bug or intended behaviour?

Thanks and Regards,
written by SATYABRAT PADHY , November 06, 2007
Hi Anil,

Please help me in finding these answers.
I have a couple of questions regarding OA Framework customization in R12.
1. Please let me know with the steps to be followed to copy files to/from which locations to go ahead with the customization.
2. For R12, which version of Jdev I should be using.

Please share some tutorial documents for the same.
extending OA Framework in R12?
written by cayman , November 06, 2007
1. Not able to create new business component package. There is no documentation on how this process has changed from 11i to R12.
2. Not able to run any *PG.xml. We exported /oracle/apps/icx/icatalog/shopping/webui/ShoppingHomePG.xml to desktop. while running ShoppingHomePG.xml, we get multiple errors. These errors are due to empty *VO.xml files. Empty *VO.xml are shipped by Oracle (The screen shot of the errors will be attached)
3. Not able to extend the view objects, couldn't find the base view object. will be attaching the screen shots.
You must be logged in to a comment. Please register if you do not have an account yet.