Comparing values in two consecutive rows?
Hello.
Can I compare the value of the same field in two consecutive rows?
If it is. How could I do it?
Thanks in advance
Hi,
You can use analytics like LAG/LEAD, but it would be helpful if you'd post an example.
Search and read the docs for examples @ http://tahiti.oracle.com
A search on this forum will give you some examples as well.
Similar Messages
-
Need to compare values in two columns of one table against values in two columns in another table
Hi, as the title reads, I'm looking for an approach that will allow me to compare values in two columns of one table against values in two columns in another table.
Say, for instance, here are my tables:
Table1:
Server,Login
ABCDEF,JOHN
ABCDEF,JANE
FEDCBA,SEAN
FEDCBA,SHAWN
Table2:
Server,Login
ABCDEF,JOHN
ABCDEF,JANE
FEDCBA,SHAWN
In comparing the two tables, I'd like my query to report the rows in table1 NOT found in table2. In this case, it'll be the 3rd row of table one:
Server,Login
FEDCBA,SEAN
Thanks.create table Table1([Server] varchar(50), Login varchar(50))
Insert into Table1 values ('ABCDEF','JOHN'),('ABCDEF','JANE'),('FEDCBA','SEAN'),('FEDCBA','SHAWN')
create table Table2([Server] varchar(50), Login varchar(50))
Insert into Table2 values ('ABCDEF','JOHN'),('ABCDEF','JANE'), ('FEDCBA','SHAWN')
select [Server] ,Login from Table1
Except
select [Server] ,Login from Table2
select [Server] ,Login from Table1 t1
where not exists(Select 1 from Table2 where t1.[Server] = t1.[Server] AND Login=t1.Login)
drop table Table1,Table2 -
Better approach for checking column values between two different rows
My requirement is to find best Approach to find difference between column values of two different rows.Below I've mentioned two different
approaches I'm thinking of,but I'd like to know is there any other better approach.
version details
SQL> SELECT *
2 FROM V$VERSION;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Solaris: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - ProductionTable creation script
CREATE TABLE R_DUMMY
(CA_ID VARCHAR2(16) NOT NULL ENABLE,
CA_VER_NUM NUMBER(4,2) NOT NULL ENABLE,
BRWR_SHORT_NAME VARCHAR2(25 CHAR),
sic_code number,
FAC_ID VARCHAR2(10) NOT NULL ENABLE
/ insert script
insert into r_dummy (CA_ID, CA_VER_NUM, BRWR_SHORT_NAME, sic_code, FAC_ID)
values ('CA2001/11/0002', 2.00, 'Nandu',1234, 'FA000008');
insert into r_dummy (CA_ID, CA_VER_NUM, BRWR_SHORT_NAME, sic_code, FAC_ID)
values ('CA2001/11/0002', 3.00, 'SHIJU',456, 'FA000008');Desired O/P :
ca_id fac_id column_name previous name after_modification
CA2001/11/0002 FA000008 BRWR_SHORT_NAME Nandu SHIJU
CA2001/11/0002 FA000008 sic_code 1234 456My approach
select ca_id,fac_id,column_name,
decode(column_name,'BRWR_SHORT_NAME',lg_brwr,lg_sic) previous_name ,
decode(column_name,'BRWR_SHORT_NAME',ld_brwr,ld_sic) after_modification
from
select
case
when ld_brwr != lg_brwr then
'BRWR_SHORT_NAME'
when ld_brwr != lg_brwr then
'sic_code'
end
) column_name,ca_id,fac_id,lg_brwr,ld_brwr,ld_sic,lg_sic
from (
select ca_id,fac_id,lag_brwr,ld_brwr,ld_sic,lag_sic
from
Select lead(brwr_short_name,1) over(partition by ca_id,fac_id) ld_brwr,
lag(brwr_short_name,1) over(partition by ca_id,fac_id) lg_brwr,
lead(sic_code,1) over(partition by ca_id,fac_id) ld_sic,
lag(sic_code,1) over(partition by ca_id,fac_id) lg_sic,
ca_id,fac_id
from r_dummy
where (ld_brwr != lg_brwr or ld_sic != lg_sic)
)2nd Approach :
=============
select ca_id,fac_id,column_name,
decode(column_name,'BRWR_SHORT_NAME',lg_brwr,lg_sic) previous_name ,
decode(column_name,'BRWR_SHORT_NAME',ld_brwr,ld_sic) after_modification
from
select
case
when ld_brwr != lg_brwr then
'BRWR_SHORT_NAME'
when ld_brwr != lg_brwr then
'sic_code'
end
) column_name,ca_id,fac_id,lg_brwr,ld_brwr,ld_sic,lg_sic
from (
select ca_id,fac_id,brwr_short_name,sic_code
from
Select ca_id,fac_id,brwr_short_name lg_brwr,sic_code lg_sic
from r_dummy
where ca_ver_num = '2.00'
)o,(
Select ca_id,fac_id,brwr_short_name ld_brwr,sic_code ld_sic
from r_dummy
where ca_ver_num = '3.00'
)n
where 0.ca_id = n.ca_id
and 0.fac_id = n.fac_id
and (ld_brwr != lg_brwr or ld_sic != lg_sic)
)Hi Experts,
I've provided sample data where I'm checking for just two columns viz brwr_short_name ,sic_code,but in real time
I've to check for 8 more columns so please suggest me with a better approach.
I appreciate your precious suggestions.Hi,
Thanks for posting the CREATE TABLE and INSERT statements; that really helps!
Here's one wa. Like your 2nd approach, this uses a self-join:
WITH got_r_num AS
SELECT ca_id
, ROW_NUMBER () OVER ( PARTITION BY ca_id
, fac_id
ORDER BY ca_ver_num
) AS r_num
, brwr_short_name
, TO_CHAR (sic_code) AS sic_code
, fac_id
-- , ... -- Other columns (using TO_CHAR if needed)
FROM r_dummy
, unpivoted_data AS
SELECT *
FROM got_r_num
UNPIVOT INCLUDE NULLS
( txt
FOR column_name IN ( brwr_short_name AS 'BRWR_SHORT_NAME'
, sic_code AS 'SIC_CODE'
-- , ... -- Other columns
SELECT p.ca_id
, p.fac_id
, p.column_name
, p.txt AS previous_name
, a.txt AS after_modification
FROM unpivoted_data p
JOIN unpivoted_data a ON p.ca_id = a.ca_id
AND p.fac_id = a.fac_id
AND p.column_name = a.column_name
AND p.r_num = a.r_num - 1
AND p.txt || 'X' != a.txt || 'X'
ORDER BY a.r_num
;To include other columns, add them in the 2 places where I put the comment "Other columns".
Ca_ver_num can have any values, not just 2.00 and 3.00.
This will show cases where a value in one of the columns changed to NULL, or where NULL changed to a value.
There ought to be a way to do this without a separate sub-query like got_r_num. According to the SQL Language manual, you can put expressions in the UPIVOT ... IN list, but when I tried
... UNPIVOT INCLUDE NULLS
( txt
FOR column_name IN ( brwr_short_name AS 'BRWR_SHORT_NAME'
, TO_CHAR (sic_code) AS 'SIC_CODE'
)I got the error "ORA_00917: missing comma" right after TO_CHAR. Perhaps someone else can show how to eliminate one of the sub-queries. -
Opening and Closing values on two separate rows for an indvidual A/c?
Hi / Salam To all SAP Members,
I am creating a COGS report in which i need to show opening and closing values for a stock account in two separate rows. The tool i am using is report painter.
What i need to know is how can the system identify between opening and closing values for that account? Which characteristic/s do i need to include in the rows? The table i am using is FAGLFLEXT.
Please provide help.
Regards,
Mohammed Ali Khan.Resolved Issue.
-
How to compare value of two Combo Box
I've two Combo Box(cbFirst & cbSecond). I want to compare the value that has been selected by the user and based on the result, output is displayed. In both Combo Box I've provided the value.
Here is my code:
var a:Number;
var b:Number;
function First(evt:Event):void{
a = evt.target.value;
trace(a);
cbFirst.addEventListener(Event.CHANGE, First);
function Second(evt:Event):void{
b = evt.target.value;
trace(b);
cbSecond.addEventListener(Event.CHANGE, Second);
If (a > b){
trace("a is greater")
else
trace(b is greater);
The trace statement inside the functions are working fine and the correct value of a & b is printed. But the comparison in the if statement doesn't seem to work. Could you please help me out.there's a typo. fix it or remove it:
var a:Number;
var b:Number;
function First(evt:Event):void{
a = evt.target.value;
trace(a);
compareF();
cbFirst.addEventListener(Event.CHANGE, First);
function Second(evt:Event):void{
b = evt.target.value;
trace(b);
compareF()
cbSecond.addEventListener(Event.CHANGE, Second);
function compareF(){
If (a > b){
trace("a is greater")
else
trace(b is greater); -
How to insert or update comparing values with two or more table
Hai All
I have three or four table in my database.
Table 1 Dailattend is the main table here i need to insert or update my data and the fieds are
Emplcode number,attdate date, intime date,intrin date ,introut date, outtime date are the fields
Table 2 acclempbarcode the fields are
emplcode number ,barcode number ....etc
so now my data is in text format and i have broke the date like this
0011221100112200100320100815
First 16 is barcode and next 8 is date and 4 is time and i have created a temp table and store the date and move to main table
My problem is the main table dailattend has no barcode so when i am going to insert or update i need to check whether the barcode is match with the emplcode in the main table
How can i write insert or update statement
The data is like this
00110022 is barcode,10-03-2010 is my date and 0815 is time so i need to insert into dailattend table so now i have emplcode in dailattend table so i need to compare the barcode belong the emplcode in the another table and i need to insert in the dailattend table
Pls give me some solution with example
Regards
Srikkanth.Mtry somthing like this
create table t1
as
select '0011221100112200' barcode,to_date('100320100815','ddmmyyyyhh24mi') dt
from dual
create table barcodetbl
emplcode varchar2(2000)
barcode varchar2(2000)
datetime date
merge into barcodetbl bc
using( select * from t1) x
on
(bc.barcode = x.barcode)
when matched
then update
set datetime = x.dt
when not matched
then
insert (emplcode,barcode,datetime)
values(1,x.barcode,x.dt)
/didn't realize that barcode is not in the main table.
something along the lines
Table 1 Dailattend is the main table here i need to insert or update my data and the fieds are
Emplcode number,attdate date, intime date,intrin date ,introut date, outtime date are the fields
Table 2 acclempbarcode the fields are
emplcode number ,barcode number ....etc
merge into dailattend bc
using( select * from t1, acclempbarcode ac where t1.barcode = ac.barcode) x
on
(bc.emplcode = x.emplcode)
when matched
then update
set datetime = x.dt
when not matched
then
insert (emplcode,datetime)
values(1,x.dt)
/Alvinder
Edited by: alvinder on Mar 23, 2010 3:50 PM -
Taking the difference between two consecutive rows of a table
My table structure with value is as follows:
time parameter value
16:00 STS 10
17:00 STS 20
18:00 STS 45
Now with a single select query I want to retreive the value as follows :
time_difference para_value_difference
1 10 (difference between 20 and 10)
1 25 (difference between 45 and 20))
is it possible ? if yes then plz give me the answer ....its urgent.....SQL> create table mytable
2 as
3 select to_date('16:00','hh24:mi') time, 'STS' parameter, 10 value from dual union all
4 select to_date('17:00','hh24:mi'), 'STS', 20 from dual union all
5 select to_date('18:00','hh24:mi'), 'STS', 45 from dual
6 /
Tabel is aangemaakt.
SQL> select (time - prev_time) * 24 time_difference_in_hours
2 , value - prev_value value_difference
3 from ( select t.*
4 , lag(value) over (order by time) prev_value
5 , lag(time) over (order by time) prev_time
6 from mytable t
7 )
8 where prev_time is not null
9 /
TIME_DIFFERENCE_IN_HOURS VALUE_DIFFERENCE
1 10
1 25
2 rijen zijn geselecteerd.Regards,
Rob. -
Calculate date differences in consecutive rows and generate a sequence
Hi Guys,
I am trying to implement one scenario where in i need to compare the date differences for consecutive rows and generate a sequence against that.
this is the table schema:
create table temp
id int identity(1,1),
emp_id int,
time datetime
insert into temp
values
(1, '2011-02-20 12:30:00.000'),
(1, '2011-02-20 12:32:34.172'),
(1, '2011-02-20 12:32:34.172'),
(1, '2011-02-20 12:43:21.004'),
(1, '2011-02-20 12:46:39.745'),
(2, '2011-02-20 12:48:06.004'),
(2, '2011-02-20 12:48:06.004'),
(2, '2011-02-20 12:53:07.733'),
(2, '2011-02-20 12:55:30.295');
now, I want to compare the first date-time with the second and so on. now if the date-time difference is same for two consecutive rows then the sequence should increment by 1 otherwise the sequence again will start from '00' for any unique date-time.
This sequence number should start from '00' from each employee.
I want the output to be like this
ID emp_id
time
sequence
1 1 2011-02-20 12:30:00.000
00
2 1 2011-02-20 12:32:34.172
00
3 1 2011-02-20 12:32:34.172
01
4 1 2011-02-20 12:32:34.172
02
5 1 2011-02-20 12:46:39.745
00
6 2
2011-02-20 12:48:06.004 00
7 2
2011-02-20 12:48:07.003 00
8 2
2011-02-20 12:48:07.003 01
9 2
2011-02-20 12:46:39.745 00
Please revert as soon as possible as this is a bit urgent.
Thank You in Advance. :)create table temp
(id int identity(1,1),
emp_id int,
time datetime
insert into temp values
(1, '20110220 12:30:00.000'),
(1, '20110220 12:32:34.172'),
(1, '20110220 12:32:34.172'),
(1, '20110220 12:43:21.004'),
(1, '20110220 12:46:39.745'),
(2, '20110220 12:48:06.004'),
(2, '20110220 12:48:06.004'),
(2, '20110220 12:53:07.733'),
(2, '20110220 12:55:30.295');
go
SELECT id, emp_id, time,
dateadd(mcs, (row_number() OVER(PARTITION BY emp_id, time ORDER BY
id) - 1) * 10,
convert(datetime2(5), time)) AS [Sequence]
FROM temp
ORDER BY id
go
DROP TABLE temp
Erland Sommarskog, SQL Server MVP, [email protected] -
Comparing values in different tables
Hi,
I am trying to compare values in two different table fields, can someone advise me of the ABAP to do it.
I need to find IHPA-PARNR(partner number) in table T527X-ORGEH(org unit number)
Thanks,
AlecOK now I'm confused:
I put a breakpoint as follows:
SELECT * FROM t527x INTO TABLE it_t527x.
LOOP AT it_ihpa INTO wa_ihpa.
READ TABLE it_t527x INTO wa_t527x WITH KEY orgeh = wa_ihpa-parnr
BINARY SEARCH.
IF sy-subrc EQ 0.
BREAK-POINT.
WRITE: wa_t527X-ORGTX TO ZORGUNITTEXT.
ELSE.
WRITE: 'Damn it' TO ZORGUNITTEXT.
ENDIF.
ENDLOOP.
I have the correct values in the correct fields but still SUBRC does not = 0
WA_T527X-ORGTX Stockton - Front of House
ZORGUNITTEXT Damn it
WA_t527X-ORGEH 20008855
WA_IHPA-parnr 20008855
Whats Wrong?
Edited by: Alec Fletcher on Dec 19, 2008 1:50 PM -
Comparing row values in two different tables
Hello,
Does anyone know if it is possible to compare (and possibly highlight - which I know can be done) row values in two different tables?
I have a ZIP Code column in table A that I want to compare to a ZIP Code column in table B and highlight those ZIP Codes that are present in table B but not in table A etc. Is this possible?
Thanks,
KennethTo be able to apply conditional formatting, I must edit the formulas this way.
=IF(ISBLANK(B)," ",IF(ISERROR(VLOOKUP(B,Tableau 2 :: B,1,0))," ",VLOOKUP(B,Tableau 2 :: B,1,0)))
=IF(ISBLANK(B)," ",IF(ISERROR(VLOOKUP(B,Tableau 1 :: B,1,0))," ",VLOOKUP(B,Tableau 1 :: B,1,0)))
I replaces the four empty strings by strings containing one space character.
In the field supposed to contain the text which is not contained I just entered a single space character.
Yvan KOENIG (from FRANCE vendredi 12 septembre 2008 20:52:11) -
Compare Consecutive Rows in a table
Hi,
I want to compare consecutive rows for each employee. I need to compare SchedulEnd column of the first row with the ScheduleStart of the second row as so on. if both the values are same then i need to generate a sequence like 00 for the first record 01 for
the second record and so on. if the time is not same the the sequence should start with 00.
Example: lets say the data is like:
schedule start
schedule end
10
11
11
12
12
13
15
18
the output should be like
sequence
00
01
02
00Thank you very much for the quick reply.
I have one more scenario now, with the same data, i want the output like this
<table>
<tr>
<th>Employee</th>
<th>Schedule Time</th>
<th>sequence</th>
<th>Remarks</th>
</tr>
<tr>
<td>1</td>
<td>10</td>
<td>00</td>
<td>sequence "00" as schedule time is unique, 10 is the schedule start time</td>
</tr>
<tr>
<td>1</td>
<td>11</td>
<td>00</td>
<td>sequence "00" as schedule time is unique, 11 is the schedule end time for the first record</td>
</tr>
<tr>
<td>1</td>
<td>11</td>
<td>01</td>
<td>sequence "01" as schedule time is unique, 11 is the schedule start time of the next record</td>
</tr>
<tr>
<td>1</td>
<td>12</td>
<td>00</td>
<td>sequence "00" as schedule time is unique, 12 is the schedule end time of the previous record</td>
</tr>
<tr>
<td>1</td>
<td>12</td>
<td>01</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table> -
Grouping consecutive rows with same value?
Hi
I have a table in which three columns are:
ROWID SHOPNAME
1 SHOP_C
2 SHOP_A
3 SHOP_C
4 SHOP_C
5 SHOP_A
6 SHOP_A
7 SHOP_C
8 SHOP_B
9 SHOP_B
10 SHOP_E
11 SHOP_A
12 SHOP_D
13 SHOP_D
14 SHOP_F
15 SHOP_G
16 SHOP_F
17 SHOP_C
18 SHOP_C
19 SHOP_C
20 SHOP_C Rowid is a primary key column with unique ids
Shopname is varchar2 column
I want to make groupings of every "shopname" value "order by ROWID" such that when there are consecutive rows of same shopname the group remains same and as soon as there is different value in shopname column for the next row the "group" changes.
below is my desired output is with 3rd column of groupings as follows:
ROWID SHOPNAME Groups
1 SHOP_C 1
2 SHOP_A 2
3 SHOP_C 3 ------> same grouping because Shop name is same
4 SHOP_C 3 ------> same grouping because shop name is same
5 SHOP_A 4 ----> different shopname so group changed.
6 SHOP_A 4 ----> same group as above because shopname is same
7 SHOP_C 5
8 SHOP_B 6
9 SHOP_B 6
10 SHOP_E 7
11 SHOP_A 8
12 SHOP_D 9
13 SHOP_D 9
14 SHOP_F 10
15 SHOP_G 11
16 SHOP_F 12
17 SHOP_C 13
18 SHOP_C 13
19 SHOP_C 13
20 SHOP_C 13I want that to be done via analytics, so that I can partition by clause for different shops over different cities
regards
Ramis.with data(row_id, shop) as
select 1, 'SHOP_C' from dual union all
select 2, 'SHOP_A' from dual union all
select 3, 'SHOP_C' from dual union all
select 4, 'SHOP_C' from dual union all
select 5, 'SHOP_A' from dual union all
select 6, 'SHOP_A' from dual union all
select 7, 'SHOP_C' from dual union all
select 8, 'SHOP_B' from dual union all
select 9, 'SHOP_B' from dual union all
select 10, 'SHOP_E' from dual union all
select 11, 'SHOP_A' from dual union all
select 12, 'SHOP_D' from dual union all
select 13, 'SHOP_D' from dual union all
select 14, 'SHOP_F' from dual union all
select 15, 'SHOP_G' from dual union all
select 16, 'SHOP_F' from dual union all
select 17, 'SHOP_C' from dual union all
select 18, 'SHOP_C' from dual union all
select 19, 'SHOP_C' from dual union all
select 20, 'SHOP_C' from dual
get_data as
select row_id, shop,
lag(shop) over (order by row_id) prev_shop
from data
select row_id, shop,
sum(case when shop = prev_shop
then 0
else 1
end
) over (order by row_id) grps
from get_data;
ROW_ID SHOP GRPS
1 SHOP_C 1
2 SHOP_A 2
3 SHOP_C 3
4 SHOP_C 3
5 SHOP_A 4
6 SHOP_A 4
7 SHOP_C 5
8 SHOP_B 6
9 SHOP_B 6
10 SHOP_E 7
11 SHOP_A 8
12 SHOP_D 9
13 SHOP_D 9
14 SHOP_F 10
15 SHOP_G 11
16 SHOP_F 12
17 SHOP_C 13
18 SHOP_C 13
19 SHOP_C 13
20 SHOP_C 13
20 rows selected -
Compare values in different rows for date/time clashing
Hello,
Odd one this so bear with me...
If I'm asking this question in the wrong place I apologise in advance
I'm building a C# application that queries SQL tables, one of the functions I need to be able to implement is the ability to query a row(1) for it's datetime value, and disallow another rows(2) datetime value to be updated if the value of that row(2) is
within an hour of the other row(1).
I hope that makes sense...
Any help will be greatly appreciated!
Thanks
BrendanHello,
Thanks for your reply.
Would there be another way to do this?
If there was some way to do this:
UPDATE table SET 'column' VALUES '02/02/2015 14:00' WHERE Date = 02/02/2015 IF 'Column' = 02/02/2015 14:00 OR 02/02/2015 13:00 DENY
I know that's not a proper statement, but you get the idea.
The problem is that the datetime value is likely to change a lot, and I would like to avoid having to change this manually, but if I could somehow check for a datetime value with an hour either side of the update value that would be great.
Thanks
Brendan -
Query help - Fetch employees working on two consecutive weekends(SAT/SUN)
Hello Gurus,
I have the following requirement and i need your help on this.
We have a table with all employees effort logged in for the days they have worked. a sample data is given below
TD_date Emp_id Effort Archive_month
2-Mar-13 123 8 Mar-13
9-Mar-13 123 8 Mar-13
2-Mar-13 213 4 Mar-13
3-Mar-13 213 4 Mar-13
24-Mar-13 213 8 Mar-13
9-Mar-13 312 4 Mar-13
10-Mar-13 312 4 Mar-13
16-Mar-13 312 8 Mar-13
In the above sample data, we have employee 123 who worked on consecutive SATURDAY and 312 who worked on consecutive weekends (9th, 10th and 16th March) but the employee 213 worked on 1st weekend and 4th weekend of the month(Archive_month). So the output should return the employees who worked on two consecutive weekends as below.
Emp_id
123
312
I have written a query to fetch all employees who worked only on a SAT or SUN which is given below, but i am not able to return the employees who worked on consecutive weekends and i need your help.
select emp_id, count(*)
from timesheet_archive
where archive_month = '03/2013'
and trim(to_char(td_date,'DAY')) in ('SATURDAY','SUNDAY')
group by emp_id having count(*) > 1
order by td_date desc
Please help me with an approach in SQL or PL/SQL to generate a report of employees who worked on two consecutive weekends.
Thanks,
Edited by: 999145 on Apr 9, 2013 11:08 PM
Edited by: 999145 on Apr 9, 2013 11:10 PMhi Manik,
thanks for your response!!
Please find the below create and insert scripts for your testing.
I am also validating the output with my requirement. Thanks for your help!
create table timesheet_archive as
(TD_date date,
Emp_id number(19,0),
Effort Float,
Archive_month varchar2);
insert into timesheet_archive values (to_date('2-MAR-2013','dd-MON-yyyy'), 123,8,'03/2013');
insert into timesheet_archive values (to_date('9-MAR-2013','dd-MON-yyyy'), 123,8,'03/2013');
insert into timesheet_archive values (to_date('2-MAR-2013','dd-MON-yyyy'), 213,4,'03/2013');
insert into timesheet_archive values (to_date('3-MAR-2013','dd-MON-yyyy'), 213,4,'03/2013');
insert into timesheet_archive values (to_date('24-MAR-2013','dd-MON-yyyy'), 213,8,'03/2013');
insert into timesheet_archive values (to_date('9-MAR-2013','dd-MON-yyyy'), 321,4,'03/2013');
insert into timesheet_archive values (to_date('10-MAR-2013','dd-MON-yyyy'), 321,4,'03/2013');
insert into timesheet_archive values (to_date('16-MAR-2013','dd-MON-yyyy'), 321,8,'03/2013');
insert into timesheet_archive values (to_date('2-MAR-2013','dd-MON-yyyy'), 124,8,'03/2013');
insert into timesheet_archive values (to_date('9-MAR-2013','dd-MON-yyyy'), 124,8,'03/2013');
insert into timesheet_archive values (to_date('16-MAR-2013','dd-MON-yyyy'), 124,4,'03/2013');
insert into timesheet_archive values (to_date('23-MAR-2013','dd-MON-yyyy'), 124,4,'03/2013');
insert into timesheet_archive values (to_date('16-MAR-2013','dd-MON-yyyy'), 241,8,'03/2013');
insert into timesheet_archive values (to_date('23-MAR-2013','dd-MON-yyyy'), 241,4,'03/2013');
insert into timesheet_archive values (to_date('24-MAR-2013','dd-MON-yyyy'), 241,4,'03/2013');
insert into timesheet_archive values (to_date('2-MAR-2013','dd-MON-yyyy'), 412,8,'03/2013');
insert into timesheet_archive values (to_date('3-MAR-2013','dd-MON-yyyy'), 412,8,'03/2013');
insert into timesheet_archive values (to_date('30-MAR-2013','dd-MON-yyyy'), 412,8,'03/2013');
insert into timesheet_archive values (to_date('31-MAR-2013','dd-MON-yyyy'), 412,8,'03/2013'); -
How to use bind variable value of one VO as initial value for other VO row?
JDeveloper 10.1.3.3, ADF Faces, ADF BC
Hi,
I have two View Objects: one read only with several bound variables and another editable entity based. Correspondingly there are two ADF Faces pages: first contains search form based on the read-only VO and second create form based on the editable VO. The search form has several hidden fields for some of bound variables because they aren't edited directly by user. These fields are updated with PPR when user selects other search criteria from LOV.
There is a command button in the first page that navigates to the second form. Is there any way to transfer values of bound variables from the first VO to the second VO as initial values of the new row?
I tried to set custom controller for the second page and retrieve search criteria values from request parameter map but values from hidden fields are missing. I think because that these fields are updated by PPR. Of course I can add custom action method to the navigation button and in the method put these values to request parameter map but I hope there is better solution.
Thanks,
MariusTo summarize, given a bind variable value for one VO, on creating a row in a second VO, for 1 of the attributes of the second VO, you want to use the first VO's bind variable value. Correct?
A potential solution ADF BC driven:
1) Ensure you have an AppModuleImpl for your AM
2) Ensure you have a ViewImpl for your 1st VO (where the bind variable will exist) - lets refer to that VO as "Alpha"
3) Ensure you have a ViewRowImpl for your 2nd VO (the one you want to default the value in) - lets refer to that VO as "Beta"
4) For your first VO "Alpha" create the bind variable (say pValue)
5) In your second VO "Beta" ViewRomImpl add following code:
@Override
protected void create(AttributeList attributeList) {
super.create(attributeList);
AppModuleImpl am = (AppModuleImpl)this.getApplicationModule();
String someValue = am.getAlphaView1().getpValue();
setSecondVOAttr(someValue); // change this code to whatever your setter is for the field you want to initialize.
}Hope this helps. Let us know how you go.
Regards,
CM.
Maybe you are looking for
-
Thunderbolt Display suddenly no longer recognized by my MBA
I have been using the thunderbolt display with my Mid 2011 Macbook Air (13inch). Everything worked fine. Now suddenly when I plug in the monitor the macbook does not recognize it. In System Information:Thunderbolt it says it is not connected to any
-
How to track operation wise costing during confirmation. i.e, how to findout the cost involved related to raw material , labour,overhead costs etc for each operation wise.
-
I have a device that has a built in web server that I need to write a LV program for I need to read the date the web server is producing and compare it to actcual measured data. Now the measureing and comparing is easy but I don't know how to make LV
-
Airport Extreme & Express both wired, but one network?
Ok, I looked to see if this was answered but I wasn't very sure what to search for. If this has been answered please point me in the right direction. I have an Airport Extreme Base Station that broadcasts my wireless network and is the router for my
-
Multiple identical SSD firmware updates
Helllo, My system is updating anormally the SSD firmware. Already 4 times "MacBook Air Flash Storage Firmware Update" in version 1.0. The SSD is a Toshiba (TS128E) on a MacBook Air 2012 running Moutain Lion.