Fusion Blog

EBS Blog


Contact Us

OA Framework - All Articles
  • Register

Oracle Gold Partners, our very popular training packages, training schedule is listed here
Designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new Click here to raise Support Ticket. Get reply within 48 hours.

Search Courses

User Rating: 4 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Inactive
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.

Anil Passi


0 #1 Nilesh 2007-02-02 00:00
Hi Anil,
I like your website and is very useful. I posted about you here http://www.appsbi.com/2007/02/02/oracle-technology-blogs-that-matter/

and also blogrolled your site.

0 #2 Anil Passi 2007-02-08 00:00
Hi Serg,

May be I should have explained that better, but anyhow please find some notes

Just FTP the directories/fil es underneath myclasses. Myclasees contains all the classes needed for runtime of OA Framework. This includes VO xml files.

Myp roject contains the .java and MDS-XML files, and also VO xml files.

You should FTP myproject to $JAVA_TOP so that other developers can have access to your source code.

Henc e I said you can FTP the xxge directory tree underneath myclasses and also under myprojects to $JAVA_TOP.

I repeat for for runtime, OAF just needs directories underneath myclasses

Why Are MDS-XML not in myclasses ?
Answer: Because MDS needs to be loaded into the database, using XMLImported

Hope ths answers your questions.

T hanks,
Anil Passi
0 #3 Sai 2007-02-15 00:00
Hi Anil,

I have one question regarding the VO Substitutions.O nce we run the .jpx file from the local machine with the details of host and port all the substitutions are created in MDS directory.Once bounce the apache all the substitutions are get reflected in our instance.

Ho w to find out what are the substitutions are
stored in MDS directory?
Is there any database table for storing substitutions inforamtion?

0 #4 bhaskar 2007-02-22 00:00

can you please send me docs of OA Framework fundamentals.
0 #5 Ramya laxman 2007-02-24 00:00
Thanks for the info about tracking personalization s through jdr_utils package. This is definetly easier than the Functional Administrator responsibility.

Ramya Laxman
0 #6 Krishna 2007-06-11 00:00
Hi Anil, Can you pl. tell me how do we find the view/table information where it comes from in oracle self service. I am new to self service. I know java and jdeveloper tool, if I would like to see the code of the page how do I find the classes associated the screen and where do I find those. Thanks, Krishna.
0 #7 Anil Passi 2007-07-13 12:13
Hi Krishna

If you set profile option "FND: Diagnostics" to Yes, then a link labelled about this page will be visible to you.

If you click on that link, it will show you all the view objects being used. You will also be able to see the SQL Query being used by the View Objects.

Alter nately you can run trace on SelfService sessions to see the SQL being generated.

Tha nks,
Anil Passi
0 #8 Pramil 2007-09-19 08:32
Hi Anil,

DO you also have any article on Interview questions on OAF.

0 #9 Baji 2007-11-15 17:05
Hi Anil,

Your Articles are really good.I have a question about OAF.In D2K forms we have a facility facility of drag and drop a text item or any object where ever we want on the canvas.but is it possible to place text items(any object) in OA page where ever we want?

0 #10 Justin 2007-12-06 17:03
Hi Anil, your website has taught me the most about OAF of nearly anything I've read so far. I am new to this, so you'll have to forgive my inquiries at times. I am attempting to extend PORequisitionLi nesVO in order to add the functionality to update multiple lines' charge accounts simunltaneously on the page CheckoutUpdateM ultiplePG. This page lacks the charge account link that exists when a single line is selected for update. I have now become uncertain as to whether I can achieve this by just extending the VO, or if I need to extend the EO or both...? My situation is a little different from those I've seen on your site and other examples. Any advice you can provide would be greatly appreciated! Oh, and I'm workin on JDev 9i, because we are not to R12 yet to use 11.5.10.
Thanks ,
0 #11 Anil Passi 2007-12-06 20:08
Hi Justin,

I haven't seen that specific page, however I can give you some direction to explore.
In iProc, you can define certain attributes to be of type Biz [business attributes], such that, a change in the value of Biz attribute will re-trigger account generation workflow.
These attributes are extended at EO level.

