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 |
|