lcAddress = upper(Srce.City+Srce.Address+Srce.LotUnit)
You should have this instead (you have it commented out above that point)lcAddress = replicate('Z',40) && upper(Srce.City+Srce.Address+Srce.LotUnit)And I don't mean to nit-pick *grin*, but I think it would be more manageable if some of the code was broken into separate procedures. I like for each individual procedure come as close to fitting on a screen or a single piece of paper as possible. Make sure the outer procedure, with the loop and address check, work properly, and calling functions to do the bulk of the work. Then you don't have to mess with the main procedure anymore.
>UPPER(CITY+ADDRESS+LOTUNIT+DOCTYPE+ ; >STR(MORTGAGE,10)+DOCKETREF+STR(BOOK,5)+STR(PAGE,4))>