Advertisement
Advertisement
| 06.09.2008 at 08:47AM PDT, ID: 23469476 |
|
[x]
Attachment Details
|
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: |
create type
T_REC
AS
object(
emp_code varchar,
location_code varchar,
demo_data_vchar varchar,
standard_hrs_per_day int,
hrs_date date,
seq_nbr int,
wbs_seq_nbr int,
reg_hrs int,
phase_code varchar,
demo_code varchar );
create type T_RECS as table of T_REC;
create function GetData( vcDate in varchar2 ) return T_RECS is
Result T_RECS := T_RECS();
begin
for rec in (
SELECT
ei.emp_code,
ei.location_code,
edd.demo_data_vchar,
ei.standard_hrs_per_day,
etdd.hrs_date,
etdw.seq_nbr,
etdd.wbs_seq_nbr,
etdd.reg_hrs,
etdw.phase_code,
edd.demo_code
FROM
dbo.emp_info AS ei
INNER JOIN dbo.emp_demo_data AS edd ON ei.emp_code = edd.emp_code
INNER JOIN dbo.ei_tc_doc_detail AS etdd ON ei.emp_code = etdd.emp_code
INNER JOIN
dbo.ei_tc_doc_wbs AS etdw
ON etdd.emp_code = etdw.emp_code
AND etdd.per_end_date = etdw.per_end_date
AND etdd.wbs_seq_nbr = etdw.wbs_seq_nbr
AND etdd.line_nbr = etdw.line_nbr
WHERE
ei.emp_code = 'VARIABLE_ONE???'
AND ei.emp_status_ind = 'A'
AND etdd.hrs_date >= 'VARIABLE_TWO???'
AND etdd.hrs_date <= 'VARIABLE_THREE???'
AND etdd.ignore_ind = 'N'
AND edd.demo_code IN ('PTO')
AND etdw.phase_code IN ('SICK', 'VAC', 'BEREAV')
AND etdd.reg_hrs <> 0
ORDER BY
1,10,5,6,7,9;
) loop
-- do check of hours worked for vacation day
-- if result of 2nd query is NULL, add results from 1st query into the array
Result.extend;
Result(Result.count).emp_code := rec.[emp_code];
Result(Result.count).location_code := rec.[location_code];
Result(Result.count).demo_data_vchar := rec.[demo_data_vchar];
Result(Result.count).standard_hrs_per_day := rec.[standard_hrs_per_day];
Result(Result.count).hrs_date := rec.[hrs_date];
Result(Result.count).seq_nbr := rec.[seq_nbr];
Result(Result.count).wbs_seq_nbr := rec.[wbs_seq_nbr];
Result(Result.count).reg_hrs := rec.[reg_hrs];
Result(Result.count).phase_code := rec.[phase_code];
Result(Result.count).demo_code := rec.[demo_code];
end loop;
return Result;
end;
|