3 Replies Latest reply: Aug 30, 2012 8:37 AM by Steven Davelaar-Oracle RSS

    oracle.jbo.NoDefException: Error in Quick Search when we use View  Criteria

    SarahInVancouver
      We encountered NoDefException error in Quick Search. We are using JDeveloper 11.1.1.6.0, JHeadstart 11.1.1.4

      I am able to reproduce the error by applying Oracle's HR schema. The following are the steps to reproduce with HR schema:

      1. Create an employee view named EmpVw by using the following query:
      select
      employee_id,
      first_name,
      last_name,
      email,
      phone_number,
      salary
      from employees
      2. Create a lookup view named CountryLookupView by using the following query:
      select
      country_id,
      country_name
      from countries
      3. Create a view named EmpCountryVw by using the following query:
      select
      emp.employee_id,
      emp.first_name,
      emp.last_name,
      cnty.country_id,
      cnty.country_name
      from employees emp
      inner join departments dept
      on emp.department_id = dept.department_id
      inner join locations loc
      on dept.location_id = loc.location_id
      inner join countries cnty
      on loc.country_id = cnty.country_id
      4. Create a LOV for the CountryId attribute in EmpCountryVw. The data source for this LOV is the CountryLookupView we just created. UI hints list type is Input Text with List of Values.
      5. Create View Criteria for EmpVw view, name it as EmpVwSearchCriteria Select EmpCountryVw from Attribute list, Operator is Exists, Operand is Inline View Criteria.
      6. Create new service EmployeeSearchService. Select EmpVw to the data model.
      7. In JHeadStart Application Definition Editor, create a new service node EmloyeeSearchService, set EmpVwSearchCriteria as Quick Search View Criteria in Search Settings section. Run the JAG, and then run the application.
      8. On the application screen, select EmployeeSearchService from the module drop-down list, on Emp Vw screen, click the glass icon to display the pop-up country search dialog, type in CA as country code, run the search, select the row with "Ca Canada" and then click OK button to close off the pop-up dialog. on Emp Vw screen, click "->" to run the search with Country Id = CA. Note the error dialog popup.

      The error message is: oracle.jbo.NoDefException: JBO-25058

      Caused by: oracle.jbo.NoDefException: JBO-25058: Definition data_MyJhsTutorial_UIShellPageDef_mainRegion_oracle_hr_pageDefs_EmpVwPageDef_WEB_INF_adfc_config_EmpVw_xml_EmpVwTaskFlow_EmpVwIteratorEmpVwSearchCriteriaQuery.vcrow125.EmpCountryVw.EmpCountryVwNestedCriteria.vcrow128.CountryId of type Attribute is not found in EmpVw.
           at oracle.jbo.server.ViewObjectImpl.findAttributeDef(ViewObjectImpl.java:7310)
           at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._isTransientAttribute(FacesCtrlSearchBinding.java:585)
           at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding._changeQueryModeIfNeeded(FacesCtrlSearchBinding.java:577)
           at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding.processQuery(FacesCtrlSearchBinding.java:397)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:597)
           ... 63 more

      Please let me know if you have solution for this error. Thanks in advance.

      Sarah