| TimeWorksPlus: Scripting of holidays outside of the PayrateScript, AccrueUpScript, AccrueDownScript, or OTThresholdScript | | The following scripts are how to script for a holiday in the RoundScript, Script, SplitScript, and ReportingDateScript rules. Keep in mind that you will need to remove some holidays depending on the client.
IsHoliday = ( //New Year's Day or closest Weekday (day(cdate(indt)) = 1 and month(cdate(indt)) = 1 and "MTWRF" contains weekday(cdate(indt))) or (day(cdate(indt)) = 31 and month(cdate(indt)) = 12 and weekday(cdate(indt)) = "F") or (day(cdate(indt)) = 2 and month(cdate(indt)) = 1 and weekday(cdate(indt)) = "M") or
//Martin Luther King Jr Day (day(cdate(indt)) >= 15 and day(cdate(indy)) <= 21 and month(cdate(indt)) = 1 and weekday(cdate(indt)) = "M") or
//Presidents Day (day(cdate(indt)) >= 15 and day(cdate(indy)) <= 21 and month(cdate(indt)) = 2 and weekday(cdate(indt)) = "M") or
//Memorial Day (day(cdate(indt)) >= 25 and month(cdate(indt)) = 5 and weekday(cdate(indt)) = "M") or
//Flag Day or closest Weekday (day(cdate(indt)) = 14 and month(cdate(indt)) = 6 and "MTWRF" contains weekday(cdate(indt))) or (day(cdate(indt)) = 13 and month(cdate(indt)) = 6 and weekday(cdate(indt)) = "F") or (day(cdate(indt)) = 15 and month(cdate(indt)) = 6 and weekday(cdate(indt)) = "M") or
//July 4th or closest Weekday (day(cdate(indt)) = 4 and month(cdate(indt)) = 7 and "MTWRF" contains weekday(cdate(indt))) or (day(cdate(indt)) = 3 and month(cdate(indt)) = 7 and weekday(cdate(indt)) = "F") or (day(cdate(indt)) = 5 and month(cdate(indt)) = 7 and weekday(cdate(indt)) = "M") or
//Labor Day (day(cdate(indt)) <= 7 and month(cdate(indt)) = 9 and weekday(cdate(indt)) = "M") or
//Columbus Day (day(cdate(indt)) >= 8 and day(cdate(indt)) <= 14 and month(cdate(indt)) = 10 and weekday(cdate(indt)) = "M") or
//Veterans Day or closest Weekday (day(cdate(indt)) = 11 and month(cdate(indt)) = 11 and "MTWRF" contains weekday(cdate(indt))) or (day(cdate(indt)) = 10 and month(cdate(indt)) = 11 and weekday(cdate(indt)) = "F") or (day(cdate(indt)) = 12 and month(cdate(indt)) = 11 and weekday(cdate(indt)) = "M") or
//Thanksgiving (day(cdate(indt)) >= 22 and day(cdate(indt)) <= 28 and month(cdate(indt)) = 11 and weekday(cdate(indt)) = "R") or
//Day After Thanksgiving (day(cdate(indt)) >= 23 and day(cdate(indt)) <= 29 and month(cdate(indt)) = 11 and weekday(cdate(indt)) = "F") or
//Christmas or closest Weekday (day(cdate(indt)) = 25 and month(cdate(indt)) = 12 and "MTWRF" contains weekday(cdate(indt))) or (day(cdate(indt)) = 24 and month(cdate(indt)) = 12 and weekday(cdate(indt)) = "F") or (day(cdate(indt)) = 26 and month(cdate(indt)) = 12 and weekday(cdate(indt)) = "M"));
//Easter YYYY = year(cdate(indt)); C = year(cdate(indt)) \ 100; N = YYYY - 19 * (YYYY \ 19); K = (C - 17) \ 25; I = C - C \ 4 - (C - K) \ 3 + 19 * N + 15; I = I - 30 * (I \ 30); I = I - (I \ 28) * (1 - (I \ 28) * (29 \ (I + 1)) * ((21 - N) \ 11)); J = YYYY + YYYY \ 4 + I + 2 - C + C \ 4; J = J - 7 * (J \ 7); L = I - J; M = 3 + (L + 40) \ 44; D = L + 28 - 31 * (M \ 4); EasterUSNO = DateSerial(year(cdate(indt)), M, D); IsEaster = (cdate(indt) = EasterUSNO);
//Easter Monday YYYY = year(cdate(indt)); C = year(cdate(indt)) \ 100; N = YYYY - 19 * (YYYY \ 19); K = (C - 17) \ 25; I = C - C \ 4 - (C - K) \ 3 + 19 * N + 15; I = I - 30 * (I \ 30); I = I - (I \ 28) * (1 - (I \ 28) * (29 \ (I + 1)) * ((21 - N) \ 11)); J = YYYY + YYYY \ 4 + I + 2 - C + C \ 4; J = J - 7 * (J \ 7); L = I - J; M = 3 + (L + 40) \ 44; D = L + 28 - 31 * (M \ 4); EasterUSNO = DateSerial(year(cdate(indt)), M, D); IsEasterMonday = (cdate(indt) = (EasterUSNO + 1));
//Good Friday YYYY = year(cdate(indt)); C = year(cdate(indt)) \ 100; N = YYYY - 19 * (YYYY \ 19); K = (C - 17) \ 25; I = C - C \ 4 - (C - K) \ 3 + 19 * N + 15; I = I - 30 * (I \ 30); I = I - (I \ 28) * (1 - (I \ 28) * (29 \ (I + 1)) * ((21 - N) \ 11)); J = YYYY + YYYY \ 4 + I + 2 - C + C \ 4; J = J - 7 * (J \ 7); L = I - J; M = 3 + (L + 40) \ 44; D = L + 28 - 31 * (M \ 4); EasterUSNO = DateSerial(year(cdate(indt)), M, D); IsGoodFriday = (cdate(indt) = (EasterUSNO - 2)); | | Back to Search Results |
|