My VO substitution works!  but did I do it right?

Hi all,
I wanted to update the query used in an LOV. I read the docs, then read many posts here as well as a couple of the blogs i found (thx much to those who wrote them!). My extension is working fine, but I want to make sure I've done it correctly before I move it to beta. I've bolded the steps where I feel I might have "strayed" ;0)
I did the following:
1) located the VO using About this page
2) downloaded all the java to JDEV_USER_HOME/myclasses; then downloaded the pertinent package to JDEV_USER_HOME/myprojects as well
3) opened the package (oracle.apps.icx.lov.server) and verified my VO
4) right clicked this package and chose New View Object
*5) I entered my new VO name, and the VO it extended. tried to enter a custom package name with my company's custom short appl name in front (i.e. xxxl.oracle.apps.icx.lov.server but got the error: Illegal specification of package.  The package does not exist or is not defined for Business Components in the project. So I just left the seeded package name (oracle.apps.icx.lov.server)*
6) finished the new VO wizard, adding my new LOV query logic
7) edited my project's jpx file to enter the substitution of my new VO for the seeded one
*8) ftp'd my xml file, 2 java files (Impl and RowImpl) and jpx up to the seeded package directory*
9) compiled the java files (simply used "java <filename")
10) loaded my jpx to the database using JPXImporter and Prassana's blog tip (thanks!)
which resulted in the following output (i've cleansed this as far as apps password, server and instance goes):
(server:/instance/comn/java/oracle/apps/icx/lov/server)-->java oracle.jrad.tools.xml.importer.JPXImporter CatLOV.jpx -username apps -password <password> -dbconnection "(DESCRIPTION=(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = ocm)(PORT = 1111))(ADDRESS = (PROTOCOL = TCP)(HOST = server1)(PORT = 1234)))(SOURCE_ROUTE = yes)(CONNECT_DATA =(SERVICE_NAME=sid1)(INSTANCE_NAME = sid1)))"
Imported document : /oracle/apps/icx/lov/server/customizations/site/0/ReqCategoryVO
Import completed successfully
11) bounced Apache
My biggest clue was the name of the imported document.   Did it replace the seeded ReqCategoryVO definition?   This is obviously not ideal.
Thanks for your analysis!
Edited by: RLChristenson on May 19, 2009 2:46 PM

