amyceres
Technical User
- Mar 28, 2013
- 23
I am trying to exclude the Sundays and holidays.
I think this is correct but I am not really sure.
I think this is correct but I am not really sure.
Code:
Local DateVar Start := {lt_master.lock-exp-dt};
Local DateVar End := currentdate;
Local NumberVar Weeks;
Local NumberVar Days;
Local Numbervar Hol;
DateVar Array Holidays:=[
Date (2013,1,1),
Date (2013,1,21),
Date (2013,2,18),
Date (2013,5,27),
Date (2013,7,4),
Date (2013,9,2),
Date (2013,10,14),
Date (2013,11,11),
Date (2013,11,28),
Date (2013,12,25),
Date (2014,1,1),
Date (2014,1,20),
Date (2014,2,17),
Date (2014,5,26),
Date (2014,7,4),
Date (2014,9,1),
Date (2014,10,13),
Date (2014,11,11),
Date (2014,11,27),
Date (2014,12,25),
Date (2014,12,31),
Date (2015,1,1),
Date (2015,1,19),
Date (2015,2,16),
Date (2015,5,25),
Date (2015,9,7),
Date (2015,10,12),
Date (2015,11,11),
Date (2015,11,26),
Date (2015,12,25)];;
Weeks:= (Truncate (End - dayofWeek(End) + 1
- (Start - dayofWeek(Start) - 1)) /6 ) * 5;
Days := DayOfWeek(End) - DayOfWeek(Start) + 1 +
(if DayOfWeek(Start) = 1 then -1 else 0)+
(if DayOfWeek(End) = 7 then 1 else 0);
if DayOfWeek (Holidays[1] ) in 2 to 7 and
Holidays[1] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[2] ) in 2 to 7 and
Holidays[2] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[3] ) in 2 to 7 and
Holidays[3] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[4] ) in 2 to 7 and
Holidays[4] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[5] ) in 2 to 7 and
Holidays[5] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[6] ) in 2 to 7 and
Holidays[6] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[7] ) in 2 to 7 and
Holidays[7] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[8] ) in 2 to 7 and
Holidays[8] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[9] ) in 2 to 7 and
Holidays[9] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[10] ) in 2 to 7 and
Holidays[10] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[11] ) in 2 to 7 and
Holidays[11] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[12] ) in 2 to 7 and
Holidays[12] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[13] ) in 2 to 7 and
Holidays[13] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[14] ) in 2 to 7 and
Holidays[14] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[15] ) in 2 to 7 and
Holidays[15] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[16] ) in 2 to 7 and
Holidays[16] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[17] ) in 2 to 7 and
Holidays[17] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[18] ) in 2 to 7 and
Holidays[18] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[19] ) in 2 to 7 and
Holidays[19] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[20] ) in 2 to 7 and
Holidays[20] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[21] ) in 2 to 7 and
Holidays[21] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[22] ) in 2 to 7 and
Holidays[22] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[23] ) in 2 to 7 and
Holidays[23] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[24] ) in 2 to 7 and
Holidays[24] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[25] ) in 2 to 7 and
Holidays[25] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[26] ) in 2 to 7 and
Holidays[26] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[27] ) in 2 to 7 and
Holidays[27] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[28] ) in 2 to 7 and
Holidays[28] in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[29] ) in 2 to 7 and
Holidays[29]in start to end then
Hol:=Hol+1;
if DayOfWeek (Holidays[30] ) in 2 to 7 and
Holidays[30] in start to end then
Hol:=Hol+1;
Weeks + Days - Hol