| Home |
| Technical Articles |
| Training Articles |
| Receive Email for New Articles |
| Contributors |
| Apps Book |


| Extend VO in OA Framwork | | Print | |
| Written by Anil Passi | |
| Saturday, 09 December 2006 | |
|
Please find an article that explains the steps to modify LOV [list of values] by extending [not customization] of OA Framework.
As you would already know, LOV’s in OA Framework are driven by View Objects. But there were limitations in CUSTOM.pll when it came to mapping new LOV columns to Screen fields. There can be two variations to this requirement:-
Identify the VO to be extended, and doubleclick to open it. This is to ensure that you have FTP’ed the necessary objects correctly.
For this demo, I am creating the extension in Standard namespace, however when doing changes for real system, you must do so in a custom directory location. Also specify that it extends oracle.apps.icx.lov.server.ProjectPALovVO
Click next, and leave EO section blank here, as there is no Entity Object needed for this LOV.
Add the desired fields one by one. The existing columns from the VO being extended will already be listed here
Now, you can enter your new query
Here is the finalized list of columns in your query
Important, note down the option to Generate java files for row level
Extended View Object created as below
Here is your Auto generated code [by jDeveloper]
Now do substitutions in BC4J, right click on project
Select substitutions. On left pane you select the VO being substituted
This would have create a .jpx file for you as below. <?xml version="1.0" encoding='windows-1252'?> Now, personalize the LOV region, by navigating to LOV, so that a new field item can be created for each new column added to extended View Object
Next, you go to the main page, Lets say we wish to copy the LOV field Award Number to a field named Award Number in main screen. For this, you can use personalization to define column mapping, as below. Also need to Copy the extended files to $JAVA_TOP/oracle/apps/…/lov/server Comments
(35)
written by balkrishna , December 11, 2006 written by balkrishna , December 11, 2006
wat i have to read and practice to learn OA Framework because after one month i have to customize the sshr web pages using jdeveloper. i do not know java . i have to add tags and all the thigs nessacary to personilize the webpage
thanks regards balkrishna written by Ronaldo Blanc Rocha , December 18, 2006
Anil,
I´m trying to extends some VOs in a HRMS system, but got no lucky! I do a hello world page to test the system, and it´s ok... but there are no extensions in it. I need to extends some EOs and VOs... and I got only errors. I´m new to OAF... can you help me?? thanx written by Anil Passi , December 18, 2006
Hi Ronaldo,
Please let us know the errors that you are getting. Thanks Anil Passi written by Ronaldo Blanc Rocha , December 18, 2006
Anil,
I´m trying to extends some VOs in a HRMS system, but got no lucky! I do a hello world page to test the system, and it´s ok... but there are no extensions in it. I need to extends some EOs and VOs... and I got only errors. I´m new to OAF... can you help me?? thanx written by Anil Passi , December 18, 2006
Hi Ronaldo,
Please let us know the errors that you are getting. Thanks Anil Passi written by Anil Passi , December 21, 2006
Hi Rajesh,
$JAVA_TOP is included in CLASSPATH of Apps. Hence you can create your custom directory in $JAVA_TOP and reference those files with your package names being directory names. Thanks, Anil Passi written by Rajesh Khatri , December 21, 2006
Hi Anil,
Thanks for maintaining this blog. I had a requirement wherein I need to provide a HTML page to upload files to the server. I have created the JSP page and HTML page. I also need to place the new jar files required by the JSP page and also include those in the classpath. Can you please tell me the steps involved in deploying the same in Oracle Apps. regards, Rajesh Khatri written by Anil Passi , December 21, 2006
Hi Rajesh,
$JAVA_TOP is included in CLASSPATH of Apps. Hence you can create your custom directory in $JAVA_TOP and reference those files with your package names being directory names. Thanks, Anil Passi written by Rajesh Khatri , December 21, 2006
Hi Anil,
Thanks for maintaining this blog. I had a requirement wherein I need to provide a HTML page to upload files to the server. I have created the JSP page and HTML page. I also need to place the new jar files required by the JSP page and also include those in the classpath. Can you please tell me the steps involved in deploying the same in Oracle Apps. regards, Rajesh Khatri written by Anil Passi , January 04, 2007
Hi Kevin
That will certainly work. You might need to bounce the Apache after you have made changes to VO XML. Note:- Changes done to VO query will not survive the Upgrade/Patches that re-deliver that VO. Hence by Extending VO and Substituting, your customization will be upgrade safe. Its your call as to the approach you wish to undertake. Thanks, Anil Passi written by Anil Passi , January 04, 2007
Hi Kevin
That will certainly work. You might need to bounce the Apache after you have made changes to VO XML. Note:- Changes done to VO query will not survive the Upgrade/Patches that re-deliver that VO. Hence by Extending VO and Substituting, your customization will be upgrade safe. Its your call as to the approach you wish to undertake. Thanks, Anil Passi written by Sergey Lomov , January 09, 2007
In my previous message i mean parent VO package.
written by Anil Passi , January 09, 2007
.
. . Hi Kevin, So you wish to hide or display a SubTab [i.e. a sub-menu] based on who the logged in person is? Two options:- 1. Framework based...I am not sure how though. I think SPEL can work at item or region level but not sure about complete SubTab itself 2. customize fnd_menu_item_vl and based on fnd_global.employee_id filter out the record entry for PerDiem menu item entry. Option 2 :- might just be used for experimental purposes as a very last and final option, as it is not recomended to modify core objects in APPS. Thanks Anil Passi written by Sergey Lomov , January 09, 2007
In my previous message i mean parent VO package.
written by Anil Passi , January 09, 2007
.
. . Hi Kevin, So you wish to hide or display a SubTab [i.e. a sub-menu] based on who the logged in person is? Two options:- 1. Framework based...I am not sure how though. I think SPEL can work at item or region level but not sure about complete SubTab itself 2. customize fnd_menu_item_vl and based on fnd_global.employee_id filter out the record entry for PerDiem menu item entry. Option 2 :- might just be used for experimental purposes as a very last and final option, as it is not recomended to modify core objects in APPS. Thanks Anil Passi written by M , March 12, 2007
Hi Anil, So grateful for this comprehensive, one-and-only and extremely useful site of yours. I am new to Jdeveloper and have 3 main questions. I need to extend a VO in apps/per/irc/CandidateSearch (show 2 more columns in search results). Please see my questions: 1.) For getting the original VO, should I FTP all files from oracle/apps/per/irc/CandidateSearch/server? 2.) Which FTPed files should be put in jdevhome/myproject and which in jdevhome/myclasses? 3.) Sometimes substitution does not work as my VO was in a Subtab page, for which I raised a TAR with Oracle; waiting for the update. But essentially, have I done it the right way if I FTPed the original files into myclasses as well as myprojects?
written by Kiran , March 22, 2007
Hi Anil,
I recently started working on JDeveloper.. In the first glance it looked tough and confusing.. Your site helped me alot to understand. Can you please give some detailed Info on the MDS repository. I heard varied answers on this.. When and Why we use XML Importer/Exporter. which XML files are actually moved into MDS database (JDR tables) and how personalization is effected.. I guess this is an important and difficult topic which everybody need thorough understanding for doing extensions/ customizations. Thanks in advance, K written by Anil Passi , March 24, 2007
Hi K
Very good question. Infact inspired by your question I am currently writing something on very basics of MDS and OA Framework MDS Concept. Concepts are important, hence a very good point raised by you indeed. Many Thanks Anil written by Alex , April 05, 2007
Hi!
Yes, VO substitution been loaded as /oracle/apps/ar/hz/components/party/organization/server/customizations/site/0/HzPuiOrgOverviewVO written by Alex , April 05, 2007
And extended vo should be visible within bc4j section of About This Page. But then error occurs, extended vo not visible on about page...
written by divya , April 12, 2007
Hi, I have deployed my OA pages on to the server and bounced it.When I am running pages from apps ,some of the LOVs in my page are opening and fetching values but when I say wuick select they are not returning the values to my main page though I have given lov mapping correclty.The browser is continuously showing the status running when I say quick select.This problem didnot exist when I was testing my page through jdeveloper 10.1.3. Can you please tell me what could be the problem. Thanks in advance. Divya.
written by Anil Passi , April 14, 2007
Hi Divya
If this works on jDev, then it should work on Hosted instance too. However, the difference is that in jDev, your MDS changes are locally stored on your PC as XML. Hence it is possible that column mappings are missing. Have you applied column mapping personalizations on hosted server? Also, try bouncing the mid-tier. If still no luck, then use Diagnostics to set the Debug level in fwk to statement and see at what stage it is getting stuck[start scrolling from bottom of fwk debug messages] Thanks Anil Passi written by Anil Passi , April 17, 2007
Hi Divya
I am glad you fixed the issue, and am even more glad that you shared your experience to help others that may face same problem too. Regards, Anil Passi written by divya , April 17, 2007
Hi Anil,
Thank you for your response.I have tried bouncing the middle tier once but had the same problem.But I actually found out that the problem was with my local browser.I have tried opening the applications in mozilla as the browser opening from jdev also is mozilla and found that my oapages deployed were not having the lov problem , they were returning values to my main page. Thanks again for your response. Divya written by souvik mukherjee , April 20, 2007
HI anil
I have one small question. Yhis is not related to OAF as such. In iSUpplier if the supplier wants to accept the order as it is then how can he proceed? Whenever I open up the PO, the tabs above have request changes/req cancellation/etc but no simple accept tab. Is it that the instance on which I am working has some customizations? ANother thing that I noticed is this: I took a PO and created a ASN for it. I then tried to change the Po and gave different dates as promised dates. How is it that Oracle allowed me to change an order after I created the ASN? another bug which I found out is this : There is no check when I split a order line and give different quantities to the qiantity, I can exceed the original ordered quantity.I mean Oracle does not sum up the line quantities to tally with the ordered quantity. Kindly let me know your views . regards Souvik written by divya , May 16, 2007
Hi Anil
I am having 2 pages one main page and one child page.The main page has a header region and a table region.in the table region for everyline there is a attribute rule id and there is a link for each line in the table which opens the child page.The child page has another table region which will be opened with the lines for the ruleid passed as parameter.In both the pages for the tables i have an addrows button which will add a row and later the entered values will be commited into the database.Now i have a cancel button in the child page which will take me back to the main page with retain Am as true.when I click cancel in child page after I delete a line in the page or simply do nothing in the page the pages are working fine.But once I say add row in the child page and commit values and come back to the main page the rule id for the lines in the table for anyline is always considered as the rule id that I updated.So whenever I click on the lines link the child page is opening with the same ruleid for which I have commited values.How do I reset this ruleid to take the current rows rule id in the main page.Thanks in advance. Regards, Divya.
Hi Anil
Thanks for the conference in Copenhagen the first of June; however I forgot to ask you a question which troubles me. How to make a VO based on an EO with having to select a stupid key, without getting transient attributes? In many cases I would like to create a VO based on joins and not on a specific key, and then let the user update an attribute by inserting / updating the data. Here is a simple example VO SELECT pap.segment1 ,pap.NAME FROM pa_projects_all pap WHERE pap.project_status_code = 'APPROVED'; None of these attributes are keys, thus how can I base this VO on an EO? PS This is just a very simplified VO and not the real code, but it illustrates the problem.
Hello and thanks for your articles ! Very useful !
You wrote about FTP'ing the XML MDS documents. Why uploading these files ? I thougth we stayed under JAVA_TOP directory. Where do I have to put it ? Under myprojectsxxmds ? Thanks !
Hi,
How i can upload SSHR in local for extensible with Jdeveloper ? Br
Anil ,
in iprocuremnet i did spel of making justification mandatory if its is urgent req , since urgent flag is a string i added one new boolean attribue and made spel on this attribute . but now i get an error like view not found in the AM , does it mean that i need to add the extended vo to the AM ?
Hello,
I need a urgent help. Actually I am trying to modify the exisiting Print Quote Document which is actually getting called from a template cald ASOPRINTQUOTE.xsl This particular xsl uses HeaderVO, LinesVO and PromptVO and hence I had to modify these xml and in turn the .java files. I customized it by adding the new columns thru JDeveloper and extending the VO's and substituting them In the process while extending the respective VO's comes a step wherein I need to specify(Thru JDeveloper) Application Short Name and Responsibility Key. Now the issue is this particular Quote dicument can be accessed from 2 different respons. called Oracle HTML Order Quoting Sales Agent(Its a OA framework with application top as QOT) & Quoting Sales Agent.(Its form based with Application top as ASO) I chose ASO as the top as all my .class files and .xml files are present in oracle/apps/aso/print/server Now then after extending the VO's and importing it etc . when I log in thru the reponsibilty Oracle HTML Order Quoting Sales Agent , it gets me a error of stmt exception. wheras it runs via the respon Quoting Sales Agent and reproduces a PDF output without any data?? There are few questions I am looking out for an answer desperately. 1) My HeaderVO, LinesVO and PromptVO are extended, so do i need to extend the links present in that in my new extended VO' s as well. 2) My xsl stylesheet has a statement as select values of:....../HeaderVO/HeaderRow/....etc etc do i need to replace the above line to my new extended VO i.e select values of:....../CustHeaderVO/HeaderRow/...etc etc Kindly reply to me asap as I am in a development scenario.. Do let me kow if u need more clarity on this? Regards, Ajit
Hi Anil,
I was implementing all the OAF demos in ur site, on my way to get acquaintance with OAF. I took Non-Catalog Request Page to display a new column "Supplier Num" in LOV and show the same value on the Non-Catalog Request Page. I did VO Extension and LOV Mapping and it all worked . But when I press "Clear All" button in the page, expect the new field all the other fields are getting cleared. Do I need Controller extension to clear even my new field when "Clear All" is pressed? Regards, Kishore Ryali You must be logged in to a comment. Please register if you do not have an account yet.
|
thanks
regards
balkrishna