Hi all,
I also have to do this VO substitution. I follow the steps as you did. The online thing i change from the vo was the where condicion of the sql query(i didnt add any columns).
when i execute the application using j developer when i search the list with '%' the search works fine(it brings the elemens that i want) but if i type for example 'xxxx' or '1111' (a value that doesnt exist: the sql query has to return notting). Why is this happening?
I get the following error: You have encountered an unexpected error. Please contact the System Administrator for assistance.
Click here for exception details.
Exception Details.
oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT * FROM (SELECT MtlCategoriesKfv.CATEGORY_ID,
MtlCategoriesKfv.CONCATENATED_SEGMENTS AS CATEGORY_NAME,
MtlCategoriesTl.DESCRIPTION AS CATEGORY_DESCRIPTION,
PoCommoditiesVl.NAME AS COMMODITY_NAME,
PoCommoditiesVl.COMMODITY_ID
FROM MTL_CATEGORIES_KFV MtlCategoriesKfv,
MTL_CATEGORY_SETS MtlCategorySets,
MTL_DEFAULT_CATEGORY_SETS MtlDefaultCategorySets,
MTL_CATEGORIES_TL MtlCategoriesTl,
PO_COMMODITIES_VL PoCommoditiesVl,
PO_COMMODITY_CATEGORIES PoCommodityCategories
WHERE MtlCategoriesKfv.ENABLED_FLAG = 'Y'
AND TRUNC(SYSDATE) BETWEEN NVL(MtlCategoriesKfv.START_DATE_ACTIVE, TRUNC(SYSDATE)) AND
NVL(MtlCategoriesKfv.END_DATE_ACTIVE, TRUNC(SYSDATE))
AND MtlCategoriesTl.CATEGORY_ID = MtlCategoriesKfv.CATEGORY_ID
AND MtlCategoriesTl.LANGUAGE = :1
AND MtlCategorySets.CATEGORY_SET_ID = MtlDefaultCategorySets.CATEGORY_SET_ID
AND MtlDefaultCategorySets.FUNCTIONAL_AREA_ID = 2
AND MtlCategoriesKfv.STRUCTURE_ID = MtlCategorySets.STRUCTURE_ID
AND NVL(MtlCategoriesKfv.DISABLE_DATE, TRUNC(SYSDATE+1)) > TRUNC(SYSDATE)
AND (MtlCategorySets.VALIDATE_FLAG = 'Y'
AND MtlCategoriesKfv.CATEGORY_ID IN (
SELECT MtlCategorySetValidCats.CATEGORY_ID
FROM MTL_CATEGORY_SET_VALID_CATS MtlCategorySetValidCats
WHERE MtlCategorySetValidCats.CATEGORY_SET_ID =
MtlCategorySets.CATEGORY_SET_ID)
OR MtlCategorySets.VALIDATE_FLAG = 'N')
AND PoCommodityCategories.CATEGORY_ID(+) = MtlCategoriesKfv.CATEGORY_ID
AND PoCommodityCategories.COMMODITY_ID = PoCommoditiesVl.COMMODITY_ID(+)) QRSLT WHERE (( UPPER(CATEGORY_NAME) like UPPER(:2) AND (CATEGORY_NAME like :3 OR CATEGORY_NAME like :4 OR CATEGORY_NAME like :5 OR CATEGORY_NAME like :6))) ORDER BY CATEGORY_NAME ASC, CATEGORY_DESCRIPTION ASC
     at oracle.apps.fnd.framework.OAException.wrapperException(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at OA.jspService(_OA.java:71)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
     at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
     at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
     at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
     at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
     at java.lang.Thread.run(Thread.java:595)
## Detail 0 ##
java.sql.SQLException: Invalid column type
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:240)
     at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7895)
     at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7572)
     at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8183)
     at oracle.jdbc.driver.OraclePreparedStatement.setObjectAtName(OraclePreparedStatement.java:8206)
     at oracle.jbo.server.OracleSQLBuilderImpl.bindParamValue(OracleSQLBuilderImpl.java:3916)
     at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3335)
     at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:13759)
     at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:801)
     at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:666)
     at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3655)
     at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(Unknown Source)
     at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(Unknown Source)
     at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:742)
     at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:891)
     at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:805)
     at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:799)
     at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3575)
     at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(Unknown Source)
     at oracle.apps.fnd.framework.server.OAViewObjectImpl.initQuery(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.setCriteriaOnVO(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAListOfValuesHelper.processFormRequestAfterController(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAListOfValuesHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAListOfValuesBean.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at OA.jspService(_OA.java:71)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
     at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
     at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
     at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
     at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
     at java.lang.Thread.run(Thread.java:595)
java.sql.SQLException: Invalid column type
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:240)
     at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7895)
     at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7572)
     at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8183)
     at oracle.jdbc.driver.OraclePreparedStatement.setObjectAtName(OraclePreparedStatement.java:8206)
     at oracle.jbo.server.OracleSQLBuilderImpl.bindParamValue(OracleSQLBuilderImpl.java:3916)
     at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3335)
     at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:13759)
     at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:801)
     at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:666)
     at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3655)
     at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(Unknown Source)
     at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(Unknown Source)
     at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:742)
     at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:891)
     at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:805)
     at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:799)
     at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3575)
     at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQuery(Unknown Source)
     at oracle.apps.fnd.framework.server.OAViewObjectImpl.initQuery(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.setCriteriaOnVO(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAListOfValuesHelper.processFormRequestAfterController(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAListOfValuesHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.layout.OAListOfValuesBean.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
     at OA.jspService(_OA.java:71)
     at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
     at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
     at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
     at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
     at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
     at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
     at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
     at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
     at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
     at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
     at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
     at java.lang.Thread.run(Thread.java:595)
thanks,
HJM

Similar Messages

Maybe you are looking for