You could shorten things a little too.
m.llDidAll=.F.
begin transaction
if tableupdate(.t.,.t.,'Stock') ;
and tableupdate(.t.,.t.,'stockdetail') ;
and tableupdate(.t.,.t.,'cust')
m.llDidAll=.y.
endif
IF m.llDidAll
END TRANSACTION
ELSE
ROLLBACK
WAIT WINDOW 'Rollback, call your dealer'
ENDIF
>
>all the tables are Optimistic table buffering (5), I have around 15 tables to update.
>
>at the beginning, I'm very confident the code will work, but after I received so many complains from difference clients, I have no more confident. none of them got the Rollback message but some of tables were not updated.
>
>am I missing something?
>
>please advise.
>
>regards,
>
>Jerry