Support #296 ยป SCriptMegaUpdate18Duration.sql
1 |
Declare @TableTampung TABLE ( |
---|---|
2 |
ROW VArchar(20), |
3 |
emp_id VArchar(20), |
4 |
start_date VArchar(20), |
5 |
end_date VArchar(20), |
6 |
duration VArchar(20), |
7 |
absence_type VArchar(20) |
8 |
)
|
9 |
DECLARE @Counter INT |
10 |
SET @Counter=1 |
11 |
|
12 |
INSERT INTO @TableTampung |
13 |
SELECT ROW_NUMBER() OVER(ORDER BY emp_id ASC) as Row,emp_id,start_date,end_date,duration,absence_type FROM hr_md_emp_md0018 WHERE duration IS NULL OR duration ='' |
14 |
|
15 |
|
16 |
WHILE ( @Counter <= (SELECT MAX(ROW) FROM @TableTampung)) |
17 |
BEGIN
|
18 |
UPDATE hr_md_emp_md0018 |
19 |
SET duration=(SELECT Count(*) FROM hr_tm_workschedule_calender |
20 |
WHERE day_type='WDAY' |
21 |
AND datespecified >= (SELECT start_date FROM @TableTampung Where ROW = @Counter) |
22 |
AND datespecified <=(SELECT end_date FROM @TableTampung Where ROW = @Counter) |
23 |
AND workschedule_type='5D8H' |
24 |
AND country_id='IDN' |
25 |
)
|
26 |
WHERE emp_id=(SELECT emp_id FROM @TableTampung Where ROW = @Counter) |
27 |
and start_date=(SELECT start_date FROM @TableTampung Where ROW = @Counter) |
28 |
and end_date=(SELECT end_date FROM @TableTampung Where ROW = @Counter) |
29 |
and absence_type=(SELECT absence_type FROM @TableTampung Where ROW = @Counter) |
30 |
SET @Counter = @Counter + 1 |
31 |
|
32 |
|
33 |
END
|
34 |
|
35 |
|