Input List of values in Query panel
Hi ,
Problem statement ::
Develop a page which should have Query panel and table . Query panel should have 2 fields and on the basis of these input values underlined table should display the values.
These 2 fields should be inputListOfValues( Input field with search option on this fields ).
What we are doing :
1. Creating Field1_in_Query_panel_LOV_VO view object with UI hint as Input Text with List of Values.
2. Creating Field2_in_Query_panel_LOV_VO view object with UI hint as Input Text with List of Values.
3. Creating Table_VO with required query , and attaching the view criteria for Field1 and Field2 .
4. IN the Attributes section , we are creating LOVs for Field1 and Field2 with View objects created in step 1 and step2.
5. Normal procedure of dragging and dropping the search criteria option on the page and creating the query with ADF table.
When we are running the page , the Query panel fields are coming in the drop down with no of values restricted to 10.
Pls suggest a way to achieve this functionality mentioned in the problem statement.
Jdev version used : 11.1.1.6
Edited by: 954422 on Aug 23, 2012 12:28 AM
Hi,
Welcome to OTN.
Have you tried setting the range size for the vo (which is used as LOV on your main VO) to -1 and see if it works then?
Note : If your have more values to be displayed in LOV, it is better to use InputListOfValues instead of SOC
-Arun
Similar Messages
-
Cascading List of values in Query Panel
Hello,
This is related to the thread
Re: Cascading List of Values & Query Panel
Hello,
Thanks for a nice solution.
I have a similar situation.
I have a query panel with auto make name list of values returning make as name and make id into the hidden view attribute.
Based on this, i have another list of values namely auto model which is also a name field returning a name and id(hidden).
I tried choosing the auto model name field and editing dependencies as auto make id and later auto make name as well.
But i get this error in the Weblogic Log every time i selected the auto make LOV or auto model LOV and auto model does not filter based on auto name .
<SimpleSelectOneRenderer><_getSelectedIndex> Could not find selected item matching value "SomeNameViewCriteria" in QueryRenderer$2UIXEditableFacesBeanImpl, id=null
I have no clue how to handle this.
Any help is greatly appreciated.
Thanks.Hi,
I have de same problem.
I think that it could be a bug, cause if i check "show in list" option in the View criteria the messages are no prompted, and are prompted with that option unchecked.
Although there's no problem during execution.
Regards! -
I need to validate Input List Of Values Field when Inserted From Bean
I've two view object EmployeeView and DepartmentsView
In Employee View I've changed Department_Id to Input List OF Values
I've created a bean to inset data into Employee Table
ApplicationModule am = ADFUtils.getApplicationModuleForDataControl("AppModuleDataControl");
ViewObject importedVO = am.findViewObject("EmployeesView");
try {
newEmp.setEmployeeId(new Number("3424));
newEmp.setFirstName("Test Fname");
newEmp.setLastName("Test Lname");
newEmp.setEmail("[email protected]");
newEmp.setPhoneNumber("4643131345");
newEmp.setJobId("AD_VP");
newEmp.setDepartmentId(new oracle.jbo.domain.Number(999));
} catch (Exception e) {
// TODO: Add catch code
System.out.println("inside Catch");
e.printStackTrace();
}I know that ADF validate Input list of values when inserting new value on it
when I've enabled the debugger I've found that
<ViewObjectImpl><buildQuery> [604] SELECT DepartmentsEO.DEPARTMENT_ID, DepartmentsEO.DEPARTMENT_NAME, DepartmentsEO.MANAGER_ID, DepartmentsEO.LOCATION_ID, DepartmentsEO.ISDELETED FROM DEPARTMENTS DepartmentsEO WHERE ( ( (DepartmentsEO.DEPARTMENT_ID = :vc_temp_1 ) ) )
<ViewObjectImpl><bindParametersForCollection> [605] Bind params for ViewObject: [com.test.model.views.DepartmentsEOView]AppModule.__LOCAL_VIEW_USAGE_com_test_model_views_EmployeesEOView_DepartmentsView_findByVC_12_LOV_DepartmentId_lov__filterlist__vcr___
<OracleSQLBuilderImpl><bindParamValue> [606] Binding param "vc_temp_1": 999
<ViewObjectImpl><processViewCriteriaForRowMatch> [607] VCs converted to RowMatch: ( (DepartmentId = :vc_temp_1 ) )
<ViewRowImpl><handleListBindingMismatch> [608] No matching row found for list binding:LOV_DepartmentId for ViewRow:oracle.jbo.Key[34235 ]
<ViewRowImpl><handleListBindingMismatch> [609] --- filterList ValueMap key:DepartmentId, value:999
<DCBindingContainer><internalRefreshControl> [610] **** refreshControl() for BindingContainer :com_test_view_testInsertPageDef
<JUCtrlHierNodeBinding><release> [611] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_2, value:EmployeesViewIterator
<JUCtrlHierNodeBinding><release> [612] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_2, value:EmployeesViewIterator
<DCIteratorBinding><releaseDataInternal> [613] Releasing iterator binding:EmployeesViewIterator
<ApplicationPoolMessageHandler><doPoolMessage> [614] **** PoolMessage REQ ATTACH LWS
<ApplicationPoolMessageHandler><doPoolMessage> [615] **** PoolMessage REQ DETACH LWS
<DCJboDataControl><initializeApplicationModule> [616] (oracle.adf.model.bc4j.DataControlFactoryImpl.SyncMode = Immediate
<DCBindingContainer><internalRefreshControl> [617] **** refreshControl() for BindingContainer :com_test_view_testInsertPageDef
<DCBindingContainerState><validateToken> [618] Process BindingContainer state token(decompressed state):BCST:=0%V%=NEmployeesViewIterator=-D-,
<this means that ADF tries to validate the input list of values "Department_Id" and didn't found any match
I need to through exception when I try to set Department_ID with invalid value "value not on range" like
newEmp.setDepartmentId(new oracle.jbo.domain.Number(999));I don't want to validate it manually as I've a lot of fields.
I need to through exception when try to
newEmp.setDepartmentId(new oracle.jbo.domain.Number(999));Thanks Timo
this is the code that I use
ApplicationModule am = ADFUtils.getApplicationModuleForDataControl("AppModuleDataControl");
ViewObject importedVO = am.findViewObject("EmployeesView");
EmployeesEOViewRowImpl newEmp = (EmployeesEOViewRowImpl)importedVO .createRow();
importedVO .insertRow(newEmp);
try {
newEmp.setEmployeeId(new Number("3424));
newEmp.setFirstName("Test Fname");
newEmp.setLastName("Test Lname");
newEmp.setEmail("[email protected]");
newEmp.setPhoneNumber("4643131345");
newEmp.setJobId("AD_VP");
newEmp.setDepartmentId(new oracle.jbo.domain.Number(999));
} catch (Exception e) {
// TODO: Add catch code
System.out.println("inside Catch");
e.printStackTrace();
} -
How to Hide advance button in input list of values Popup
I am using input List Of Values component to select value from search Pop up, in that popup i need only basic search only , i am unable to hide advance button... plase tell me how to hide this advance option
I haven't tried this, but check
How to remove basic/advanced button in inputListOfValues search dialog
This does not have complete solution, but might give you some lead. -
I currently have a input text field.
How do I convert to a "Input List of values".
I do have the lookup VO that needs to be used in the list of values.
I tried the "right click" -> convert -> that does not show the "Input List of values".
Thankscreate lov popup manually..have af:inputText (set autoSubmit to true) & af:commandImageLink (get magnifier image from adf image lib). within af:commandImageLink invoke popup.
create af:popup
d&d vo as table
to search pass inputText binding and execute vo
have a ok button and get the selected row value -
How to set value to a input list of values?
Hi,
I'm using Jdev 11.1.2.0
I'm using model driven input list of values in page.
In inputtext of that list of values, When I entering the exact value(if only one value exists with that value) say for example 100, then that value is getting set to inputlistvalues without opening the popup.
But if i enter 10 and then click on enter then popup launches with values like 10,100,101,1001... (starts with 10).
Is there any possibility that we can do like, if i enter exact value which is exists in the list of values, then that value should be set without launching the popup to show more values?
How to achieve this.
Any suggestion would be appreciated.
Thanks.<af:inputComboboxListOfValues id="departmentNameId"
popupTitle="Search and Select: #{bindings.DepartmentName.hints.label}"
value="#{bindings.DepartmentName.inputValue}"
model="#{bindings.DepartmentName.listOfValuesModel}"
required="#{bindings.DepartmentName.hints.mandatory}"
columns="#{bindings.DepartmentName.hints.displayWidth}"
shortDesc="#{bindings.DepartmentName.hints.tooltip}">
<af:autoSuggestBehavior suggestedItems=""#{bindings.DepartmentName.suggestedItems}" />
<f:validator binding="#{bindings.DepartmentName.validator}"/>
</af:inputComboboxListOfValues>
try this if it helps .... -
Input list of values resizing popup in adf?
I have a screen for example.
[http://2.bp.blogspot.com/_YeFnEaxTQCI/SloGR7HW6II/AAAAAAAAAKM/3-QP8OrYhns/s1600-h/lovbug2.jpg]
and need to change the width of the popup the input list of values.
I am a novice in adf.
I need help
sorry for my EnglishThanks Puthanampatti..
Problem here is how to execute the methods because
1) I have to set two bind parameters
2) Not able to catch the action/action listner on button click
Pls. pass your suggestions.
Thanks
Kanika -
Urgent.. Tab out issue with ADF 11g Input List of Values..
Hi,
I have Customer Number Input List of values on the page(some people also "torch").When we type customer number and tab out it's not bringing the customer name automatically.
It would be really appreciate if anyone can help me on this..
ThanksHi Frank,
The scenario is like this:
I have a LOV on Item Field,and the Customer table has CustomerNumber and CustomerName(around 100k records).
User Enters the CustomerNumber say 1000 then the LOV Window should automatically validate and findout the CustomerName without poping up the window.
Actually what ever user entered is a correct value.how can i solve this issue , if there is a correct matching value in table it shouldn't open up the LOV window.
I am using jDeveloper 11.1.1.0.0
Please let me know if you need any further infomation.
Thanks -
Validation error message is not displayed for an attribute as an Input List Of Value
Hi everyone,
I use jdev 11.1.1.7.0
In my application I've created an Entity Obj and a View Obj base Employees table.
for the JobId attribute I've taken actions as listed below:
1. in Employees EO I've created a validation for this attribute and in some cases an error message returns (the error message is "the salary is not high"):
* Validation method for JobId.
public boolean validateJobId(String jobid) {
if (...) {
return false;
if (...) {
return false;
if (...) {
return false;
return true;
2. in Employees VO I've created a LOV for this attribute (the view accessor is JobsViewObj ) and I display the attribute as an Input Text with List Of Values.
in jspx page I drag& drop this attribute as below:
<af:inputListOfValues id="jobIdId"
popupTitle="Search and Select: #{bindings.JobId.hints.label}"
value="#{bindings.JobId.inputValue}"
label="#{bindings.JobId.hints.label}"
model="#{bindings.JobId.listOfValuesModel}"
required="#{bindings.JobId.hints.mandatory}"
columns="#{bindings.JobId.hints.displayWidth}"
shortDesc="#{bindings.JobId.hints.tooltip}"
autoSubmit="true">
<f:validator binding="#{bindings.JobId.validator}"/>
</af:inputListOfValues>
I open the Popup and I select a row from the Popup list and then I click Ok. After that if the validation method(validateJobId) returns false, the error message("the salary is not high") must be show to the user. but the error message doesn't display. I don't understand why this happens.
Can anybody guide me about this problem?
Regards
Habibyes, you're right, I've tested it in 12.1.3 and error message was displayed.
it seems it's a bug(bad bug ) in both 11.1.1.7 and 12.1.2. and now what can I do? is there any way to display the the error message?
Regards
Habib -
Cooresponding Lists Names/Values XML Query
Let's say there is an XML Schema that has
<element name="mt" minOccurs="0" maxOccurs="unbounded">
<element name="r" minOccurs="0" maxOccurs="unbounded">
And for each measurement type (mt), you have a cooresponding measurement value (r). There are additional elements between these two lists. The actual XML data would look similiar to
<mi>
<mts>20061117100000-0800</mts>
<gp>900</gp>
<mt>MeasurementType1</mt>
<mt>MeasurementType2</mt>
<mt>MeasurementType3</mt>
<mt>MeasurementType4</mt>
<mt>MeasurementType5</mt>
<mt>MeasurementType6</mt>
<mt>MeasurementType7</mt>
<mv>
<moid>Identifier</moid>
<r>58</r>
<r>62</r>
<r>43</r>
<r>45</r>
<r>43</r>
<r>14</r>
<r>29</r>
<sf>FALSE</sf>
</mv>
</mi>
The first occurance of mt corresponds to the first occurance of r, the second cooresponds to the second, et cetra.
The MI element can repeat hundreds of times and there can be many measurementTypes. Now, I'm trying to figure out how I can create an XML query to efficiently handle this. The problem is that the <r> value is within the complexType <mv> and that is on the same level as <mt>. The XML Query would cause a cartesian product if I were to use something like ...
select
extractValue(value(xmldata), '/mi/mts') measurement_time_stamp,
extractValue(value(xmldata), '/mi/gp') granularity_period,
extractValue(value(mt), '/mt') measurement_type,
extractValue(value(mv), '/mv/moid') measured_obj_id,
extractValue(value(r), '/r') measurement_value,
from xmltable
, TABLE(XMLSequence(Extract(value(xmltable), '/mi/mv'))) mv
, TABLE(XMLSequence(Extract(value(mi), '/mi/mt'))) mt
, TABLE(XMLSequence(Extract(value(mi), '/mv/r'))) r
This obviously wouldn't work. I could go and store all the types and values into a column using
select
replace(replace(replace(extract(value(mi), '/mi/mt').getStringVal(), '</mt><mt>', ';'), '<mt>'), '</mt>') measurement_type,
extractValue(value(mv), '/mv/moid') measured_obj_id,
replace(replace(replace(extract(value(mv), '/mv/r').getStringVal(), '</r><r>', ';'), '<r>'), '</r>') measurement_value
from xmltable
TABLE(XMLSequence(Extract(value(xmldata), '/md/mi'))) mi
, TABLE(XMLSequence(Extract(value(mi), '/mi/mv'))) mv
But this wouldn't work once the XML grew over 4000 bytes. So I need a way to extract this data maintaining the correct integrity (avoiding cartesians).
One idea is a pipelined table function but I have concerns about scalability with that method. Is there a way to accomplish this optimally? I have solutions for this but none of them is going to deliver the scalability I am seeking.
I expect the method chosen will probably need to handle a few hundred thousand files per day.
Thanks,VJ
I'd not seen your XML schema when I worked the original example, so I reverse engineered it from the instance. Unfortunately when I work with your schema, which contains more levels of nested I can't get it to optimize properly
Here's what should work in theory
SQL> set echo on
SQL> spool testcase.log
SQL> --
SQL> connect sys/ as sysdba
Enter password:
Connected.
SQL> set define on
SQL> --
SQL> define USERNAME = OTNTEST
SQL> --
SQL> def PASSWORD = OTNTEST
SQL> --
SQL> def USER_TABLESPACE = USERS
SQL> --
SQL> def TEMP_TABLESPACE = TEMP
SQL> --
SQL> def LOCAL_FILESYSTEM = 'C:\xdb\otn\457595'
SQL> --
SQL> drop user &USERNAME cascade
2 /
old 1: drop user &USERNAME cascade
new 1: drop user OTNTEST cascade
User dropped.
SQL> grant connect, resource to &USERNAME identified by &PASSWORD
2 /
old 1: grant connect, resource to &USERNAME identified by &PASSWORD
new 1: grant connect, resource to OTNTEST identified by OTNTEST
Grant succeeded.
SQL> grant create any directory, drop any directory to &USERNAME
2 /
old 1: grant create any directory, drop any directory to &USERNAME
new 1: grant create any directory, drop any directory to OTNTEST
Grant succeeded.
SQL> grant alter session, create view to &USERNAME
2 /
old 1: grant alter session, create view to &USERNAME
new 1: grant alter session, create view to OTNTEST
Grant succeeded.
SQL> alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
2 /
old 1: alter user &USERNAME default tablespace &USER_TABLESPACE temporary tablespace &TEMP_TABLESPACE
new 1: alter user OTNTEST default tablespace USERS temporary tablespace TEMP
User altered.
SQL> connect &USERNAME/&PASSWORD
Connected.
SQL> --
SQL> alter session set events ='19027 trace name context forever, level 0x800'
2 /
Session altered.
SQL> var schemaURL varchar2(256)
SQL> var schemaPath varchar2(256)
SQL> --
SQL> create or replace directory XMLDIR as '&LOCAL_FILESYSTEM'
2 /
old 1: create or replace directory XMLDIR as '&LOCAL_FILESYSTEM'
new 1: create or replace directory XMLDIR as 'C:\xdb\otn\457595'
Directory created.
SQL> begin
2 :schemaURL := 'testcase.xsd';
3 :schemaPath := '/public/testcase.xsd';
4 end;
5 /
PL/SQL procedure successfully completed.
SQL>
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
5 <!--W3C Schema generated by XMLSpy v2007 (http://www.altova.com)-->
6 <!--Please add namespace attributes, a targetNamespace attribute and import elements according to your requirements-->
7 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" elementFormDefault="qualified" attributeFormDefaul
t="unqualified" xdb:storeVarrayAsTable="true">
8 <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
9 <xs:element name="mdc" xdb:defaultTable="MDC_TABLE">
10 <xs:complexType xdb:SQLType="MDC_TYPE" xdb:maintainDOM="false">
11 <xs:sequence>
12 <xs:element ref="mfh"/>
13 <xs:element ref="md" minOccurs="0" maxOccurs="unbounded"/>
14 <xs:element ref="mff"/>
15 </xs:sequence>
16 </xs:complexType>
17 </xs:element>
18 <xs:element name="mfh" xdb:defaultTable="">
19 <xs:complexType xdb:SQLType="MFH_TYPE" xdb:maintainDOM="false">
20 <xs:sequence>
21 <xs:element ref="ffv"/>
22 <xs:element ref="sn"/>
23 <xs:element ref="st"/>
24 <xs:element ref="vn"/>
25 <xs:element ref="cbt"/>
26 </xs:sequence>
27 </xs:complexType>
28 </xs:element>
29 <xs:element name="md" xdb:defaultTable="" >
30 <xs:complexType xdb:SQLType="MD_TYPE" xdb:maintainDOM="false">
31 <xs:sequence>
32 <xs:element ref="neid"/>
33 <xs:element ref="mi" minOccurs="0" maxOccurs="unbounded" />
34 </xs:sequence>
35 </xs:complexType>
36 </xs:element>
37 <xs:element name="neid" xdb:defaultTable="" >
38 <xs:complexType xdb:SQLType="NEID_TYPE" xdb:maintainDOM="false">
39 <xs:sequence>
40 <xs:element ref="neun"/>
41 <xs:element ref="nedn"/>
42 </xs:sequence>
43 </xs:complexType>
44 </xs:element>
45 <xs:element name="mi" xdb:defaultTable="" >
46 <xs:complexType xdb:SQLType="MI_TYPE" xdb:maintainDOM="false">
47 <xs:sequence>
48 <xs:element ref="mts"/>
49 <xs:element ref="gp"/>
50 <xs:element ref="mt" minOccurs="0" maxOccurs="unbounded"/>
51 <xs:element ref="mv" minOccurs="0" maxOccurs="unbounded" />
52 </xs:sequence>
53 </xs:complexType>
54 </xs:element>
55 <xs:element name="mv" xdb:defaultTable="" >
56 <xs:complexType xdb:SQLType="MV_TYPE" xdb:maintainDOM="false">
57 <xs:sequence>
58 <xs:element ref="moid"/>
59 <xs:element ref="r" minOccurs="0" maxOccurs="unbounded"/>
60 <xs:element ref="sf" minOccurs="0"/>
61 </xs:sequence>
62 </xs:complexType>
63 </xs:element>
64 <xs:element name="mff" xdb:defaultTable="" >
65 <xs:complexType xdb:maintainDOM="false">
66 <xs:sequence>
67 <xs:element ref="ts"/>
68 </xs:sequence>
69 </xs:complexType>
70 </xs:element>
71 <xs:element name="ts" type="xs:string"/>
72 <xs:element name="sf" type="xs:string"/>
73 <xs:element name="r">
74 <xs:complexType xdb:SQLType="R_TYTPE" xdb:maintainDOM="false">
75 <xs:simpleContent>
76 <xs:extension base="xs:string">
77 <xs:attribute ref="dummy" use="prohibited"/>
78 </xs:extension>
79 </xs:simpleContent>
80 </xs:complexType>
81 </xs:element>
82 <xs:attribute name="dummy" type="xs:boolean"/>
83 <xs:element name="mt">
84 <xs:complexType xdb:SQLType="MT_TYTPE" xdb:maintainDOM="false">
85 <xs:simpleContent>
86 <xs:extension base="xs:string">
87 <xs:attribute ref="dummy" use="prohibited"/>
88 </xs:extension>
89 </xs:simpleContent>
90 </xs:complexType>
91 </xs:element>
92 <xs:element name="moid" type="xs:string"/>
93 <xs:element name="gp" type="xs:string"/>
94 <xs:element name="mts" type="xs:string"/>
95 <xs:element name="nedn" type="xs:string"/>
96 <xs:element name="neun" type="xs:string"/>
97 <xs:element name="cbt" type="xs:string"/>
98 <xs:element name="vn" type="xs:string"/>
99 <xs:element name="st" type="xs:string"/>
100 <xs:element name="sn" type="xs:string"/>
101 <xs:element name="ffv" type="xs:string"/>
102 </xs:schema>');
103 begin
104 if (dbms_xdb.existsResource(:schemaPath)) then
105 dbms_xdb.deleteResource(:schemaPath);
106 end if;
107 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
108 end;
109 /
PL/SQL procedure successfully completed.
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 :schemaURL,
5 xdbURIType(:schemaPath).getClob(),
6 TRUE,TRUE,FALSE,TRUE
7 );
8 end;
9 /
PL/SQL procedure successfully completed.
SQL> declare
2 nested_table_name varchar2(256);
3 iot_index_name varchar2(256);
4 begin
5 select table_name
6 into nested_table_name
7 from user_nested_tables
8 where parent_table_column = '"XMLDATA"."md"'
9 and parent_table_name = 'MDC_TABLE';
10
11 execute immediate 'rename "'|| nested_table_name ||'" to MD_TABLE';
12
13 select index_name
14 into iot_index_name
15 from user_indexes
16 where table_name = 'MD_TABLE' and index_type = 'IOT - TOP';
17
18 execute immediate 'alter index "'|| iot_index_name ||'" rename to MD_IOT';
19
20 select table_name
21 into nested_table_name
22 from user_nested_tables
23 where parent_table_column = 'mi'
24 and parent_table_name = 'MD_TABLE';
25
26 execute immediate 'rename "'|| nested_table_name ||'" to MI_TABLE';
27
28 select index_name
29 into iot_index_name
30 from user_indexes
31 where table_name = 'MI_TABLE' and index_type = 'IOT - TOP';
32
33 execute immediate 'alter index "'|| iot_index_name ||'" rename to MI_IOT';
34
35 select table_name
36 into nested_table_name
37 from user_nested_tables
38 where parent_table_column = 'mt'
39 and parent_table_name = 'MI_TABLE';
40
41 execute immediate 'rename "'|| nested_table_name ||'" to MT_TABLE';
42
43 select index_name
44 into iot_index_name
45 from user_indexes
46 where table_name = 'MT_TABLE' and index_type = 'IOT - TOP';
47
48 execute immediate 'alter index "'|| iot_index_name ||'" rename to MT_IOT';
49
50 select table_name
51 into nested_table_name
52 from user_nested_tables
53 where parent_table_column = 'mv'
54 and parent_table_name = 'MI_TABLE';
55
56 execute immediate 'rename "'|| nested_table_name ||'" to MV_TABLE';
57
58 select index_name
59 into iot_index_name
60 from user_indexes
61 where table_name = 'MV_TABLE' and index_type = 'IOT - TOP';
62
63 execute immediate 'alter index "'|| iot_index_name ||'" rename to MV_IOT';
64
65 select table_name
66 into nested_table_name
67 from user_nested_tables
68 where parent_table_column = 'r'
69 and parent_table_name = 'MV_TABLE';
70
71 execute immediate 'rename "'|| nested_table_name ||'" to R_TABLE';
72
73 select index_name
74 into iot_index_name
75 from user_indexes
76 where table_name = 'R_TABLE' and index_type = 'IOT - TOP';
77
78 execute immediate 'alter index "'|| iot_index_name ||'" rename to R_IOT';
79 end;
80 /
PL/SQL procedure successfully completed.
SQL> desc MDC_TABLE
Name Null? Type
TABLE of SYS.XMLTYPE(XMLSchema "testcase.xsd" Element "mdc") STORAGE Object-relational TYPE "MDC_TYPE"
SQL> --
SQL> desc MD_TABLE
Name Null? Type
neid NEID_TYPE
mi mi9495_COLL
SQL> --
SQL> desc MI_TABLE
Name Null? Type
mts VARCHAR2(4000 CHAR)
gp VARCHAR2(4000 CHAR)
mt mt9493_COLL
mv mv9494_COLL
SQL> --
SQL> desc MT_TABLE
Name Null? Type
SYS_XDBBODY$ VARCHAR2(4000 CHAR)
dummy RAW(1)
SQL> --
SQL> desc MV_TABLE
Name Null? Type
moid VARCHAR2(4000 CHAR)
r r9492_COLL
sf VARCHAR2(4000 CHAR)
SQL> --
SQL> desc R_TABLE
Name Null? Type
SYS_XDBBODY$ VARCHAR2(4000 CHAR)
dummy RAW(1)
SQL> --
SQL> set autotrace on explain
SQL> set lines 150 pages 100
SQL> --
SQL> var XMLTEXT varchar2(4000)
SQL> --
SQL> begin
2 :xmlText :=
3 '<mdc>
4 <mfh>
5 <ffv/>
6 <sn/>
7 <st/>
8 <vn/>
9 <cbt/>
10 </mfh>
11 <md>
12 <neid>
13 <neun/>
14 <nedn/>
15 </neid>
16 <mi>
17 <mts>20061117100000-0800</mts>
18 <gp>900</gp>
19 <mt>MeasurementType1</mt>
20 <mt>MeasurementType2</mt>
21 <mt>MeasurementType3</mt>
22 <mt>MeasurementType4</mt>
23 <mt>MeasurementType5</mt>
24 <mt>MeasurementType6</mt>
25 <mt>MeasurementType7</mt>
26 <mv>
27 <moid>Identifier</moid>
28 <r>58</r>
29 <r>62</r>
30 <r>43</r>
31 <r>45</r>
32 <r>43</r>
33 <r>14</r>
34 <r>29</r>
35 <sf>FALSE</sf>
36 </mv>
37 </mi>
38 </md>
39 <mff>
40 <ts/>
41 </mff>
42 </mdc>';
43 end;
44 /
PL/SQL procedure successfully completed.
SQL> insert into MDC_TABLE values ( xmltype ( :xmltext ))
2 /
1 row created.
Execution Plan
Plan hash value: 1621636734
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | INSERT STATEMENT | | 1 | 100 | 1 (0)| 00:00:01 |
| 1 | LOAD TABLE CONVENTIONAL | MDC_TABLE | | | | |
SQL> commit
2 /
Commit complete.
SQL> select MT_INDEX, MT_VALUE, R_VALUE
2 from MDC_TABLE,
3 xmlTable
4 (
5 '/mdc/md/mi'
6 passing object_value
7 columns
8 XML xmltype path '.'
9 ) MI,
10 xmlTable
11 (
12 '/mi/mt'
13 passing MI.XML
14 columns
15 MT_INDEX for ordinality,
16 MT_VALUE varchar2(32) path 'text()'
17 ) MT,
18 xmlTable
19 (
20 '/mi/mv/r'
21 passing MI.XML
22 columns
23 R_INDEX for ordinality,
24 R_VALUE varchar2(32) path 'text()'
25 ) R
26 where MT_INDEX = R_INDEX
27 /
MT_INDEX MT_VALUE R_VALUE
1 MeasurementType1 58
2 MeasurementType2 62
3 MeasurementType3 43
4 MeasurementType4 45
5 MeasurementType5 43
6 MeasurementType6 14
7 MeasurementType7 29
7 rows selected.
Execution Plan
Plan hash value: 2832518671
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 5449M| 19T| 1616M (1)|999:59:59 |
| 1 | NESTED LOOPS | | 5449M| 19T| 1616M (1)|999:59:59 |
| 2 | NESTED LOOPS | | 66M| 237G| 197K (1)| 00:39:36 |
| 3 | NESTED LOOPS | | 8168 | 29M| 27 (0)| 00:00:01 |
|* 4 | TABLE ACCESS FULL | MDC_TABLE | 1 | 3788 | 3 (0)| 00:00:01 |
| 5 | COLLECTION ITERATOR PICKLER FETCH | XMLSEQUENCEFROMXMLTYPE | | | | |
| 6 | VIEW | | 8168 | 247K| 24 (0)| 00:00:01 |
| 7 | COUNT | | | | | |
| 8 | COLLECTION ITERATOR PICKLER FETCH| XMLSEQUENCEFROMXMLTYPE | | | | |
|* 9 | VIEW | | 82 | 2542 | 24 (0)| 00:00:01 |
| 10 | COUNT | | | | | |
| 11 | COLLECTION ITERATOR PICKLER FETCH | XMLSEQUENCEFROMXMLTYPE | | | | |
Predicate Information (identified by operation id):
4 - filter(SYS_CHECKACL("ACLOID","OWNERID",xmltype('<privilege
xmlns="http://xmlns.oracle.com/xdb/acl.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd http://xmlns.oracle.com/xdb/acl.xsd
DAV:http://xmlns.oracle.com/xdb/dav.xsd"><read-properties/><read-contents/></privilege>'))=1)
9 - filter("MT_INDEX"="R_INDEX")
Note
- dynamic sampling used for this statement
SQL>As you can see the re-write is not working out in this case. I'll ask development to take a look at it and see if they can solve it. I think it's similar to another bug I've filed...
WRT to your question about transforming. One easy transformation would be to number the nodes.. Eg use XSTL to add an index number to each MT node and each R node and then join on that value. -
Hi I am getting the following error in Build JDEVADF_11.1.1.4.0_GENERIC_101227.1736.5923 This works fine in Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660 .Our production environments are on the process of converting to WebLogic Server Version: 10.3.4.0 . So this is not working in this environment. Is there any work around available for this issue ?
My page contain 3 inputListOfValues. The first click to one of the inputListOfLOV works but if I am clicking on any other LOV its throwing the error :
<May 2, 2011 7:52:59 AM PDT> <Warning> <oracle.adfinternal.view.faces.lifecycle.LifecycleImpl> <BEA-000000> <ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RENDER_RESPONSE 6
java.lang.NullPointerException
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfCriterionValues.<init>(FacesCtrlSearchBinding.java:3388)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfAttributeCriterion.<init>(FacesCtrlSearchBinding.java:2067)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfConjunctionCriterion._loadCriterionList(FacesCtrlSearchBinding.java:3329)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfConjunctionCriterion._loadCriterionList(FacesCtrlSearchBinding.java:3279)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfConjunctionCriterion.getCriterionList(FacesCtrlSearchBinding.java:3178)
at oracle.adfinternal.view.faces.renderkit.rich.query.QueryBehavior.shouldShowInstructionText(QueryBehavior.java:58)
at oracle.adfinternal.view.faces.renderkit.rich.QueryRenderer._createInfoFacet(QueryRenderer.java:1697)
at oracle.adfinternal.view.faces.renderkit.rich.QueryRenderer.renderContentRow(QueryRenderer.java:697)
at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer.encodeAll(PanelHeaderRenderer.java:217)
at oracle.adfinternal.view.faces.renderkit.rich.QueryRenderer.encodeAll(QueryRenderer.java:422)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:415)
at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer.renderChildrenAfterHelpAndInfo(PanelHeaderRenderer.java:508)
at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer._renderContentCell(PanelHeaderRenderer.java:1032)
at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer.renderContentRow(PanelHeaderRenderer.java:456)
at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer.encodeAll(PanelHeaderRenderer.java:217)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:405)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$300(PanelGroupLayoutRenderer.java:30)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:654)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:573)
at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:170)
at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:290)
at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:255)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:330)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:415)
at oracle.adfinternal.view.faces.renderkit.rich.PanelWindowRenderer.encodeContent(PanelWindowRenderer.java:608)
at oracle.adfinternal.view.faces.renderkit.rich.PanelWindowRenderer.encodeAll(PanelWindowRenderer.java:457)
at oracle.adfinternal.view.faces.renderkit.rich.DialogRenderer.encodeAll(DialogRenderer.java:143)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:415)
at oracle.adfinternal.view.faces.renderkit.rich.PopupRenderer.encodeAll(PopupRenderer.java:776)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputListOfValuesRendererBase._renderPopup(SimpleInputListOfValuesRendererBase.java:859)
at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputListOfValuesRendererBase.renderElementContent(SimpleInputListOfValuesRendererBase.java:448)
at oracle.adfinternal.view.faces.renderkit.rich.FormInputRenderer.encodeAllAsElement(FormInputRenderer.java:150)
at oracle.adfinternal.view.faces.renderkit.rich.FormElementRenderer.encodeAll(FormElementRenderer.java:138)
at oracle.adf.view.rich.render.RichRenderer.delegateRenderer(RichRenderer.java:1627)
at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.renderFieldCellContents(LabeledInputRenderer.java:205)
at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.renderFieldCell(LabelLayoutRenderer.java:528)
at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.encodeAll(LabelLayoutRenderer.java:305)
at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.encodeAll(LabeledInputRenderer.java:192)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
Thanks
Suneesh
Edited by: Suneesh Raman on May 2, 2011 8:26 AMLooks like you are hitting the bug 11798139.
For more details, look into the following thread:
ADF inputComboboxListOfValues 11.1.1.4 NPE issue
As per the bug updates, the fix is available only in JDeveloper 11.1.1.5.0.
Thanks,
Navaneeth -
Unable to hide advance button in the input list values pop up
I am using a input list of values ,in pop up i want only basic search view crietiria , but i am not able to hide advance option from the popup.
please help me to resolve this issuesathishreddy wrote:
I am using a input list of values ,in pop up i want only basic search view crietiria , but i am not able to hide advance option from the popup.
please help me to resolve this issueHow do I ask a question on the forums?
SQL and PL/SQL FAQ
what does this have to do with Oracle DB -
Interactive Report - One column based on a list of values
I have an Interactive Report that's part of a Form with Report. The form works fine, but I have a problem with the interactive report. One of the fields is based on a list of values. That is, the data in the table in the State field has numeric state codes, 1 to 51. The form part has no problem with this, as it's a select list based on a list of values LOV query, so the user selects the actual name of the state.
The interactive report, however, displays the numeric codes, which is what is actually in the table. I am looking in the column definition for some way to tell it to convert the value to the state name, but I do not see it. There is a List of Values place, but that seems to be for filtering purposes instead of for return vs. display value.
3.2.Tharpa,
I'm not sure if what I am about to suggest will work in 3.2. However, in 4.1, I am using LOVs with IRRs without any issue.
For example, if I have an address field of state code, I have a named LOV (LOV_STATE). I go into the report attributes for this column. There, I find a section named "List of Values" In here, I pick the "column filter type" of "Use Named List of Values to Filter Exact Match". (Presumably, this will work with Static List too). When the column is displayed, I see the State name displayed.
-Joe
Edited by: Joe Upshaw on Mar 14, 2012 1:58 PM -
How to populate form fields by choosing a parameter from a list of values?
I have a unique field (say claim #)that is displayed at the top right of the page. Whenever I choose a value from the list of values and query the DB, all the subsequent forms(representation of one or more tables, linked by claim#) present below the search field should be populated with apt values.
The issue here is, the forms displayed in the bottom of the page represent different master tables linked by the universal identifier(claim#) for my system.
Please guide me if anyone knows a solution for this issue.
Regards
ArunYou might want to look at the Acrobat Forms Data Format (FDF) Toolkit to create an FDF file that has the webbased PDF form refereced as the form source for the FDF data. You could also look at PDFTK and PDF Hacks.
This is more of a developers issue than a simple Acrobat JavaScript issue.
If may salary were to be doubled, I would still receive the same amount.
If you do not like the responses ask for double your fee back.
What do you expect for free? -
What is Delegated LOV (List of Value) ?
Hi,
What is Delegated LOV (List of Value) ?
ThanksThe delegate search option on the list of values properties presents the user with an empty list of values at query run time. The user enters search criteria to limit the number of values returned in the list of values.
To activate the delegated search option for a list of values, in the designer, edit the list of values properties on the object properties page of the object to which the list of values applies.
The delegated search is not supported for cascading lists of values.
Regards
Maybe you are looking for
-
I updated the folio builder and now my indesign just hangs when i start it
what am i supposed to do?
-
My Western Digital external hard drive suddenly stopped showing up on my macbook pro and it disappeared from disk utility. I have tried making invisible files visible but nothing has worked and my hard drive shows up on a PC but not my Mac anymore.
-
Palm TX won't hot sync via wifi, but will surf the internet via wifi
My Palm TX will hotsync with Windows XP via USB only. I cannot get a wifi hotsync. I can get on my wireless home network and surf the net, but I cannot hotsync to my computer through my wireless home network. I've tried everything I can think of. I c
-
How Upload Premiere Pro CS3 FTP to Amazon S3?
Hello Video Mavens, Do you know how to configure Adobe Premiere Pro CS to upload a file to Amazon's S3 service using the FTP client built into Adobe Media Encoder? If so...your detailed, step-by-step instructions are warmly welcomed...and your Rock S
-
Can't upgrade core device softward on BB Storm
Hello, I'm actually trying to somehow get the icon on my BB Storm 1 for the new Verizon contact backup assistant, but not quite sure how to go about it. I'm thinking it may appear if I do the core software upgrade that the Desktop Manager software s