No problem :) I was in a hurry to leave yesterday and placed fix in wrong place :) Revised version :
? Indate > FirstBizDay(Indate)
FUNCTION FirstBizDay
LPARAMETERS ldDate
LOCAL FDOM
FDOM = ldDate - Day(ldDate) + 1 + iif(month(ldDate)=1,1,0)
RETURN FDOM + IIF(DOW(FDOM,2)>5, 8-DOW(FDOM,2), 0)
Labor day being 1st monday wouldn't make Sep 2 first biz day. It is in the list of 'holidays'.
Cetin
>*grin*
>
>Jan 3rd was the first business day of 2000, not Jan. 4th. I'm only giving you a hard time because that was the point of Bill's original question. January is a special case, and he wants it to work properly.
>
>And Sept. is another special case in the US. Labor Day is *always* the first Monday of the month.
>
>>Oh come on. Special cases are almost endless thinking of the world countries and holidays shifting each year. Just for Jan 1st you could say :
>>
>>
>>? Indate > FirstBizDay(Indate)
>>
>>FUNCTION FirstBizDay
>>LPARAMETERS ldDate
>>LOCAL FDOM
>>FDOM = ldDate - Day(ldDate) + 1
>>RETURN iif(month(ldDate)=1,1,0)+;
>>FDOM + IIF(DOW(FDOM,2)>5, 8-DOW(FDOM,2), 0)
>>
And still shorter :)
>>Cetin