Problem with Select All/SelectNone option in af:tableSelectMany
I have an af:table component with af:tableSelectMany at the bottom of my form. I am using Partial Page Rendering to ensure that when the user does anything e.g. click a button associated with the table, the page is not reloaded so that the user does not have to scroll down to get to the table. This is an important requirement.
But when the Select All/Select None link in the af:tableSelectMany facet is clicked, the top of the page is shown and we have to scroll down to see the table again - even though the page does not seem to be reloading. Why does this happen and is there any way to fix this? Pls help
hi,
Im looking for this solution too..
i already post the thread before but it's look like no solution on it..
In my opinion the "Select All/Select None" is not refreshing the page, but it just set to point
to the upper of the page.. I tested it with onLoad, and it prove this "Select All/Select None"
dont refresh..So how to overcome this thing...
Similar Messages
-
Problem with select all cells in JTable
Hi guys! I get some problem about selecting all cells in JTable. I tried to used two methods:
1> table.selectAll()2> changeSelection(firstcell, lastcell,false,true)
firstcell:[0,0], lastcell[rowcount-1,colcount-1]
Result: only the first row selected when i use both methods.
Note: i set up the selection model as following:
this.dataSheet.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
this.dataSheet.setCellSelectionEnabled(true);
this.dataSheet.setRowSelectionAllowed(true);
this.dataSheet.setColumnSelectionAllowed(true);Thanks !What selection properity should be changed in order to enable selectAll() method work properly? Is there Any constraints? Here is the TableModel I am using. And i set up selection mode use the following code:
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.setCellSelectionEnabled(true);
table.setRowSelectionAllowed(true);
table.setColumnSelectionAllowed(true);
import java.util.Vector;
import javax.swing.table.*;
import javax.swing.JTable;
public class DataSheetModel extends AbstractTableModel{
private Vector data = new Vector();//Store data
private Vector columnNames = new Vector();//Store head
public DataSheetModel(){}
public DataSheetModel(Vector headVector, Vector dataVector){
if(headVector != null) this.columnNames = headVector;
if(dataVector != null) this.data = dataVector;
public int getColumnCount(){
return columnNames.size()+1;
public int getRowCount(){
return data.size()+1;
public String getColumnName(int col){
if(col==0) return "";
else return (String)columnNames.get(col-1);
public Object getValueAt(int row, int col){
if(col==0) {
if(row != data.size()) return String.valueOf(row);
else return "*";
else{
if(row != data.size()){
Vector rowVector = (Vector)data.elementAt(row);
return rowVector.elementAt(col-1);
}else return null;
public void setValueAt(Object value, int row, int col){
if(row != this.data.size()){
Vector rowVector = (Vector)data.elementAt(row);
rowVector.set(col-1,value);
this.data.set(row,rowVector);
this.fireTableDataChanged();
}else{
Vector rowVector = new Vector();
for(int i=0; i<this.getColumnCount()-1; i++) rowVector.add(null);
rowVector.set(col-1,value);
this.data.add(rowVector);
this.fireTableDataChanged();
public Class getColumnClass(int c){
return getValueAt(0,c).getClass();
public boolean isCellEditable(int row, int col){
if(col == 0) return false;
else return true;
public void setDataVector(Vector head, Vector data){
if(head != null) this.columnNames = head;
if(data != null) this.data = data;
} -
Problem with: select 'c' as X from dual
Problem with 'select 'c' as X from dual'
I get 2 different results when I execute the above with SQLPlus (or java) depending on the instance I am connected to. For one instance the result is a single character and for the other the character is padded with blanks to 32 chars in the SQLPlus window (and java). Does anyone know what database setting causes this to happen? Is it a version issue ?
Test #1: Oracle 9.2.0.6 - SQLPlus result is padded with blanks
SQL*Plus: Release 9.2.0.1.0 - Production on Mon Dec 10 09:27:58 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.6.0 - Production
SQL> select 'c' as X from dual;
X
c
SQL>
Test #2 Oracle 9.2.0.1 SQLPlus result is a single character.
SQL*Plus: Release 9.2.0.1.0 - Production on Mon Dec 10 09:29:27 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> select 'c' as X from dual;
X
c
SQL>Using 9.2.0.6 On AIX 5.2 I get the single byte result:
UT1 > select 'c' as X from dual;
X
c
If the databases are on different Oracle Homes you may want to check the sqlplus global logon files for any set commands.
If you executed the two sql statements from different OS directories you may also want to check your sqlpath for sqlplus .logon files.
Try issueing clear columns and repeating the statement. Are the results the same?
HTH -- Mark D Powell -- -
Problem with "SELECT...FOR UPDATE OF..." and "POST command" combination
Problem in committing transactions in Multiple Forms (Oracle Forms) with POST built-in command:
Consider that the following statements are written in WHEN-WINDOW-CLOSED trigger of a called form.
Statements in called form (Form name: FORM_CHILD):
go_block('display_block') ;
do_key('execute_query') ;
-- Data from table_b will be populated in this block, based on the value of COLUMN_1 obtained
-- from TABLE_A.
-- Example: If the value of COLUMN_1 is 10, then all the matching records from TABLE_B, which
-- are inserted with value 10 in TABLE_B.COLUMN_1 will be fetched and shown here.
if user_choice = 'YES' then
commit ;
else
rollback ;
end if ;
Statements in calling forms:
There are two calling forms having following statements and it is going to call the above said called form.
CALLING FORM 1
Statements in KEY-COMMIT trigger:
post;
call_form(form_child, no_activate) ;
Statements in ON-INSERT trigger:
select column_1
from table_a
for update of column_1
where column_2 = 'X' ;
update table_a
set column_1 = column_1 + 1
where column_2 = 'X' ;
insert into table_b ...;
insert into table_b ...; Statements in KEY-COMMIT trigger:
post;
call_form(form_child, no_activate) ;
CALLING FORM 2:
Statements in ON-INSERT trigger:
select column_1
from table_a
for update of column_1
where column_2 = 'X' ;
update table_a
set column_1 = column_1 + 1
where column_2 = 'X' ;
insert into table_b ...;
insert into table_b ...;
insert into table_b ...;
Our understanding:
Assume that both the forms are running from two different machines/instances, issuing commit at the same time. In this case, forms will start executing the statements written in ON-INSERT trigger, the moment POST command is executed. Though the commit is issued at the same time, according to oracle, only one of the request will be taken for processing first. Assume that calling form 1 is getting processed first.
So, it fetches the value available in COLUMN_1 of TABLE_A and locks the row from further select, update, etc. as SELECT...FOR UPDATE command is used (note that NOWAIT is not given, hence the lock will be released only when COMMIT or ROLLBACK happens) and proceed executing further INSERT statements. Because of the lock provided by the SELECT...FOR UPDATE command, the statements in calling form 2 will wait for the resource.
After executing the INSERT statements, the FORM_CHILD is called. The rows inserted in to TABLE_A will be queried and shown. The database changes will be committed when user closes the window (as COMMIT is issued in its WHEN-WINDOW-CLOSED trigger). Then the SELECT...FOR UPDATE lock will be released and calling form 2's statements will be executed.
Actual happenings or Mis-behavior:
Calling form 2 starts executing INSERT statements instead of waiting for SELECT...FOR UPDATE lock. Also, the value selected from TABLE_A.COLUMN_1 is same in both the calling forms, which is wrong.
The rows inserted into TABLE_B are having similar COLUMN_1 values in calling form 2 and they are fetched and shown in the called form FORM_CHILD.
Note that in calling form 2 also POST only is issued, but the changes posted there are accessible in calling form 1 also, which is wrong.
Kindly suggest us as to how to fix above problem. It will be much use, if you can send us the information regarding the behavior of Oracle Forms POST built-in also.
Our mail ID: [email protected]
Thanks a lot in advance.You have several problems:
1. On-Insert will ONLY run if you have created a new record in a base-table block. If you haven't done that, then the POST command will not cause it to run.
2. Select for update without a "no wait" will lock records for the first form, but when the second form tries this, it will hit the ORA-00054 exception, and will NOT wait. The only way you could make it wait is to issue an UPDATE sql command, which is not such a good way to go.
All POST does is issues SQL insert or update commands for any changes the user has made to records in a form's base-table blocks, without following with a Commit command.
Also understand that Commit is the same as Commit_Form, and Rollback is the same as Clear_Form. You should read up on these in the Forms help topics. -
Problem with selecting text in Adobe Reader XI
Hi all, I am encountering a problem with Adobe Reader XI and it is very strange I could not find an alike issue on the internet so I guess I have to submit a question with it.
So here it is, I am using Adobe Reader XI Version 11.0.2, operating system: Windows 7. I do not know it starts from when but it has the problem with selecting text - to be copied in pdf documents. I ensure that the documents are not scanned documents but word-based documents (or whatever you call it, sorry I cannot think of a proper name for it).
Normally, you will select the text/paragraph you want to copy and the text/paragraph will be highlighted, but the problem in this case that I cannot select the text/paragraph, the blinking pointer (| <-- blinking pointer) will just stays at the same location so I cannot select/highlight anything to be copied. It happens oftenly, not all the time but 90%.
This is very annoying as my work involves very much with copying text from pdf documents, I have to close the pdf file and then open it again so I can select the text but then after the first copying or second (if I am lucky), the problem happens again. For a few text I have to type it myself, for a paragraph I have to close all opening pdf documents and open again so I could select the paragraph to copy. I ran out of my patience for this, it causes trouble and extra time for me just to copying those texts from pdf documents. Does this problem happen to anyone and do you have a solution for this? I would much appreciate if you could help me out, thank you!Yeah, I totally agree, this is very strange. I have always been using Adobe Reader but this problem only occurred ~three months ago. It must be that some software newly installed I think. But I have no idea.
About your additional question, after selecting the texts and Ctrl + C, the texts are copied and nothing strange happens. It's just that right after I managed to copy the texts, it takes me a while to be able to select the texts again. For your information, I just tested to select the texts and then pressed Ctrl, the problem happened. And then I tried pressing C and then others letters, it all led to the problem.
I guess I have to stick with left-clicked + Copy until I/someone figure the source of this problem. Thanks a lot for your help! -
Compilation problem with templates while using option -m64
Hi,
I have compilation problem with template while using option -m64.
No problem while using option -m32.
@ uname -a
SunOS snt5010 5.10 Generic_127111-11 sun4v sparc SUNW,SPARC-Enterprise-T5220
$ CC -V
CC: Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25
Here is some C++ program
############# foo5.cpp #############
template <typename T, T N, unsigned long S = sizeof(T) * 8>
struct static_number_of_ones
static const T m_value = static_number_of_ones<T, N, S - 1>::m_value >> 1;
static const unsigned long m_count = static_number_of_ones<T, N, S - 1>::m_count + (static_number_of_ones<T, N, S - 1>::m_value & 0x1);
template <typename T, T N>
struct static_number_of_ones<T, N, 0>
static const T m_value = N;
static const unsigned long m_count = 0;
template <typename T, T N>
struct static_is_power_of_2
static const bool m_result = (static_number_of_ones<T,N>::m_count == 1);
template <unsigned long N>
struct static_number_is_power_of_2
static const bool m_result = (static_number_of_ones<unsigned long, N>::m_count == 1);
int main(int argc)
int ret = 0;
if (argc > 1)
ret += static_is_power_of_2<unsigned short, 16>::m_result;
ret += static_is_power_of_2<unsigned int, 16>::m_result;
ret += static_is_power_of_2<unsigned long, 16>::m_result;
ret += static_number_is_power_of_2<16>::m_result;
else
ret += static_is_power_of_2<unsigned short, 17>::m_result;
ret += static_is_power_of_2<unsigned int, 17>::m_result;
ret += static_is_power_of_2<unsigned long, 17>::m_result;
ret += static_number_is_power_of_2<17>::m_result;
return ret;
Compiation:
@ CC -m32 foo5.cpp
// No problem
@ CC -m64 foo5.cpp
"foo5.cpp", line 20: Error: An integer constant expression is required here.
"foo5.cpp", line 36: Where: While specializing "static_is_power_of_2<unsigned long, 16>".
"foo5.cpp", line 36: Where: Specialized in non-template code.
"foo5.cpp", line 26: Error: An integer constant expression is required here.
"foo5.cpp", line 37: Where: While specializing "static_number_is_power_of_2<16>".
"foo5.cpp", line 37: Where: Specialized in non-template code.
"foo5.cpp", line 20: Error: An integer constant expression is required here.
"foo5.cpp", line 43: Where: While specializing "static_is_power_of_2<unsigned long, 17>".
"foo5.cpp", line 43: Where: Specialized in non-template code.
"foo5.cpp", line 26: Error: An integer constant expression is required here.
"foo5.cpp", line 44: Where: While specializing "static_number_is_power_of_2<17>".
"foo5.cpp", line 44: Where: Specialized in non-template code.
4 Error(s) detected.
Predefined macro:
@ CC -m32 -xdumpmacros=defs foo5.cpp | & tee log32
@ CC -m64 -xdumpmacros=defs foo5.cpp | & tee log64
@ diff log32 log64
7c7
< #define __TIME__ "09:24:58"
#define __TIME__ "09:25:38"20c20
< #define __sparcv8plus 1
#define __sparcv9 1[snipped]
=========================
What is wrong?
Thanks,
Alex VinokurBug 6749491 has been filed for this problem. It will be visible at [http://bugs.sun.com] in a day or two.
If you have a service contract with Sun, you can ask to have this bug's priority raised, and get a pre-release version of a compiler patch that fixes the problem.
Otherwise, you can check for new patches from time to time at
[http://developers.sun.com/sunstudio/downloads/patches/]
and see whether this bug is listed as fixed. -
Can you help with technical problems with the stereo imagry option
can you help with a technical problem with the stereo imagery option ? it won't take out lead vocal in a stereo mp3'
Because this forum software is so absolutely USELESS now, you don't get to see the whole of the question in this view. In the other (non-list) view it says:
"can you help with a technical problem with the stereo imagery option ? it won't take out lead vocal in a stereo mp3"
And the answer is that if you can't isolate the vocal in the stereo field, or it is one of these odd ones where it's used inverted polarity in different parts of the stereo signal for the same vocal, then you won't be able to. But without a sample, it's impossible to tell. If you can post a link to one, that might help. It has to be external to this site though - Adobe in their infinite wisdom don't allow the posting of audio files on their audio U2U forum. Helpful, that, isn't it? -
Problem with for all entries in select querry
hi,
Hi,
I am using select queery like this
SELECT version COUNT( * )
from ztbi_default_va4
INTO CORRESPONDING FIELDS OF TABLE lit_new
FOR ALL ENTRIES IN lit_new1
WHERE network = lit_new1-network GROUP BY version.
this is not working showing error as:
The addition "FOR ALL ENTRIES" excludes all aggregate functions with
the exception of "COUNT( * )" as the single element of the SELECT clause.
I am using only count(*) ,not using othes like max,min etc,,,,,,,,,
please suggest any missing in syntax,,,,attach relavant code using count(*) with for all entreis
any help appriciated,,,,,
Thanks in advance,,,,Hi,
Try this -
TYPES: begin of t_data,
version TYPE version,
count type i,
end of t_data.
DATA: i_data TYPE STANDARD TABLE OF t_data,
wa_data TYPE t_data.
DATA: l_version TYPE version,
l_count TYPE i.
SELECT version COUNT( * )
from ztbi_default_va4
INTO CORRESPONDING FIELDS OF TABLE lit_new
FOR ALL ENTRIES IN lit_new1
WHERE network = lit_new1-network.
SORT lit_new.
LOOP AT lit_new INTO lwa_new.
IF lwa_new EQ l_version.
l_count = l_count + 1.
ELSE.
wa_data-version = l_version.
wa_data-count = l_count + 1.
APPEND wa_data TO i_data.
CLEAR: wa_data.
CLEAR: l_count.
ENDIF.
l_version = lwa_new-version.
CLEAR: lwa_new.
I hope this will do.
Make any necessary changes.
Regards,
Harsh Bansal -
Dropdown list with custom All Values option
Hi,
We are running VC on 7.4 SP2. I have a dropdown list which gets its' values from a BW query. This works great except that I want to add a custom entry which selects all values.
In BW you would do this by setting the selection variable to "" as in nothing specified/empty. This is also the default setting in VC (you made no selection so you will get all results) but once you select something this can not be deselected.
So the idea is to add a custom entry All with value "" but apparently this gets send to BW as """" which is not a valid value. VC does not allow to use an empty value field.
So basically I am stuck here. Any of you found a solution to this problem?
regards,
MatthiasHi Matthias,
I see your point. I could suggest two options:
1. In the dropdown input control, delete the value. Then press submit.
This works fine, only we don't get the empty value in the list.
2. To have the empty value in the list, like this:
Add to the entries of the list:
Then edit the mapping to the service to convert * into an empty string:
Thanks,
Udi -
Performance Problems with "For all Entries" and a big internal table
We have big Performance Problems with following Statement:
SELECT * FROM zeedmt_zmon INTO TABLE gt_zmon_help
FOR ALL ENTRIES IN gt_zmon_help
WHERE
status = 'IAI200' AND
logdat IN gs_dat AND
ztrack = gt_zmon_help-ztrack.
In the internal table gt_zmon_help are over 1000000 entries.
Anyone an Idea how to improve the Performance?
Thank you!>
Matthias Weisensel wrote:
> We have big Performance Problems with following Statement:
>
>
SELECT * FROM zeedmt_zmon INTO TABLE gt_zmon_help
> FOR ALL ENTRIES IN gt_zmon_help
> WHERE
> status = 'IAI200' AND
> logdat IN gs_dat AND
> ztrack = gt_zmon_help-ztrack.
>
> In the internal table gt_zmon_help are over 1000000 entries.
> Anyone an Idea how to improve the Performance?
>
> Thank you!
You can't expect miracles. With over a million entries in your itab any select is going to take a bit of time. Do you really need all these records in the itab? How many records is the select bringing back? I'm assuming that you have got and are using indexes on your ZEEDMT_ZMON table.
In this situation, I'd first of all try to think of another way of running the query and restricting the amount of data, but if this were not possible I'd just run it in the background and accept that it is going to take a long time. -
Performance problem with selecting records from BSEG and KONV
Hi,
I am having performance problem while selecting records from BSEG and KONV table. As these two tables have large amount of data , they are taking lot of time . Can anyone help me in improving the performance . Thanks in advance .
Regards,
PrashantHi,
Some steps to improve performance
SOME STEPS USED TO IMPROVE UR PERFORMANCE:
1. Avoid using SELECT...ENDSELECT... construct and use SELECT ... INTO TABLE.
2. Use WHERE clause in your SELECT statement to restrict the volume of data retrieved.
3. Design your Query to Use as much index fields as possible from left to right in your WHERE statement
4. Use FOR ALL ENTRIES in your SELECT statement to retrieve the matching records at one shot.
5. Avoid using nested SELECT statement SELECT within LOOPs.
6. Avoid using INTO CORRESPONDING FIELDS OF TABLE. Instead use INTO TABLE.
7. Avoid using SELECT * and Select only the required fields from the table.
8. Avoid nested loops when working with large internal tables.
9. Use assign instead of into in LOOPs for table types with large work areas
10. When in doubt call transaction SE30 and use the examples and check your code
11. Whenever using READ TABLE use BINARY SEARCH addition to speed up the search. Be sure to sort the internal table before binary search. This is a general thumb rule but typically if you are sure that the data in internal table is less than 200 entries you need not do SORT and use BINARY SEARCH since this is an overhead in performance.
12. Use "CHECK" instead of IF/ENDIF whenever possible.
13. Use "CASE" instead of IF/ENDIF whenever possible.
14. Use "MOVE" with individual variable/field moves instead of "MOVE-
CORRESPONDING" creates more coding but is more effcient. -
I am having trouble in CS6 with selecting a portion of my photo, with any of the tools- quick-selection, lasso or magnetic lasso. What happens is that once I have completed my selection, I get strange rectangles of 'marching ants' throughout my selection. These show up as different colours on the layer mask as well. When I first used quick selection it worked properly.
Is the tool somehow corrupted?Thanks Trevor. It was both. After considering the issue, and using the tool in Elements on my laptop, I decided somehow the tool driver file had been corrupted, and did another install, which thankfully fixed the problem. I'm new to CS6 and was very surprised to have this kind of thing happen. I did a separate backup of my uncorrupted CS6 program files, and plan to do another backup this morning, just to be safe.
Fortunately, it's all good. -
Hi All,
I am Facing one problem in select query. My requirement is as follows.
User Screen will Have 4 Fileds.
Country Code, Zip Code From, Zip Code To, Delivery Area.
All are Parameter's only.
For Example ZTABLE having below Entries.
US 12345-6787 12345-6789 AKRON AKRON/CANTON
Once User try to create new entry by Click on SAVE, Below Possiblities are there.
Case 1: US 12345-6787 12345-6789 AKRON AKRON/CANTON ( Error Message)
Case 2: US 12345-6786 12345-6787 AKRON AKRON/CANTON ( Error Message)
Case 3: US 12345-6789 12345-6790 AKRON AKRON/CANTON ( Error Message)
Case 4: US 12345-6789 12345-6790 AKRON AKRON/CANTON ( Error Message)
Case 5: US 12345-6786 12345-6787 AKRON AKRON/CANTON ( Error Message)
Case 6: US 12345-6785 12345-6786 AKRON AKRON/CANTON ( Record Need To Insert)
Case 7: US 12345-6785 12345-6785 AKRON AKRON/CANTON ( Record Need To Insert)
Case 8: US 12345-6790 12345-6790 AKRON AKRON/CANTON ( Record Need To Insert)
Case 9: US 12345-6790 12345-6791 AKRON AKRON/CANTON ( Record Need To Insert)
Case 10: US 12345-6788 12345-6788 AKRON AKRON/CANTON ( Error Message)(This Condition is Failing)
Case 11: US 12345-6788 12345-6789 AKRON AKRON/CANTON ( Error Message)(This Condition is Failing)
In the above cases 10 and 11 is failing.
I am using the below select statment.
SELECT SINGLE * FROM zdt_sd_dlv_zcode WHERE mandt = sy-mandt
AND land1 = g_land1
AND ( post_code_from GE g_pbox_from AND post_code_from LE g_pbox_to )
OR ( post_code_to GE g_pbox_from AND post_code_to LE g_pbox_to ).
Friends can anyone give me some valuable inputs to solve this problem.
Points will reward.
Thanks in Advance,
Srinivas.Please use Select-options instead of Parameters so that you can use complex "and" and "or" in your select statements.
for eg:if you are declaring parameters like this below.
parameters post_code1 LIKE adrc-post_code1.
change to
select-options post_code1 for adrc-post_code1 no intervals.
siddu -
Problem with select query inside a function.
Hi,
i have created a function as
create or replace function "NEW"
(emp in number,
s_date in DATE,
e_date in DATE)
return number
is
v_alo number default 0;
v_alo2 number default 0;
v_date date;
begin
select sum(allocation_percent) into v_alo from employeeproject where start_date < s_date and end_date > e_date and pid != 'BPDE-KER12' and employee_id = emp;
select allocation_percent into v_alo2 from employeeproject where start_date < s_date and end_date > e_date and pid = 'BPDE-KER12' and employee_id = emp;
select max(end_date) into v_date from employeeproject where employee_id=emp having max(end_date) <= S_DATE;
if v_alo < 100 then
return 1;
else if v_alo2 = 100 then
return 2;
else if v_date < s_date then
return 3;
else
return 4;
end if;
end if;
end if;
exception
when NO_DATA_FOUND then
return 5;
end;it is compiled correctly.
when executing the function with
select abc.a,new(a,'03-jan-2011','04-jan-2011') "status" from abc where new(a,'03-jan-2011','04-jan-2011') in (1,2,3,4);it is returning
A status
1 5
2 5
3 5
instead of
A status
1 1
2 2
3 3
and when i comment any two select statements then some part of my ans is correct.
unable to understand the behaviour.
can any pls help me understand it.
Thanks,
hariHi,
thanks for the reply, and sorry for my ugly code.
i am using Oracle database 10g express edition.
Case could be a option to use but i need to figure why my query is not returning any value when used together.
my requirement is to find
the employees who are have allocation percent sum < 100 for a defined period(excluding pid=BPDE-KER12) and
employee who is mapped to pid=BPDE-KER12 not in my first requirement in that period and
the employees whose latest end date is less than the new start date.
i have tried the new modified code as you said but this time it returns null, not even exceptions running.
i divide my requirement into three functions which will return value.
1. create or replace function "NEW4"
(emp in number,
s_date in DATE,
e_date in DATE)
return number
is
v_alo number default 0;
v_alo2 number default 0;
v_date date;
begin
--to check if the employee total percentage is <100 then return 1 else return 4
select sum(allocation_percent) into v_alo from pm_employee_project
where
start_date < s_date and end_date > e_date and pid !='BPDE-KER12' and employee_id = emp;
if v_alo < 100 then
return 1;
elsif v_alo2 = 100 then
return 2;
elsif v_date < s_date then
return 3;
else
return 4;
end if;
exception
when NO_DATA_FOUND then
return 5;
end;
then,
select abc.a,NEW4(a,'03-jan-2011','30-jan-2011') "STATUS" from abc
result,
A STATUS
1 *1*
2 4
3 4 2.create or replace function "NEW5"
(emp in number,
s_date in DATE,
e_date in DATE)
return number
is
v_alo number default 0;
v_alo2 number default 0;
v_date date;
begin
--To select employee who are in a specific pid.
select allocation_percent into v_alo2 from pm_employee_project where
start_date < s_date and end_date > e_date and pid = 'BPDE-KER12' and
employee_id = emp;
if v_alo2 = 100 then
return 2;
elsif v_alo < 100 then
return 1;
elsif v_date < s_date then
return 3;
else
return 4;
end if;
exception
when NO_DATA_FOUND then
return 5;
end;
then,
select abc.a,NEW5(a,'03-jan-2011','30-jan-2011') "STATUS" from abc
Result,
A STATUS
1 5
2 *2*
3 5 3. create or replace function "NEW6"
(emp in number,
s_date in DATE,
e_date in DATE)
return number
is
v_alo number default 0;
v_alo2 number default 0;
v_date date;
begin
--to select the employee whose project end date is less thann the new date.
select max(end_date) into v_date from pm_employee_project where
employee_id=emp having max(end_date) <= S_DATE;
if v_alo2 = 100 then
return 2;
elsif v_alo = 100 then
return 1;
elsif v_date < s_date then
return 3;
else
return 4;
end if;
exception
when NO_DATA_FOUND then
return 5;
end;
then,
select abc.a,NEW6(a,'03-jan-2011','30-jan-2011') "STATUS" from abc
Result,
A STATUS
1 5
2 5
3 *3* so my function works properly individually, but i want all the three conditions in a single function with same order as above 1 then 2 and then 3.
and when i try to do it that way i am not getting my result as
A STATUS
1 *1*
2 *2*
3 *3*
so how can i proceed.
my input table values,
select * from abc
A B C
1 2 2
2 1 3
3 1 2
select * from pm_employee_project
varchar2 varchar2 date date date varchar2
EMPLOYEE_ID PID START_DATE END_DATE ALLOCATION_PERCENT SUPERVISOR_ID
1 10 02-JAN-11 31-JAN-11 89 -
1 20 05-JAN-11 20-JAN-11 9 -
1 BPDE-KER12 21-JAN-11 31-JAN-11 11 -
2 BPDE-KER12 01-JAN-11 31-JAN-11 100 -
3 30 01-JAN-10 01-JAN-11 100 -
I'm having a problem with a SELECT clause...
the variables...
<cfset MyString=#getProducts.matches_with#>
<cfset myArrayList = ListToArray(MyString)>
the query...
SELECT *
FROM pricelist
WHERE supplier_code IN ('#myArrayList[1]#' , '#myArrayList[2]#')
The problem is, the select clause is only ever retrieving one row, despite their being several matches
The clause works fine when I change the WHERE line to
WHERE supplier_code IN ('E1775' , 'R1771')
What am I doing wrong here ?Just wanted to say thanks all for the advice - I'm back on track now.
As you know I had a field 'matches_with' in the merchandise table which contains a comma separated list, which I now accept is bad design.
I wrote the following code to take each field and put it into a new table called matches_with, which contains two fields
product_code , matches_with_product_code. All done.
<cfloop query="getData">
<!--- create an array based on the csv list of items in matches_with field --->
<cfset myArray = ListToArray(#getData.matches_with#)>
<!--- skip if no items in array --->
<cfif #ArrayLen(myArray)# gt 0>
<!--- loop through item in the array --->
<cfloop from="1" to="#ArrayLen(myArray)#" index="i">
<cfquery name="insert" datasource="foo">
<!--- insert each array item into SQL table --->
INSERT INTO 00_matches_with (product_code, matches_with_product_code)
VALUES ('#getData.product_code#' , '#myArray[i]#')
</cfquery>
</cfloop>
</cfif>
</cfloop>
Maybe you are looking for
-
Problems opening with Itunes Store with Itunes 10.7
I recently upgraded to Itunes 10.7 and have since been unable to open the Store when I'm in Itunes. All I see are the words "Itunes Store" in large print on the Store window. In fact, I've experienced the same problem when I upgraded to Itunes 10.
-
I received an email supposedly from Apple about an battery recall for Powerbook G4s. My battery is on the list. But when I go through the Apple site, I can't seem to find the place to complete the recall claim form. I have pasted the email i received
-
Problems printing double-sided PDFs
Hi, When I print any PDF document on any printer as double-sided, the second side always prints upside-down. I am printing from Adobe Acrobat 7.1.0 professional for Windows XP. This is annoying and I need to fix this problem. Suggestions would be gre
-
Artwork appears to be stored in two locations
hi i'm needing a way to transfer the storage of my artwork to the external hard drive. i've added a few jpg's and they've stored on the C drive separately from the music on the X drive. how can i ensure future jpg's will save to the X drive? can anyo
-
Ok so I am working on iMac and the software is wayyyy out of date! It is 10.5.8. So I got the Mac OS X Snow Leopard and every time I install it it starts to work then 15 20 mins later he restarts the computer saying it will continue to work after res