How to extend a VO in Oracle OAFramework
Posted by Shibu on November 10, 2008

Return Items
Now click on the LOV “torch” for Supplier field, you should get screen like below.

Supplier LOV
In this page click on the “About Page” link at the bottom. Click on the Business Objects and you should get page like below

AboutPage
Now from this screen you should be able to see the VO Name for the LOV. Since we have to change “Supplier” LOV you can figure out that the VO which we have to extend is SupplierAndSiteLovVO
Note the full name of the VO, oracle.apps.icx.lov.server.SupplierAndSiteLovVO. You should have a class named SupplierAndSiteLovVO.class in the directory <JDeveloper Install Directory>/jdevhome/jdev/myclasses/oracle/apps/icx/lov/server
Now in Jdeveloper, click on “Add to <your project name>.jpr….” link in the “Project” menu like below, in my case project name is ExtendLbSolution

When you get “Add Files or Directories to <your project name>.jpr” window, open the server.xml file from <JDeveloper Install Directory>/jdevhome/jdev/myclasses/oracle/apps/icx/lov/server directory. This will create a library in your Jdeveloper project (oracle.apps.icx.server). If you expand this you will see all the VOs and AMs from that directory.
You have to make sure that you have completed these steps before proceeding further.
Now lets extend Oracles’s class SupplierAndSiteLovVO.
1) Now that you have added Oracle library to your project you should get something similar to shown below. Not that I have added oracle.apps.icx.lov.server to my project demo1.jpr

Oraclelibrary
2) Now create a new “Business Components Package”. I created oa.demo so that all my new classes will be deployed in this package. Click on “New” from “File” menu and choose “Business Components Package” like below

Businesscomponents
3) Now let’s create a new View Object. Like above create a new components and this time choose “View Object” from the “Business Componets (BC4J)” list
4) First you will get the Welcome screen in the wizard click next . Choose oracle.apps.icx.lov.server.SupplierAndSiteLovVo in the “Extends View Object”. Package should be your package name and Name is your package name

Extendvo