Project

General

Profile

Support #296 ยป SCriptMegaUpdate18Duration.sql

Muhammad Bintar, 10/29/2021 05:37 PM

 
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

    
    (1-1/1)