CURSORSETPROP("Buffering", 5, "Items") CURSORSETPROP("Buffering", 5, "Books") lnConn = CURSORGETPROP("ConnectHandle", "Items") lnCommitted = 0 lnUnCommitted = 0 SQLSETPROP(lnConn,"Transactions", 2) SELECT join_c SCAN SCATTER NAME loRecord MEMO SELECT Items APPEND BLANK GATHER NAME loRecord MEMO SELECT Books APPEND BLANK GATHER NAME loRecord MEMO IF TABLEUPDATE(.T., .F., "Items") AND TABLEUPDATE(.T., .F., "Books") SQLCOMMIT(lnConn) SELECT join_c RAISEEVENT(THIS, "UpdateStatus", "Item code: " + ItemCode + " Item Name:" + ItemName + " is updated.") lnCommitted = lnCommitted + 1 ELSE AERROR(laError) TABLEREVERT(.T., "Items") TABLEREVERT(.T., "Books") SQLROLLBACK(lnConn) SELECT join_c RAISEEVENT(THIS, "UpdateStatus", "Error: " + laError[3] + ; " Item code: " + ItemCode + ; " Item Name: " + ItemName) lnUnCommitted = lnUnCommitted + 1 ENDIF ENDSCANAny ideas?