>Happy New Year, fellow VFP users !
>
>First question of the New Year from me .....
>
>In some older VFP code, we have an End of Day routine that runs AFTER the users have all exited the running program except the one PC that will execute the routine. This is because some of the code has to have exclusive use of the tables for indexing and packing.
>
>We have one site that keeps getting an intermittent error about one of our tables, call CENTRACK.dbf. The error message in the EOD routine is....
>
>"Cannot update the cursor CENTRACK, since it is read-only."
>
>..and the error appears as a OS error message ( as in the attachment ).
>
>There is only one place in the EOD routine that makes CENTRACK exclusive, and it is this...
>
>
>*TMT 06/03/13 Begin Purge Centrack Table
>DO poserrorLOG WITH PROGRAM(), 0, "--- EOD - \Begin Purge of Centrack Table","", LINENO(1)
>
>llError = .F.
>IF USED('centrack')
> USE IN SELECT("centrack")
>ENDIF
>
>TRY
> USE \POS\DBF\centrack EXCLUSIVE
> *USE \POS\DBF\centrack IN 0 ALIAS centrack EXCLUSIVE
>CATCH
> IF !mAll
> MESSAGEBOX("Cannot pack the CENTRACK table... another REGISTER is using the CENTRACK file. Please shutdown all other registers to run Store End-of-Day.",0+16,"Info",5000)
> ENDIF
> DO centrack WITH "FrmSeod.scx","cmdExecute", .F., _reg_no, .F., .T., .F., "Cannot pack the CENTRACK table... another REGISTER is using the CENTRACK file."
> llError = .T.
>FINALLY
>ENDTRY
>IF NOT llError
> SELECT centrack
> GO TOP
> SCAN
> IF (DATE() - 180) > centrack.DATE
> DELETE IN centrack
> ENDIF
> ENDSCAN
> PACK
> USE IN SELECT("centrack")
>ENDIF
>*TMT 06/03/13 Begin Purge Centrack Table
>DO poserrorLOG WITH PROGRAM(), 0, "--- EOD - /End of Purge of Centrack Table","", LINENO(1)
>
>
>According to our users, they are all out except the one PC running this routine.
>
>So any ideas??
>
>Thanks!
Starting by, on the server with the tables, going to Computer Management, and looking at System Tools/Shared Folders/Open Files. That will likely tell you what's up, and by whom.
Hank