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.
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
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 responsibilitie s 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?
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
www.google.com/search?q=site:apps2fusion.com+oa-framework-extending-controller-steps-2
www.google.com/search?q=site:apps2fusion.com+controller-extension-in-oa-framework-is-safe-or-unsafe
Thanks,
Anil Passi
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?
Pleas e reply.
Thanks,
Shilpa.
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 ??
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.
www.google.com/search?q=site:apps2fusion.com+debugging-oa-framework-7-different-techniques
2. Set Profile option "FND%Diagnostic s" 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/md s/...webui/
Whe n 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
Thanks,
Anil Passi
Thank you for your immediate reply. I have copied the files from the $PRODUCT_TOP/md s/...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.
Thanks
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 www.google.com/search?q=site:apps2fusion.com+install-oa-framework-jdeveloper-rup4-from-scratch
Thanks,
Anil Passi
how to move OAFramework Personalization s and extensions form one instance to another instance for example Developer instance to production instance.
rega rds
ram
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?
Tha nks and Regards,
Senthi l
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.
Regards,
Satya
2. Not able to run any *PG.xml. We exported /oracle/apps/ic x/icatalog/shop ping/webui/Shop pingHomePG.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.
I finally get to work on R12 OAF. I am using the base versionb of R12.1.1 on Vision and following you 11i training videos for R12 OAF. In the section to extend the view Object you indicate to "create a Business Components package". In 11i , one right-clicks the project and this option appears on the menu. This is not the case in R12. How is this done in R12? I am struck here.
Please help.
Thanks,
Rajasekaran.
I have a problem on OAF. I'll see the next error in my OA extension after jpximporter
Error Page
Exception Details.
oracle.apps.fnd .framework.OAEx ception: Could not load application module 'oracle.apps.icx.por.rcv.server.ReceiveItemsAM'.
..........................
Detail ## 0 ##
JBO-30003: The application pool (gmcdlebsuite02 .xxxx.fi.crCRP2 1536oracle.apps .icx.por.rcv.se rver.ReceiveIte msAM) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboE xception, msg=JBO-29000: Unexpected exception caught: oracle.jbo.NoDe fException, msg=JBO-25002: Definition xxgmcr.oracle.a pps.icx.por.rcv .server.xxgmcrR eceiveItemsTxnV O of type View Definition not found
.................................................. .................................
My version of JDeveloper is 10.1.3.5.0.3 and EBS version is 12.2.4.
Can you help me with an idea or solution in order to solve this problem.
Thanks in advance...
I believed this post was great. I don't realize who you are but certainly you are going to a well-known blogger when you aren't already.
Cheers!
RSS feed for comments to this post