#DEFINE DOW_SATURDAY 7 #DEFINE DOW_SUNDAY 1 FUNCTION IsAHoliday LPARAMETER dDate LOCAL llIsAHoliday llIsAHoliday = .F. DO CASE CASE MONTH (dDate) = 12 AND DAY (dDate) = 25 llIsAHoliday = .T. CASE etc. ENDCASE RETURN llIsAHoliday ENDFUNC CREATE TABLE DaysOfYear (dYearDate D, lIsWeekend L, lIsHoliday L) ldStartDate = {12/31/1998} FOR lnDateOffset = 1 TO 365 INSERT INTO DaysOfYear (dYearDate, lIsWeekend, lIsHoliday) ; VALUES (ldStartDate + lnDateOffset, ; INLIST (DOW(ldStartDate + lnDateOffset, DOW_SATURDAY, DOW_SUNDAY), ; IsAHoliday (ldStartDate + lnDateOffset)) ENDFOR SELECT YearDate AS dMissDate ; FROM DaysOfYear ; WHERE NOT llIsWeekend ; AND NOT llIsHoliday ; AND NOT IN (SELECT dDataDate FROM dDataTable)HTH,
>* -- Checking for missing data compared against last data received >* -- Check for Friday or Saturday for old and new is Monday date then we're not missing any data > if (dow(Record_fm)=2 and Record_fm - PriorRec_To > 3) ; > or (dow(Record_fm)<> 2 and Record_fm > PriorRec_To+1) > tmpDays = Record_fm - PriorRec_To > if m.tmpDays > 1 > for i = 1 to m.tmpDays-1 >* -- Check against holiday for each missing record && Sundays & Saturdays > if dow(PriorRec_To+m.i)<>1 and dow(PriorRec_To+m.i)<>7 ; > and !seek(PriorRec_To+m.i,'Holidays') > lcTempStr = "May have Missing Recorded data for "+ dtoc(PriorRec_To+m.i)+"." > if not m.lcTempStr $ m.tmpNotesStr > tmpNotesStr = iif(empty(m.tmpNotesStr),'',m.tmpNotesStr+chr(13)) + m.lcTempStr > endif > llMDFlag = .t. > endif && Missing Data > endfor && Going to the next date to check for missing data > endif > endif && Checks for Fri or Sat and Mon>