8 Replies Latest reply on Aug 8, 2014 5:20 AM by Braj Pratap

    Message Choice Error type View Definition is invalid - How to create a Picklist/Dropdownlist from scratch Using "Message Choice" type?

    964919

      Hi All,

       

      I am trying add a picklist/message choice field on to seeded OIE page, so that users can pick values from the field. To do this I followed as below

       

      1. Created a VO using jdeveloper, Compiled, and deployed class files on to $JAVA_TOP

      2. VO has three columns

          a) Meaning

          b) Lookup_code

          c) Description

      3. On seeded page region, created a new item as "Message Choice"

        a) ID = xxxx

        b) Picklist Display Attribute = Meaning

        c) Picklist Value Attribute = Lookup_Code

        d) Picklist View Definition = /xxxx/oracle/apps/ap/oie/xxchoicelist/server/xxdaicountrycityVO

        e) Picklist View Instance = <None>

        f) View Attribute = Location

        g) View Instance = ExpenseReportLinesVO  

         

      Could anyone please let me know what is missing and why I am getting below error.

       

      Exception Details.

      oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidDefNameException: JBO-25004: Definition name /xxxx/oracle/apps/ap/oie/xxchoicelist/server/xxdaicountrycityVO for type View Definition is invalid

        at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1247)

        at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3260)

        at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3055)

        at _OA._jspService(_OA.java:228)

        at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)

        at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)

        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.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)

        at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)

        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)

        at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)

        at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)

        at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)

        at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)

        at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)

        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)

        at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)

        at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)

        at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)

        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)

        at java.lang.Thread.run(Thread.java:662)

      ## Detail 0 ##

      oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidDefNameException: JBO-25004: Definition name /xxxx/oracle/apps/ap/oie/xxchoicelist/server/xxdaicountrycityVO for type View Definition is invalid

        at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912)

        at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169)

        at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3260)

        at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3055)

        at _OA._jspService(_OA.java:228)

        at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)

        at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)

        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.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)

        at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)

        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)

        at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)

        at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)

        at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)

        at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)

        at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)

        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)

        at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)

        at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)

        at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)

        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)

        at java.lang.Thread.run(Thread.java:662)

      oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidDefNameException: JBO-25004: Definition name /xxxx/oracle/apps/ap/oie/xxchoicelist/server/xxdaicountrycityVO for type View Definition is invalid

        at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912)

        at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169)

        at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3260)

        at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3055)

        at _OA._jspService(_OA.java:228)

        at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)

        at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390)

        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.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)

        at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)

        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)

        at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)

        at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642)

        at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391)

        at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908)

        at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)

        at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)

        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)

        at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)

        at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)

        at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)

        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)

        at java.lang.Thread.run(Thread.java:662)

        • 1. Re: Message Choice Error type View Definition is invalid
          Hemant Garg

          Hi ,

           

          Since you are adding a new VO to the seeded page , you will have to add this vo to the AM as well which can be done only by extending the existing AM of the page .

           

          1) Please identify the AM of the page .

          2) Extend this AM and add your newly created VO to this extended AM

          3) Deploy this AM to the Instance

          4)Test

           

          Cheers!!!

          Hemant

          • 2. Re: Message Choice Error type View Definition is invalid
            gemsuis

            Hi,

             

            I think you have done this in right way, just make sure you have deployed both xxdaicountrycityVO.class and xxdaicountrycityVO.xml files.

             

            Regards,

            Abbas Qureshi

            • 3. Re: Message Choice Error type View Definition is invalid
              964919

              Hi Abbas,

               

              I have deployed these files generated from Jdeveloper, on to $JAVA_TOP, Is there any other file that I need to create for this.

               

              xxdaicountrycityVO.xml

              xxdaicountrycityVOImpl.class

              xxdaicountrycityVORowImpl.class

               

              Thanks in advance...

              • 4. Re: Message Choice Error type View Definition is invalid
                AnilA

                Hello,

                 

                Can you try this;

                 

                3. On seeded page region, created a new item as "Message Choice"

                  a) ID = xxxx

                  b) Picklist Display Attribute = Meaning

                  c) Picklist Value Attribute = Lookup_Code

                  d) Picklist View Definition = <None>

                  e) Picklist View Instance = xxdaicountrycityVO

                 

                Regards,

                Anil

                • 5. Re: Message Choice Error type View Definition is invalid
                  964919

                  Hi Anil,

                   

                  Tried and getting following error, Could you please suggest any other.

                   

                  Exception Details.
                    oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidDefNameException: JBO-25004: Definition name for type View Definition is invalid at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1247) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3260) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3055) at _OA._jspService(_OA.java:228) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) 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.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:662) ## Detail 0 ## oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidDefNameException: JBO-25004: Definition name for type View Definition is invalid at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912) at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3260) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3055) at _OA._jspService(_OA.java:228) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) 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.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:662) oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidDefNameException: JBO-25004: Definition name for type View Definition is invalid at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912) at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3260) at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:3055) at _OA._jspService(_OA.java:228) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:390) 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.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:642) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:662)
                  • 6. Re: Message Choice Error type View Definition is invalid
                    Hemant Garg

                    Hi ,

                     

                    Did you try extending the AM and adding your newly created VO in that and placing in the server.

                     

                    Thanks,

                    Hemant

                    • 7. Re: Message Choice Error type View Definition is invalid
                      964919

                      Hi Hemant,

                      Thanks for all your support. As one above said we don't need to extend AM with my requirement. Here are the low level details how this can be achieved.

                       

                      How to create a Picklist/Dropdownlist from scratch Using "Message Choice" type?

                       

                      1. Create a VO using jdeveloper, Compile it with no errors.

                         Move Class files generated to $JAVA_TOP and do personalization on page required.

                      2. VO Query has three columns

                          a) Meaning

                          b) Lookup_code

                          c) Description

                      3. On seeded page region, created a new item as "Message Choice"

                        a) ID = xxxx

                        b) Picklist Display Attribute = Meaning(Correct - View Attribute name from VO)

                        c) Picklist Value Attribute = Lookup_Code(Wrong - do not use DB table Column)

                                                                 LookupCode(Correct - View Attribute name from VO)

                        d) Picklist View Definition = /xxxx/oracle/apps/ap/oie/xxchoicelist/server/xxdaicountrycityVO(Wrong)

                                                                xxxx.oracle.apps.ap.oie.xxchoicelist.server.xxdaicountrycityVO(Correct way to use)

                        e) Picklist View Instance = <None>

                        f) View Attribute = Location(If you want to populate this value DB table ap_expense_report_lines_all)

                        g) View Instance = ExpenseReportLinesVO(Associated View Object to Location Attribute above)  

                       

                      I hope this helps others

                       

                      Thanks again..

                      • 8. Re: Message Choice Error type View Definition is invalid - How to create a Picklist/Dropdownlist from scratch Using "Message Choice" type?
                        Braj Pratap

                        Hi

                         

                        Please understand that you are creating a picklist in seeded page and the view object

                         

                        d) Picklist View Definition = /xxxx/oracle/apps/ap/oie/xxchoicelist/server/xxdaicountrycityVO(Wrong)

                                                                  xxxx.oracle.apps.ap.oie.xxchoicelist.server.xxdaicountrycityVO

                         

                        is a custom view object .

                         

                        So to avoid invalid view object error , you need to add this with standard AM of this page , and for this requirement

                        1.)  first you have to extended the controller of this page  and add the custom VO   xxxx.oracle.apps.ap.oie.xxchoicelist.server.xxdaicountrycityVO with standard AM

                         

                        2.) After adding the VO with seeded AM you create the picklist on this page .

                         

                        Unless you do this you will get this error.

                         

                        Thanks

                        Pratap