Kenneth,
Tom was showing you how you could use the REPLACE statement without doing a SEEK each time through the scan. The REPLACE statement will basically find the record and do the replace at the same time. I made a couple of mods to his idea below:
>It looks to me like this code would change the UseSeason in the invoicedetail file, not the product file. Am I right?
>
>>Try something like this:
>>
Local lcInvoice_ID
lcInvoice_ID = invoiceHeader.invoice_id
Select Invoice_Detail
seek lcInvoice_ID
Scan while invoice_id = lcInvoice_ID
select product
Replace UseSeason with m.currentseason for product_id = InvoiceDetail.product_id
EndScan
Of course we still have not found your root problem. That is, are you able to do a REPLACE without getting a buffering error?
Steve Gibson