>I am already doing SET DATE <> respectively. please run the code and check.
I have run your code. Jim, Fred, I, and others have explained this behavior. It is tricky to understand: SET DATE is not changed during compilation, even if there are SET DATE commands in your code. Therefore ambiguous date literals inside your code are evaluated using whatever value of SET DATE is in effect when you start the compile. To avoid problems, SET STRICTDATE TO 1 (or 2) and write all date literals in the unambiguous format of {^2000-02-15}, which overrides SET DATE.
Rick Borup, MCSD
recursion (rE-kur'-shun) n.
see recursion.