Kbase P8448: What is transaction scope?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  03/01/2011 |
|
Status: Verified
GOAL:
What is meant by transaction scope?
GOAL:
What is a transaction's scope?
GOAL:
How does Progress define transaction scope?
GOAL:
How is transaction scope defined?
FACT(s) (Environment):
All Supported Operating Systems
Progress 9.x
OpenEdge 10.x
FIX:
The transaction scope is the outermost block with transaction properties that updates the database.
Statements that update the database include:
UPDATE, CREATE, ASSIGN and SET.
Blocks with transaction properties include:
FOR, REPEAT, PROCEDURE, any block that has the TRANSACTION keyword specified or any block in which EXCLUSIVE-LOCK is used to find a record
in a database table.
For example, using FIND or FOR with EXCLUSIVE-LOCK causes the transaction scope to be raised to the nearest block with transaction
properties. If no enclosing block qualifies as such then the transaction scope is raised to the PROCEDURE.
Note that Progress allows only one active transaction at a time, so the next transaction that you start in your procedure is actually a subtransation. Also, if you start a transaction in one procedure and it has not ended when you call a sub-procedure, new transactions in the sub-procedure will also be subtransactions.
Please refer to the documentation references below for further clarification.