|Receive Email for New Articles|
|OA Framework FAQ -Extending View Objects||| Print ||
|Written by Anil Passi|
|Wednesday, 31 January 2007|
In this article, I will cover Frequently Asked Questions on extension of View Objects in OA Framework.
Is extension of view object is 100% safe during upgrades?
No, because you never know, Oracle might change the design of the underlying object. Say if the structure of underlying view objects were to change, then extension layer on top of that view object will cease to work. However I must admit that risk level of this extension is very very low.
List two scenarios whereby you will extend a view object?
1. Adding another display column to list of values [ LOV ]
2. Adding additional display column to search result region/screen
I need to add a column to LOV in OA Framework, what are the extension steps?
A. You extend the base view object, and add additional column to this view object's query
B. Using personalizations, add a new field to the specific LOV Page. This can be done by using "create new item" in OA Framework Personalizations.
C. Map the new field that was created above to view object column, by specifying the source view object and souce column.
Note: For screenshots you may refer to link for Steps to Extend VO in OA Framework
Question: Right, in above case, we create a new field for display purpose. But, should the source view object of the new field be the "extended view object" or the "original view object"?
Answer: The source VO name must be the original view object. OA Framework will replace the original ViewObject by custom ViewObject at runtime.
Will the original View Object be substituted by means of personalizations?
Not really. You need to right click on jdev project and create substitutions. Latter you will import the jpx file for the jdev project, using jpxImporter.
I have imported substitutions to a view object, but now I desire to Remove that substitution/extension, but how?
There are three ways, but firstly you must understand the basics of how Oracle stores OA Framework substitutions. When you load the substitutions using jpxImporter, Oracle creates a site level personalization, which gets stored in the database.
Now to rollback/remove/disable viewobject substitutions
Option A. Delete personalization, using jdr_util.delete_documents
Alternately use "Functional Administrator" responsibility to delete the personalization
Option B. Disable personalization that corresponds to substitution, again using Functional Administrator[I never tried this myself though]
Option C. Set profile "Disable personalization" to Yes at site level.
The common thing about all three options above is that they all pertain to removal of personalizations that were created as result of view object substitution in OA Framework.
How do we know which View Object is being used in a given screen by OA Framework?
First set the profile option FND : Diagnostics to Yes. Then navigate to the specific OA Framework page for which you need to find VO. Click on the link titled "About This Page". Click on that link, and you can find the name of view object there.
Where are the view Objects physically deployed on the server?
Say you have created a view object named personTypeVO in package oracle.apps.per.lov.server
On the server, you will navigate to directory $JAVA_TOP/oracle/apps/per/lov/server. There you will find a file named personTypeVO.ml. The sql query within that xml file is the query used by View Object.
In jDeveloper, I can't find the base view object in extend field [list of values]?
When you wish to extend an existing view object, you must include that viewobject in your jdeveloper project.
Oh well, can't I simply modify the SQL in base View Object's xml file?
Yes you can modify the sql directly in View Objects XML file and can also manually add node/attribute to the xml file for new column. This will work, BUT never do this,as it won't survive upgrade/patches. Substitution creates a customization layer on top of base view object, hence is mostly upgrade safe.
Lets say we have extended a view object and created xxpersonTypeVO in package xx.oracle.apps.per.lov.server. How do we deploy this to the server?
You will need to FTP the entire directory tree starting from <jdev home>/xx/.... on your PC to the server location $JAVA_TOP
Well, on my PC, I have directory named myclasses and also a directory named myprojects; which one shall I FTP to server?
Just FTP'ing myclasses will suffice, as that is all what is needed by OA Framework at runtime. However I recommend both myclasses and myprojects directory tree from your PC are deployed to the server. If you package name is xxge.oracle.apps... then you can ftp entire xxge directory alongwith its subdirectories.
written by Nilesh , February 02, 2007
written by Anil Passi , February 08, 2007
written by Sai , February 15, 2007
written by bhaskar , February 22, 2007
written by Ramya laxman , February 24, 2007
written by Krishna , June 11, 2007
written by Pramil , September 19, 2007
Can we place text item or any item where ever we want on a OA page?
written by Baji , November 15, 2007
Extending VO or EO
written by Justin , December 06, 2007
Approval Requisition Notification - Extending ReqLinesNotificationsVO
written by Deepak Arora , January 30, 2008
written by sattysimple , February 06, 2008