>Take a closer look at
>
>
>REPLACE Production.Date ;
> WITH LEFT(Production.Date,6) + lcCurrentYear + lcDashShift ;
> FOR SUBSTR(Production.Date,7,1)="-"
>
>
>This will replace *every* affected record, not just the one selected inside your scan.
And also puts you at EOF() so the SCAN executes only once. You might need to capture RECNO() before the REPLACE FOR and then GOTO record before executing the ENDSCAN