Query not returning rows (nvl)
Hi all, I was wondering if anyone could help
I have a query :
select a, b, c, d, e from table_t
where a=nvl(:para, a)
and b=nvl(:parb,b)
and c=nvl(:parc,c)
the problem is is one the rows contain a null, then that row is not returned. I would like to return all rows along with the null values.
for example:
row 1 has b= null then row 1 is not displayed but only the rest of the rows where b is not null are displayed
DB version 11.1.0.6.0 g
All help will be appreciated.
Kind regards,
Cleopatra
Hi, Cleo,
Cleopatra wrote:
Hi Frank ,
thanks for the reply
I get all the rows displayed now, but the filters do not seem to work for para, parb and parc.
Any ideas how I could get that?Before moving on to other ideas, let's try the ideas I already mentioned:
Frank Kulash wrote:
... post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data. Make sure the data shows special situations you care about, for example, if a is NULL, but :para is not NULL.
Explain, using specific examples, how you get those results from that data.
In problems like this, it often helps to know if there are impossible values for any of the columns. For example, if a is a DATE, it could be helpful to know if all dates stored in the table are after the year 1000, or, if b is a NUMBER, that it is always in the range -100 to +100.
Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
See the forum FAQ {message:id=9360002}If the problem includes parameters (such as :para and :parb), then post a few sets of parameters and the results you want from the same sample data for each set.
Simplify the problem if you can. For example, instead of comparing 3 columns to 3 paramaeters, could you illustrate the problem just as well with 2 columns and 2 parameters, or even 1 column and 1 parameter?
Similar Messages
-
Query not returning rows in 'result' tab due to invalid date field (bug?)
It seems that in the results display, if there is a date field with out of bounds data then the query is stopped and only the results up to that record are displayed. When running the same query as a script, all of records are returned. The offending date in the table was '-10100-00-00 0-1:0-1:0-1.0'. Don't ask how it got there... I really have no idea.
Has anyone else noticed this? Could it relate to the NLS format? Would it be possible to just display this value as null in the 'results' tab instead? Or wrap any invalid data as such and return nothing in the field but still show the record?Hello,
It seems that you had resolved the issue which caused by premission.
You can post the solution in a new reply and mark it as answer.
Regards,
Fanny Liu
If you have any feedback on our support, please click here.
Fanny Liu
TechNet Community Support -
Select query does not return rows
Hi all,
The following query does not returning rows even though values are there in table.
Kindly let me know why it is creating problem.
thanks, P Prakash
/* Formatted on 2011/05/11 16:44 (Formatter Plus v4.8.8) */
SELECT pr.pa_rqst_sid, ptr.sbmtr_trnsctn_idntfr, ptr.athrztn_infrmtn,
DECODE (ou.org_unit_name,
'PA - MDCH', (SELECT property_value
FROM hipaa_system_defaults
WHERE property_name = 'RECEIVER_ID_1_PA'),
'PA - MPRO', (SELECT property_value
FROM hipaa_system_defaults
WHERE property_name = 'RECEIVER_ID_2_PA'),
'PA - DEFAULT', (SELECT property_value
FROM hipaa_system_defaults
WHERE property_name = 'RECEIVER_ID_1_PA'),
NULL
) AS intrchng_sndr_idntfr,
ptr.intrchng_sndr_idntfr AS intrchng_rcvr_idntfr, ptr.usg_indctr,
ptr.intrchng_sndr_idntfr AS applctn_rcvr_code,
ptr.trnsctn_set_cntrl_nmbr AS trnsctn_set_cntrl_nmbr,
ptr.athrztn_infrmtn_qlfr AS athrztn_infrmtn_qlfr,
ptr.scrty_infrmtn_qlfr AS scrty_infrmtn_qlfr,
ptr.scrty_infrmtn AS scrty_infrmtn,
ptr.intrchng_sndr_idntfr_qlfr AS intrchng_sndr_idntfr_qlfr,
ptr.intrchng_rcvr_idntfr_qlfr AS intrchng_rcvr_idntfr_qlfr,
ptr.intrchng_cntrl_stndrds_idntfr AS intrchng_cntrl_stndrds_idntfr,
ptr.intrchng_cntrl_vrsn_nmbr AS intrchng_cntrl_vrsn_nmbr,
ptr.intrchng_cntrl_nmbr AS intrchng_cntrl_nmbr,
ptr.acknwldgmnt_rqstd_indctr AS acknwldgmnt_rqstd_indctr,
ptr.cmpnt_elmnt_sprtr AS cmpnt_elmnt_sprtr,
ptr.fnctnl_idntfr_code AS fnctnl_idntfr_code,
ptr.grp_cntrl_nmbr AS grp_cntrl_nmbr,
ptr.rspnsbl_agncy_code AS rspnsbl_agncy_code,
ptr.vrsn_rls_indstry_idntfr_code AS vrsn_rls_indstry_idntfr_code
FROM pa_request pr, pa_transaction_request ptr, org_unit ou
WHERE ptr.pa_trnsctn_rqst_sid = pr.pa_trnsctn_rqst_sid
AND pr.org_unit_sid = ou.org_unit_sid
AND pr.oprtnl_flag = 'A'
AND ptr.oprtnl_flag = 'A'
AND ou.oprtnl_flag = 'A'
AND pr.pa_mode_type_lkpcd = 'BT'
AND (pr.status_cid = 86 OR pr.status_cid IN
(20, 70, 30, 80, 25, 101, 96)
AND pr.pa_rqst_sid = 75006271
ORDER BY pr.pa_rqst_sid;
the query is not giving result for this particular request sid.75006271 is present in table.833560 wrote:
Hi all,
The following query does not returning rows even though values are there in table.
Kindly let me know why it is creating problem.
thanks, P Prakash
/* Formatted on 2011/05/11 16:44 (Formatter Plus v4.8.8) */
SELECT pr.pa_rqst_sid, ptr.sbmtr_trnsctn_idntfr, ptr.athrztn_infrmtn,
DECODE (ou.org_unit_name,
'PA - MDCH', (SELECT property_value
FROM hipaa_system_defaults
WHERE property_name = 'RECEIVER_ID_1_PA'),
'PA - MPRO', (SELECT property_value
FROM hipaa_system_defaults
WHERE property_name = 'RECEIVER_ID_2_PA'),
'PA - DEFAULT', (SELECT property_value
FROM hipaa_system_defaults
WHERE property_name = 'RECEIVER_ID_1_PA'),
NULL
) AS intrchng_sndr_idntfr,
ptr.intrchng_sndr_idntfr AS intrchng_rcvr_idntfr, ptr.usg_indctr,
ptr.intrchng_sndr_idntfr AS applctn_rcvr_code,
ptr.trnsctn_set_cntrl_nmbr AS trnsctn_set_cntrl_nmbr,
ptr.athrztn_infrmtn_qlfr AS athrztn_infrmtn_qlfr,
ptr.scrty_infrmtn_qlfr AS scrty_infrmtn_qlfr,
ptr.scrty_infrmtn AS scrty_infrmtn,
ptr.intrchng_sndr_idntfr_qlfr AS intrchng_sndr_idntfr_qlfr,
ptr.intrchng_rcvr_idntfr_qlfr AS intrchng_rcvr_idntfr_qlfr,
ptr.intrchng_cntrl_stndrds_idntfr AS intrchng_cntrl_stndrds_idntfr,
ptr.intrchng_cntrl_vrsn_nmbr AS intrchng_cntrl_vrsn_nmbr,
ptr.intrchng_cntrl_nmbr AS intrchng_cntrl_nmbr,
ptr.acknwldgmnt_rqstd_indctr AS acknwldgmnt_rqstd_indctr,
ptr.cmpnt_elmnt_sprtr AS cmpnt_elmnt_sprtr,
ptr.fnctnl_idntfr_code AS fnctnl_idntfr_code,
ptr.grp_cntrl_nmbr AS grp_cntrl_nmbr,
ptr.rspnsbl_agncy_code AS rspnsbl_agncy_code,
ptr.vrsn_rls_indstry_idntfr_code AS vrsn_rls_indstry_idntfr_code
FROM pa_request pr, pa_transaction_request ptr, org_unit ou
WHERE ptr.pa_trnsctn_rqst_sid = pr.pa_trnsctn_rqst_sid
AND pr.org_unit_sid = ou.org_unit_sid
AND pr.oprtnl_flag = 'A'
AND ptr.oprtnl_flag = 'A'
AND ou.oprtnl_flag = 'A'
AND pr.pa_mode_type_lkpcd = 'BT'
AND (pr.status_cid = 86 OR pr.status_cid IN
(20, 70, 30, 80, 25, 101, 96)
AND pr.pa_rqst_sid = 75006271
ORDER BY pr.pa_rqst_sid;
Hi,
Its very difficult to analyse the query without any data being provided. So I suggest you to debug the above query by keeping basic join condition intact and comment out all the other where conditions for initial run.
FROM pa_request pr, pa_transaction_request ptr, org_unit ou
WHERE ptr.pa_trnsctn_rqst_sid = pr.pa_trnsctn_rqst_sid
--AND pr.org_unit_sid = ou.org_unit_sid
--AND pr.oprtnl_flag = 'A'
--AND ptr.oprtnl_flag = 'A'
--AND ou.oprtnl_flag = 'A'
--AND pr.pa_mode_type_lkpcd = 'BT'
--AND (pr.status_cid = 86 OR pr.status_cid IN
(20, 70, 30, 80, 25, 101, 96)
--AND pr.pa_rqst_sid = 75006271If if you have given join conditions proper and if data exists ,you can see set of rows displayed.
Next step is to keep on uncommenting each of the where condition
AND pr.oprtnl_flag = 'A'Like this you 'll come to the condition which does not match your requirement
Hope this helps
Regards,
Achyut -
Second level detail in master-detail via VL does not return rows
Sorry, I did not want to repost the entire thread. Please see the last entry in the following thread for my urgent question.
second level detail in master-detail-detail does not return rows
"second level detail in master-detail-detail does not return rows"
Thanks so much!
TeriAhhh ... that explains everything!
You wrote:
ListView1
-> ListRowView2 (via ListRowFkLink1)
-> ListValueView2 (via ListValueFkLink2)
That's why I thought it's a master and two details.
But it's more like:
ListView1
-> ListRowView2 (via ListRowFkLink1)
-> ListValueView2 (via ListValueFkLink2)Is that correct?
That's the explanation.
A ViewLink is basically a RowSetIterator controlling a detail RowSet. When the iterator navigates, the detail RS is refreshed.
When you create a hierarchy in the wizard, the controlling master iterator is always the default iterator! But you used a new iterator (listRowIter) to iterate over your first detail. The default iterator of that first detail didn't move, hence the RowSet of your second detail was not refreshed.
When you navigate in the tester, the tester always uses the default iterator. That's why it worked there.
Sascha -
Query not returning any rows?
hi experts,
My query running long but not returning any result. i have data , no locks on the tables.
i have bigger ( hardware ) database on different server , where I can get results with same query.
Can you tell me what are the DB settings i have to look at to resolve this issue?
( any sql query that can monitor these parameters ?)
(the tabels involved in this query has 33milliions, 2millions, 7 milllions )
Thanks ..
Edited by: 642877 on Sep 21, 2011 6:46 PMOracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
"CORE 11.2.0.2.0 Production"
TNS for Solaris: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
==========================================================
Plan hash value: 3185710999
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
| 0 | SELECT STATEMENT | | 3 | 423 | 24592 (2)| 00:05:45 | | |
| 1 | HASH GROUP BY | | 3 | 423 | 24592 (2)| 00:05:45 | | |
| 2 | NESTED LOOPS | | | | | | | |
| 3 | NESTED LOOPS | | 3 | 423 | 24591 (2)| 00:05:45 | | |
| 4 | NESTED LOOPS | | 3 | 345 | 24585 (2)| 00:05:45 | | |
| 5 | NESTED LOOPS | | 1 | 84 | 21916 (2)| 00:05:07 | | |
| 6 | NESTED LOOPS | | 1 | 67 | 21915 (2)| 00:05:07 | | |
| 7 | PARTITION LIST ALL | | 2 | 60 | 21913 (2)| 00:05:07 | 1 | 11 |
|* 8 | TABLE ACCESS FULL | ART_CRDT_ACCT_FACT | 2 | 60 | 21913 (2)| 00:05:07 | 1 | 11 |
|* 9 | TABLE ACCESS BY INDEX ROWID| ART_PRTFOL_GRP_DIM | 1 | 37 | 1 (0)| 00:00:01 | | |
|* 10 | INDEX UNIQUE SCAN | ART_PRTFOL_GRP_DIM_INDEX1 | 1 | | 0 (0)| 00:00:01 | | |
| 11 | TABLE ACCESS BY INDEX ROWID | W_MONTH_D | 1 | 17 | 1 (0)| 00:00:01 | | |
|* 12 | INDEX UNIQUE SCAN | UQ_W_MONTH_D | 1 | | 0 (0)| 00:00:01 | | |
| 13 | PARTITION LIST ITERATOR | | 3 | 93 | 2669 (2)| 00:00:38 | KEY | KEY |
|* 14 | TABLE ACCESS FULL | ACCT_CLTRL_RLTNP | 3 | 93 | 2669 (2)| 00:00:38 | KEY | KEY |
|* 15 | INDEX UNIQUE SCAN | UQ_ART_CLTRL_DIM | 1 | | 1 (0)| 00:00:01 | | |
| 16 | TABLE ACCESS BY INDEX ROWID | CLTRL_DIM | 1 | 26 | 2 (0)| 00:00:01 | | |
------------------------------------------------------------------------------------------------------------------------------- -
I found out issue distinct clause in query ,refcursor not returning rows
URGENT
hi the following procedure returns records but when i add distinct clause to (open v_refcursor for select )
i.e open v_refcursor for select distinct column1,column2 .......... in the procedure the procedure is not returning records. please help what is the issue here?
CREATE OR REPLACE procedure proc_shared_report3 (in_cust_id varchar2,in_user_array user_tab , in_acct_array acct_tab,in_report_pvlg_hier varchar2,in_fmt_pvlg_hier varchar2,v_refcursor OUT sys_refcursor)
is
BEGIN
if in_acct_array.count>0 and in_fmt_pvlg_hier is not null and in_cust_id is not null and in_user_array.count>0 and in_report_pvlg_hier is not null then
dbms_output.put_line('all are not null');
*open v_refcursor for select usr_id* from vw_get_user_profile where usr_id in (
SELECT USR_ID FROM VW_GET_ACCOUNTS WHERE USR_ID IN (SELECT distinct up1.usr_id FROM vw_get_user_privileges up1,vw_get_user_privileges up2 WHERE
up1.usr_id=up2.usr_id and
up1.product_hierarchy=in_report_pvlg_hier and up2.PRODUCT_HIERARCHY=in_fmt_pvlg_hier AND up1.usr_id in (select usr_id from vw_get_user_for_customer where
cust_id=in_cust_id)
and up1.usr_id Member Of in_user_array) AND acct_nb Member of in_acct_array);
/* if account list is null and rest all not null */
elsif (in_acct_array is null or in_acct_array IS EMPTY or in_acct_array.count = 0) and in_fmt_pvlg_hier is not null and in_cust_id is not null and in_user_array.count>0 and in_report_pvlg_hier is not null then
dbms_output.put_line('acc is null and rest are not null');
*open v_refcursor for select usr_id,usr_type_cd* from vw_get_user_profile where usr_id in(SELECT distinct up1.usr_id FROM vw_get_user_privileges up1,vw_get_user_privileges up2 WHERE
up1.usr_id=up2.usr_id and
up1.product_hierarchy=in_report_pvlg_hier and up2.PRODUCT_HIERARCHY=in_fmt_pvlg_hier AND up1.usr_id in (select usr_id from vw_get_user_for_customer where
cust_id=in_cust_id)
and up1.usr_id Member Of in_user_array);
/* if account list is null and format pvlg hierarchy is null */
elsif (in_acct_array is null or in_acct_array IS EMPTY or in_acct_array.count = 0) and in_fmt_pvlg_hier is null and in_cust_id is not null and in_user_array.count>0 and in_report_pvlg_hier is not null
then
dbms_output.put_line('acc is null and format is null null');
*open v_refcursor for select usr_id,tmzon_cd* from vw_get_user_profile where usr_id in (
(SELECT distinct usr_id FROM vw_get_user_privileges WHERE product_hierarchy=in_report_pvlg_hier AND usr_id in (select usr_id from vw_get_user_for_customer where
cust_id=in_cust_id)
and usr_id Member Of in_user_array)) ;
/* if account list is not null and format pvlg hierarchy is null */
else -- If i get only one privilege and all other inputs then
dbms_output.put_line('acc list is not null and format pvlg is null');
*open v_refcursor for select usr_id,prod_shrt_nm* from vw_get_user_profile where usr_id in (
SELECT USR_ID FROM VW_GET_ACCOUNTS WHERE USR_ID IN (SELECT distinct usr_id FROM vw_get_user_privileges WHERE
product_hierarchy=in_report_pvlg_hier AND usr_id in (select usr_id from vw_get_user_for_customer where
cust_id=in_cust_id) and usr_id Member Of in_user_array ) AND acct_nb Member of in_acct_array);
END IF;
END proc_shared_report3;
/Edited by: raj_fresher on Aug 12, 2009 8:50 AM
Edited by: raj_fresher on Aug 12, 2009 1:40 PMits like this ...... ?
You have to understand that without any testdata/ a reproducable testcase, all I can do is asking you to test some alternatives, I'm just guessing things from what I can make of your example, and hope you'll repost back any differences in a clear and concisive way.
What I didn't understand is why you're not just joining your tables/views instead of using inner queries.
Unfortunatly you're not providing any feedback on that, on the other hand you've narrowed down your problem to a specific part of your query? But you're not sharing why/what makes you decide to take that turn.
But: you're still using inner queries in your reply.
So, sorry, I cannot proceed/say anything useful unless you answer my previous post.
Because, there are still many other questions/doubts: I don't understand why you're not aliasing your columns properly, for example.
I don't know why you've suddenly switched to VW_GET_USER_cust_sa?
I don't know if you've tried the straight join instead of nesting queries?
And if you did, what's the problem?
Please read and understand this, so you'll get your answers by the speed of light the next time you've got a question or problem:
http://tkyte.blogspot.com/2005/06/how-to-ask-questions.html
And don't refrain from using that tag ;) -
Basic NOT EXISTS query not returning any results
DB Version: 10gR2
One of our tables in the test schema is having less number of columns than the PROD shema.
To determine which are missing columns in this table in Test schema i did the following.
-----In Test Schema
CREATE TABLE XYZ2
(COL1 NUMBER); ----------only one column
SQL > CREATE TABLE tables_test_list AS SELECT TABLE_NAME,COLUMN_NAME FROM USER_TAB_COLS;
Table created.--- In the prod schema
SQL> CREATE TABLE XYZ2
2 (COL1 NUMBER,
3 COL2 NUMBER ----------- same table name with an extra column
4 );
Table createdAnd from the PROD schema i execute the following SQL to determine what are the columns that are missing in the TEST schema
select column_name from User_Tab_Cols outer
where table_name='XYZ2'
and not exists (select 1 from TEST_SCHEMA.tables_test_list inner where outer.TABLE_NAME=inner.TABLE_NAME )But the above query is not returning any results. Any idea why?Actually, the example from the link I posted earlier:
[email protected]> (
2 select 'IN T1, NOT T2', column_name,data_type,data_length
3 from user_tab_columns
4 where table_name = 'T1'
5 MINUS
6 select 'IN T1, NOT T2', column_name,data_type,data_length
7 from user_tab_columns
8 where table_name = 'T2'
9 )
10 UNION ALL
11 (
12 select 'IN T2, NOT T1', column_name,data_type,data_length
13 from user_tab_columns
14 where table_name = 'T2'
15 MINUS
16 select 'IN T2, NOT T1', column_name,data_type,data_length
17 from user_tab_columns
18 where table_name = 'T1'
19 )
20 / -
All,
I have 2 dimension tables and 1 logical fact table
a01_bi_agency_interest_dim
a01_bi_dsk_central_file_dim
tier2_facts
1 Complex Join in Physical Layer
A01_BI_AGENCY_INTEREST_DIM.MASTER_AI_ID = A01_BI_DSK_CENTRAL_FILE_DIM.MASTER_AI_ID AND A01_BI_AGENCY_INTEREST_DIM.INT_DOC_ID = A01_BI_DSK_CENTRAL_FILE_DIM.INT_DOC_ID
2 Logical Joins in BMM
A01_BI_AGENCY_INTEREST_DIM to tier2_facts (inner, 0 or 1 to many)
A01_BI_DSK_CENTRAL_FILE_DIM to tier2_facts (inner, 0 or 1 to many)
Query only returns 1 row. Should return many rows, I have checked the data through sql queries in SqlPlus.
Query from advanced tab.
SELECT A01_BI_AGENCY_INTEREST_DIM.MASTER_AI_NAME saw_0,
A01_BI_DSK_CENTRAL_FILE_DIM.INT_DOC_ID saw_1
FROM TIER2 ORDER BY saw_0, saw_1
Any help would be appreciated. I am missing something, but doesn't make sense.
Thanks,
KathyIt doesn't do the join and I get 1 record returned with zero's for both values. Why doesn't it pick up my join?
-------------------- SQL Request:
SET VARIABLE QUERY_SRC_CD='Report';SELECT A01_BI_AGENCY_INTEREST_DIM.MASTER_AI_ID saw_0, A01_BI_DSK_CENTRAL_FILE_DIM.INT_DOC_ID saw_1 FROM TIER2 ORDER BY saw_0, saw_1
+++300000:300004:----2012/06/01 12:44:51
-------------------- General Query Info:
Repository: Star, Subject Area: TIER2, Presentation: TIER2
+++300000:300004:----2012/06/01 12:44:51
-------------------- Cache Hit on query:
Matching Query: SET VARIABLE QUERY_SRC_CD='Report';SELECT A01_BI_AGENCY_INTEREST_DIM.MASTER_AI_ID saw_0,
A01_BI_DSK_CENTRAL_FILE_DIM.INT_DOC_ID saw_1
FROM TIER2 ORDER BY saw_0, saw_1
Created by: Administrator
+++300000:300004:----2012/06/01 12:44:51
-------------------- Query Status: Successful Completion
+++300000:300004:----2012/06/01 12:44:51
-------------------- Physical Query Summary Stats: Number of physical queries 1, Cumulative time 0, DB-connect time 0 (seconds)
+++300000:300004:----2012/06/01 12:44:51
-------------------- Rows returned to Client 1
+++300000:300004:----2012/06/01 12:44:51
-------------------- Logical Query Summary Stats: Elapsed time 0, Response time 0, Compilation time 0 (seconds) -
8i Query not returning expected records
Using Oracle 8i (8.1.7), a basic spatial query is not returning all the expected results. Table1 contains a variety of polygons; table2 is simply a set of rectangles. I want to return all objects from table1 that intersect a particular rectangle. The query below mostly works, but misses out some objects. On my system, 38 objects are returned where about 41 are expected; on the client system (which does not have identical data) the problem appears to be much worse, with hardly any objects being returned. The missing objects are clearly visible on the map, surrounded on all sides by objects which have been selected correctly. Help?
Select t1.id from table1 t1, table2 t2
where t1.IsCurrent = -1
and (sdo_relate(t1.geoloc, t2.geoloc, 'mask=ANYINTERACT querytype=WINDOW') = 'TRUE')
AND (t2.ID in ('001'));Hi,
When the non-spatial predicate is dropped, you mentioned the
objects are not missing. This means the spatial index (which will
surely be used in this case) should be returning correct results.
But it is possible the index is not used when other predicates are
specified. Please look at the "execution plan" in both cases (when the
objects are missing/not missing).
Rewrite the query as:
select /*+ ORDERED INDEX(t1 <spatial_index_name>) */ t1.id from t2, t1
This should ensure a spatial-index-based evaluation.
Let us know the execution plans and the behavior in either case.
Btw, one thing to check is your tolerance values in
user_sdo_geom_metadata.
- Ravi. -
IPTObjectManager.Query not returning correct result (Java)
Hi,
I am having a problem with the IPTObjectManager.Query method. The code is given below. The issue I am having is, that when I search for a community in a specific folder not results are returned. However if I search in all folders (using -1 as the second parameter to the method) it returns multiple communities including the one I need. Anyone else had the same issue with this??
// THIS CODE WORKS AND RETURN MULTIPLE COMMUNITIES
// THE hotelCode VARIABLE IS A STRING VARIABLE CONTAINING A VALUE
// WHICH IS THE COMMUNITY NAME.
// Create a ObjectManager object
IPTObjectManager objectManager = session.GetObjectManagers(ObjectClass.Community.toInteger());
// define the query based on the passed string
Object[][] vQueryFilter = {
new Object[]{new Integer(PT_PROPIDS.PT_PROPID_NAME)},
new Object[]{new Integer(PT_FILTEROPS.PT_FILTEROP_CONTAINS)},
new Object[]{hotelCode}};
// Run the query and return results
IPTQueryResult ptQueryResult = objectManager.Query(
PT_PROPIDS.PT_PROPID_ALL, -1, PT_PROPIDS.PT_PROPID_NAME, 0, -1, vQueryFilter);
// THIS CODE DOES NOT WORK. I AM PASSING IS THE FOLDER ID OF THE
// FOLDER WHICH CONTAINS THE COMMUNITY
// Create a ObjectManager object
IPTObjectManager objectManager = session.GetObjectManagers(ObjectClass.Community.toInteger());
// define the query based on the passed string
Object[][] vQueryFilter = {
new Object[]{new Integer(PT_PROPIDS.PT_PROPID_NAME)},
new Object[]{new Integer(PT_FILTEROPS.PT_FILTEROP_CONTAINS)},
new Object[]{hotelCode}};
// Run the query and return results
IPTQueryResult ptQueryResult = objectManager.Query(
PT_PROPIDS.PT_PROPID_ALL, 303, PT_PROPIDS.PT_PROPID_NAME, 0, -1, vQueryFilter);I don't know about G6, however in version 5 there does not appear an easy way of doing it. I guess the "easiest" way would be to query sub-folders first, build and array of their ids, and then query for communities in those folders. This is using server API. Something like this (.NET):
publicvoidGetFolderCommunities(intfolderId){ IPTAdminFolder folder =this.session.GetAdminCatalog().OpenAdminFolder(folderId, false); IPTQueryResult qr =folder.QuerySubfolders(PT_PROPIDS.PT_PROPID_ALL, [b]1, null, 0, -1, newobject[][] { newobject[] { PT_PROPIDS.PT_PROPID_FOLDER_FOLDERTYPE }, newobject[] { PT_FILTEROPS.PT_FILTEROP_EQ } , newobject[] { PT_ADMIN_FOLDER_TYPES.PT_ADMIN_FOLDER_TYPE_COMMUNITYFOLDER } } ); int[] folderIds =newint[qr.RowCount()]; Console.WriteLine("------ sub-folders for communities -------"); for(inti =0; i <qr.RowCount(); i++) { intobjectId =qr.ItemAsInt(i, PT_PROPIDS.PT_PROPID_OBJECTID); stringobjectName =qr.ItemAsString(i, PT_PROPIDS.PT_PROPID_NAME); intparentFolderId =qr.ItemAsInt(i, PT_PROPIDS.PT_PROPID_FOLDER_PARENTFOLDERID); folderIds[i] =objectId; Console.WriteLine("{0}: {1}; parent: {2}", objectId, objectName, parentFolderId); } qr =this.session.GetCommunities().Query( PT_PROPIDS.PT_PROPID_ALL, -1, (object) null, 0, -1, newobject[][] { newobject[] { PT_PROPIDS.PT_PROPID_FOLDERID }, newobject[] { PT_FILTEROPS.PT_FILTEROP_IN } , newobject[] { folderIds } } ); Console.WriteLine("------ communities from sub-folders -------"); for(inti =0; i <qr.RowCount(); i++) { intobjectId =qr.ItemAsInt(i, PT_PROPIDS.PT_PROPID_OBJECTID); stringobjectName =qr.ItemAsString(i, PT_PROPIDS.PT_PROPID_NAME); int parentFolderId =qr.ItemAsInt(i, PT_PROPIDS.PT_PROPID_FOLDERID); Console.WriteLine("{0}: {1}; folder: {2}", objectId, objectName, parentFolderId); }}
Or you could use EDK RPC search. Again, in .NET:
publicvoidSearchForCommunities(intfolderId){ IPortalSearchRequest searchRequest =this.ptSession.GetSearchFactory().CreatePortalSearchRequest(); searchRequest.SetObjectTypesToSearch(newObjectClass[] { ObjectClass.Community }); searchRequest.SetDocFoldersToSearch(newint[] {}, true); searchRequest.SetAdminFoldersToSearch(newint[] { folderId}, true); searchRequest.SetResultsCount(0, 100); searchRequest.SetResultsOrderBy(PortalField.OBJECT_ID); searchRequest.SetFieldsToReturn(newPlumtreeField[] {}); searchRequest.SetQuery("*"); ISearchResponse searchResponse =searchRequest.Execute(); intreturnedMatches =searchResponse.GetReturnedCount(); ISearchResultSet resultSet =searchResponse.GetResultSet(); IEnumerator enumerator =resultSet.GetResults(); while(enumerator.MoveNext()) { ISearchResult result =(ISearchResult) enumerator.Current; Console.WriteLine( result.GetFieldAsInt(PortalField.OBJECT_ID) +": "+ result.GetFieldAsString(PlumtreeField.NAME) ); }}
Ruslan. -
ViewObjectImpl createRowSetIterator not returning rows?
Hi, I hope somebody can help with the following question please?
I have the following code in one of my ViewObjectImpl classes:
public String findGender(String titleId) {
RowSetIterator rsi = this.createRowSetIterator("myIterator");
Key key = new Key(new Object[] {titleId});
Row[] rows = rsi.findByKey(key, 1);
Row row = rows[0];
return row.getAttribute("Gender").toString();
}When testing this code in the Business Components Browser a row is successfuly returned. However when I run this same code under an ADF Faces application, the findByKey line fails to return any records.
What am I missing here? I'm guessing the Business Components Browser is intializing the View Object while ADF Faces isn't, but why, and how do I fix the issue, such the code will run successfully regardless?
Any help appreciated.
Regards,
Chris Muir
PS. JDev 10.1.3.1Chris,
indeed, glad you are earning your keep with the rest of us now :O
Actually thinking of why it works in the tester and not in the faces app, is it possible that the rangeSize or batching of the VO is causing a partial search?
it does seem strange that it can't find it. The ADF BC guide says you can use vo.findByKey to use the default RSI.
You could use Ctrl-Minus and set a breakpoint in the findByKey method which i think is in the RowIterator class.
don't forget to close your Iterator when done.
Also, I assume your VO is based on an EO? If it is a read-only VO there is an extra step to get read-only VO's to use keys.
Brenden -
Sp_sproc_columns not returning row for "@RETURN_VALUE"
Hello folks...
I have published a CLR stored procedure to replace a "normally created" stored procedure.
If I execute "sp_sproc_columns" for the CLR procedure, it does not return a row for "@RETURN_VALUE".
If I execute "sp_sproc_columns" for any normally created stored procedures, there is a row for "@RETURN_VALUE".
Code used: exec sp_sproc_columns N'PROC_NAME_HERE',@ODBCVer=3
For backwards compatibility issues, I need the "@RETURN_VALUE" row to be returned for all CLR Stored procedures.
My CLR stored procedure executes no problem when manually run. It looks like this:
[Microsoft.SqlServer.Server.SqlProcedure]
public static SqlInt32 proc_CreateNewFile(out String filename)
return 0;
I have tried changing the data type so INT is returned, but no luck either.
SQL Server 2014 is the version being used.
Thanks!And as a workaround you might call a TSQL wrapper proc instead of calling the CLR proc directly.
David
David http://blogs.msdn.com/b/dbrowne/ -
Flashback Version Query Does Not Return Rows
I followed the example given in the documentation; http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_flashback.htm#sthref1478
but even I connect as sys versions BETWEEN query no rows returns, any comments will be welcomed.
Thank you,
Best regards.
Tonguc
Test scenerio;
conn hr/hr
-- drop table flashback_test purge ;
create table flashback_test ( c1 number, c2 date ) ;
insert into flashback_test values ( 1, sysdate ) ;
commit ;
update flashback_test set c1 = c1 * 2 ;
commit ;
update flashback_test set c1 = c1 * 2 ;
commit ;
delete flashback_test ;
commit ;
conn sys/passwd as sysdba
SELECT versions_xid xid,
versions_startscn start_scn,
versions_endscn end_scn,
versions_operation operation,
c1,
c2
FROM hr.flashback_test versions BETWEEN TIMESTAMP minvalue AND maxvalue
ORDER BY versions_starttime;
SELECT xid, undo_sql
FROM flashback_transaction_query
where undo_sql like '%HR%FLASH%' ;
The results;
Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0
Connected as hr
Table dropped
Table created
1 row inserted
Commit complete
1 row updated
Commit complete
1 row updated
Commit complete
1 row deleted
Commit complete
Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0
Connected as SYS
XID START_SCN END_SCN OPERATION C1 C2
XID UNDO_SQL
07002A0003010000 update "HR"."FLASHBACK_TEST" set "C1" = '1' where ROWID = 'AAADiFAAEAAAAiXAAA';
08000E0027010000 insert into "HR"."FLASHBACK_TEST"("C1","C2") values ('4',TO_DATE('04/01/2007', '
0900080013010000 delete from "HR"."FLASHBACK_TEST" where ROWID = 'AAADiFAAEAAAAiXAAA';
0A0006000A010000 update "HR"."FLASHBACK_TEST" set "C1" = '2' where ROWID = 'AAADiFAAEAAAAiXAAA';
Also tried with Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 the same results..
Message was edited by:
TongucYHi Tonguc
I Think there is something wrong with your configuration. If you want i can share the parameter file with you.
hr@XE> conn hr/hr
Connected.
hr@XE> -- drop table flashback_test purge ;
hr@XE> create table flashback_test ( c1 number, c2 date ) ;
Table created.
hr@XE> insert into flashback_test values ( 1, sysdate ) ;
1 row created.
hr@XE> commit ;
Commit complete.
hr@XE>
hr@XE> update flashback_test set c1 = c1 * 2 ;
1 row updated.
hr@XE> commit ;
Commit complete.
hr@XE>
hr@XE> update flashback_test set c1 = c1 * 2 ;
1 row updated.
hr@XE> commit ;
Commit complete.
hr@XE>
hr@XE> delete flashback_test ;
1 row deleted.
hr@XE> commit ;
Commit complete.
hr@XE> connect sys/password as sysdba
Connected.
sys@XE> SELECT versions_xid xid,
2 versions_startscn start_scn,
3 versions_endscn end_scn,
4 versions_operation operation,
5 c1,
6 c2
7 FROM hr.flashback_test versions BETWEEN TIMESTAMP minvalue AND maxvalue
8 ORDER BY versions_starttime;
XID START_SCN END_SCN O C1 C2
07001F0055010000 1038838 D 4 13/03/2007
02001D0069010000 1038835 1038838 U 4 13/03/2007
04001F0039010000 1038832 1038835 U 2 13/03/2007
1038832 1 13/03/2007
sys@XE> SELECT xid, undo_sql
2 FROM flashback_transaction_query
3 where undo_sql like '%HR%FLASH%' ;
XID
UNDO_SQL
02001D0069010000
update "HR"."FLASHBACK_TEST" set "C1" = '2' where ROWID = 'AAADskAAEAAAAM2AAA';
04001F0039010000
update "HR"."FLASHBACK_TEST" set "C1" = '1' where ROWID = 'AAADskAAEAAAAM2AAA';
07001F0055010000
insert into "HR"."FLASHBACK_TEST"("C1","C2") values ('4',TO_DATE('13/03/2007', 'DD/MM/RRRR'));
08002D0074010000
delete from "HR"."FLASHBACK_TEST" where ROWID = 'AAADskAAEAAAAM2AAA';
sys@XE> select version from v$instance;
VERSION
10.2.0.1.0
sys@XE>
init file
xe.__db_cache_size=415236096
xe.__java_pool_size=4194304
xe.__large_pool_size=12582912
xe.__shared_pool_size=155189248
xe.__streams_pool_size=8388608
*.audit_file_dest='C:\oraclexe\app\oracle\admin\XE\adump'
*.background_dump_dest='C:\oraclexe\app\oracle\admin\XE\bdump'
*.compatible='10.2.0.1'
*.control_files='C:\oraclexe\oradata\XE\control.dbf'
*.core_dump_dest='C:\oraclexe\app\oracle\admin\XE\cdump'
*.cpu_count=2
*.db_block_checking='FALSE'
*.db_name='XE'
*.DB_RECOVERY_FILE_DEST_SIZE=10G
*.DB_RECOVERY_FILE_DEST='C:\oraclexe\app\oracle\flash_recovery_area'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=XEXDB)'
*.job_queue_processes=4
*.open_cursors=300
*.os_authent_prefix=''
*.pga_aggregate_target=335544320
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=20
*.sga_target=570M
*.shared_servers=4
*.undo_management='AUTO'
*.undo_tablespace='UNDO'
*.user_dump_dest='C:\oraclexe\app\oracle\admin\XE\udump'
Message was edited by:
coskan -
'Query not returning string values as expected
Hi
Why would this be happening?
I have an insert statement that looks like this;
UNION ALL
SELECT '59','','last','first','','','','WILLIAMTA','BEB92C5B52566E6594707C69729624BE','','','Senior Officer','Town Name','2','','SUSTAINABLE FOREST MANAGEMENT DIVISION','NAME BRANCH','CURRENT' FROM DUAL
...I then want to create an conditional display statement in an apex application that looks like this;
PLEASE NOT I HAVE REPLACED (the symbols that will not render for not equal to) WITH THE TEXT "NOT EQUAL TO"
SELECT USERNAME
FROM sfm_common.sct_parties
WHERE division NOT EQUAL TO 'SUSTAINABLE FOREST MANAGEMENT DIVISION'
AND username = :app_userBut it doesnt return anything and I know it should so I do some tests, below;
1. You will see the first statement returns no records.
2. In the second statement there is a space between N and the quote, and it returns a record
3. In the third test if I make the gap really big it still returns a value.
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 8 14:27:55 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> SELECT DISTINCT null
2 FROM sfm_common.sct_parties
3 WHERE division NOT EQUAL TO 'SUSTAINABLE FOREST MANAGEMENT DIVISION'
4 /
no rows selected
SQL> SELECT DISTINCT null
2 FROM sfm_common.sct_parties
3 WHERE division NOT EQUAL TO 'SUSTAINABLE FOREST MANAGEMENT DIVISION '
4 /
N
SQL> SELECT DISTINCT NULL
2 FROM sfm_common.sct_parties
3 WHERE division NOT EQUAL TO 'SUSTAINABLE FOREST MANAGEMENT DIVISION '
4 /
N
SQL>Would anyone know why this has happened, I have checked my insert scripts and there is no space at the end of the text in the column named 'division'.
Ben
Edited by: Benton on Sep 8, 2009 2:59 PMThe table contains attributes like this;
Col_1
TOMATO
ORANGE
APPLE
NULLSo what I was attempting to do was something like this;
SELECT col_1 FROM table WHERE col_1 != 'TOMATO'
I would then expect to see;
Col_1
ORANGE
APPLE
NULLBut instead I had the following returned;
no rows selected
Which is not correct.
Apparently the fact that the column is 255 characters long is causing a problem, but I really dont understand why because I have other tables where I execute columns that are not the exact length of the content and yet the sort of query that I have used as an example work perfectly fine. For example;
SQL> SELECT name
2 FROM table_name
3 WHERE name != 'HYGIENE MANAGEMENT'
4 /
NAME
ACTION
APPROVALS
AUDITING
BURNING
COLLECTION
COMMUNICATION
COMPLIANCE
DEVELOPMENT
DISTURBANCE
DOCUMENT CONTROL
ERADICATION
11 rows selected.
SQL>And the ddl for the table looks like this;
CREATE TABLE "TABLE_NAME"
( "ACT_ID" NUMBER,
"NAME" VARCHAR2(50 BYTE) NOT NULL ENABLE,
"CREATED_BY" VARCHAR2(50 BYTE) DEFAULT 'USER',
"CREATED_ON" DATE DEFAULT SYSDATE,
"EFF_FROM" DATE DEFAULT SYSDATE,
"EFF_TO" DATE,
"DEFINITION" VARCHAR2(4000 BYTE),
"STATUS" VARCHAR2(15 BYTE) DEFAULT 'CURRENT' NOT NULL ENABLE,
CONSTRAINT "TABLE_NAME_CHK1" CHECK ( status IN ('CURRENT','NOT CURRENT')) ENABLE,
CONSTRAINT "TABLE_NAME_PK" PRIMARY KEY ("ACT_ID");The name field in this instance is 50 characters long and the words 'HYGIENE MANAGEMENT' make up 18 characters.
Ben -
Report query not returning the field value from external table
hi
I have an issue regarding reports. I have a query having 4 fields from external table and remaining from db tables. the report query returns all the fields from the db tables and only 2 fields from external table. but the same query if I tried in plsql developer it returns all the fields values.
Can anyone please help me in this issue.
Thanks and Regards
kkDuplicate post?
value not displaying in report whereas it returns in plsql developer
value not displaying in report whereas it returns in plsql developer
Please log a SR if you do not get any reply to your thread instead of creating new one.
Thanks,
Hussein
Maybe you are looking for
-
SWF file not working properly in Explorer
I have made a kind of slide show showing jpg images loaded from the web in an swf file, and it will not work properly. It is my first .swf application, and I am using the free downloadable FlashObject.js to load the swf into the browser. The problem
-
About the repairs function in SE10
Dear experts: Can anyone tell me the repairs function in detail in tag 'Global Information' in T-code:SE10? Thanks, feng Edited by: feng Qiu on Nov 14, 2008 8:31 AM
-
Photoshop CC on Windows 8 is using almost 4GB with no files open
Is there a fix for this apparent memory leak?
-
"Class not registered" error when creating Application
HI, I successfully created HFM profile. I then went into Workspace and tried creating an application. After entering the required information and click create, I get an error message "CLASS NOT REGISTERED". Is there something wrong with the installat
-
Is there anything I can do??