Calculating Nth Occurrence for Day Of Week in the Month
$SAMPLECODE$
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 FUNCTION NthDowOfMonth(tnYear, tnMonth, tnOccurrence, tcDow) * Parameters * tnYear, tnMonth - Year and Month * tnOccurrence - Day of week occurrence (1-5) * tcDow - Day of week name (at least 3 first characters) LOCAL lnDOW, ldDate, lnDowPos lnDowPos = AT(UPPER(PADR(tcDow,3)), "SAT SUN MON TUE WED THU FRI") IF lnDowPos = 0 ldDate = {} ELSE TRY lnDOW = DOW(DATE(tnYear, tnMonth, 01), INT(lnDowPos/4) + 1) ldDate = DATE(tnYear, tnMonth, 7 - lnDOW + 1 + (tnOccurrence -1)*7) CATCH ldDate = {} ENDTRY ENDIF RETURN ldDate
Comments