>TABLEUPDATE( [nRows [, lForce]] [, cTableAlias | nWorkArea] [, cErrorArray] )
>
If you are using table buffering, TABLEUPDATE(.T., .T.,...) is equal to TABLEUPDATE(1, .T., ...)
I use the debugger to find these types of problems rather than trying puzzle through the code.
I would set a debug breakpoint right after the TABLEUPDATE statement, then set another breakpoint as follows:
Break when expression is true: REPL('1', FCOUNT("myTable")+1) != GETFLDSTATE(-1, "myTable") && You need to add 1 to FCOUNT() to count for deleted -flag in the beginning fo GETFLDSTATE() return value
This will stop program execution as soon as the buffer contains unsaved changes, which in turn will show you the exact line where the buffer is changed.Pertti Karjalainen
Product Manager
Northern Lights Software
Fairfax, CA USA
www.northernlightssoftware.com