>>>>No, that wouldn't work, either. Say the dates for the pay period are 6/20 to 7/4. The 12th isn't between those 2 dates.
>>>
>>>It wouldn't find what it wasn't supposed to find - which is just what was required. I also first thought this was wrong, but it's actually right. So if neither 6/12 nor 7/12 is between 6/20 and 7/4, good, don't include that period.
>>
>>That's true, but I think it's right for the wrong reason. It all depends on what constitutes a pay period, I'd think. BETWEEN wouldn't find it if it was 6/30 to 7/13 either, in which case it would NOT be right that it wasn't found.
>
>Now that IS a good example of when it wouldn't work, because while 7/12 is between these two dates, between(12, 30, 13) will return .f.
>
>So... let me think. Q&D solution:
>
>
>d12=date(year(d1), month(d1), 12)
>*-- if first date is past 12th, use 12th of the second date
>if d12<d1
> d12=date(year(d2), month(d2), 12)
>endif
>scan for between(d12, d1, d2)
>
>endscan
I think this would work (uses Julian date):
BETWEEN(SYS(11,DATE(YEAR(PpBeg),MONTH(PpBeg),12)),SYS(11,PpBeg),SYS(11,PpEnd)) OR BETWEEN(SYS(11,DATE(YEAR(PpEnd),MONTH(PpEnd),12)),SYS(11,PpBeg),SYS(11,PpEnd))