So, perhaps you need to make the account generator kick-off again.
You may try too capture accounting into header level attribute[enter ed once for all lines]. This should kick-off account generator workflow again, that will read your DFF attribute values to recalculate accounts.

Also , see below link

Anil Passi
0 #12 K Radha Prasad 2008-01-30 04:48
I need help reagrding the Requisition approval notification. I have Extended the ReqLinesNotific ationsVO to add one additional Column Charge account, to acheive it have modified the existing VO. And implemented the change ReqLinesNotific ationsRN.XML, ReqLinesNotific ationsVO.XML and ReqLinesNotific ationsVORowImpl.class files. It is working perfectly when Approver(User) login to the iproc resp. But it is giving No data Exists in the requisition line details (but showing the additional Column ChargeAccount) when seeing the approval notification using the Workflow admin >Administrator> Notification search and also same message in the email notiifctaion.

Please help and le me know where and what I would have missed.Thanks

0 #13 Anil Passi 2008-01-30 06:21
Hi Deepak

Did you change the where clause of extended VO?
Please run the SQL*Trace for OA Framework session and see which SQL is being run.

Simply google on Debug OA Framework, to find article that explainis how you can run trace in OAF

Ani l
0 #14 sattysimple 2008-02-06 05:35
hi anil,

I have to extend a view from a jar which is included in mu libraries. As you say

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.

Does it mean i cannot extend any views present in libraries.

As for my application i have to prepare a custom view and substitute that present in the jar.

How do i do it?

Thanks in Advance
0 #15 Suman2000 2008-08-07 09:05
Hi Anil,

In iProcurement R12, I need to create a new 'simple shopping search page' which will have the stores LOV to search and the go button and the search result would consist of some more descriptive fields.
I am unable to understand the data model how do we link the stores to the items (The tables used in them)

Please could you help me in this regard.
0 #16 Anil Passi 2008-08-07 09:07
Hi Suman

Please raise this on apps2fusion.com/forums/oaf
Kindly post with full information of your business requirement and about this page information, in the right section
Based on that, we can guide you with steps

A nil
0 #17 Sachin Goel 2009-12-07 23:15
Hi Anil,

I am new to OA Framework, trying to learn the same using your articles. We need to add few columns in the Approval Requisition Notification web page. We tried to extend View Object but whenever we are deploying the same getting the error as FND MESSAGE: View Object Not found.
Please help us to resolve this issue.
0 #18 zentai suit 2011-07-19 22:49 Quote
0 #19 spoda 2012-10-16 15:08
HI All,

I extended iexpense workflow NotifCashLinesV O to add few more columns to it. Since it was giving some error (StringLineNumb er Attribute set for NotifCashLinesV O failed) on top of the notification vo, i thought to check if this is happening with standard VO. So then I removed the extensions using jdr_utils utility. Removed all Personalization s as well. Bounced Apache.

I have facing the below errors now on clicking the notification link"oracle.app s.fnd.framework .OAException: oracle.jbo.Inva lidParamExcepti on: JBO-25006: Invalid parameter value NotifCashLinesV O for source passed to method ViewLinkImpl.se tSource. Explanation: view def mismatch"

when i go back and come to error stack again, i see different error "java.lang.Null PointerExceptio n
at oracle.apps.fnd .framework.webu i.OAAdvancedTab leHelper.update InnerTablePrope rties(OAAdvance dTableHelper.ja va:1990)
Any help is appreciated.

T hanks,
Srinivas .
0 #20 Sourav Sengupta 2013-02-05 09:06
How to map VIew Attribute field and Query column field dynamically?
0 #21 fei 2015-03-27 07:10
Hi Anil,

I have a requirement to add the line level attachment in the PR and PO line detail region notification main page, how can I achieve this ? thanks.

Add comment

Security code

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Jun 2021  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
   1  2  3  4  5  6
  7  8  910111213

Enquire For Training

Related Items

Fusion Training Packages

Get Email Updates

Powered by Google FeedBurner