* Code in controlling object: lFlag = .T. BEGIN TRANSACTION FOR EACH oObject IN colObjects * This next block of code is actually contained within each oObject, * it's not directly within the controlling object: BEGIN TRANSACTION SELECT oObject.cCursor * Make some sort of changes to the cursor IF TABLEUPDATE(oObject.cCursor) END TRANSACTION RETURN .T. ELSE ROLLBACK RETURN .F. ENDIF * End of internal block of code IF NOT lFlag && Returned T/F from internal block of code EXIT ENDIF ENDFOR IF lFlag END TRANSACTION ELSE ROLLBACK ENDIFIn essence, I am trying to update a series of cursors contained within a collection of objects, externally from a different controlling object. The objects in the collection aren't aware of the controlling object. I was hoping to be able to "undo" all of the changes, if any of the updates of the collection objects fails. Will this work?