what is transaction scoping

Every change of a Progress database happens in a transaction. A transaction is a unit of database changes that either will be committed or rolled back. The unit of database changes could be updating the value of one column in one row or changing multiple rows in multiple tables.

The Progress ABL is structured in blocks. Therefore the transaction is caused by changing the database but the scope is extended to the next outer block with transaction properties in the procedure - or it is the procedure itself. This is the default behavior if the developer does not specify otherwise.

It is the developer who is responsible for the program and therefore should be familiar with transaction scope and, not to forget, the buffer scope. If you're not familiar with these concepts, IMHO, it is by chance whether your programs causes unwanted behavior like leftover share locks, blowing the lock table or it does not cause such unwanted behavior.

Regards, RealHeavyDude.
 
Back
Top