More seriously you are probably referring to "transaction scope" and the unintended consequences of poor control of transaction scope.
For instance (very bad sample code follows):
Code:
/* badcode.p
*/
find first customer.
update name.
run something.p
In this case the transaction is scoped to the entire "badcode.p" procedure. You might say that it "leaks" to something.p. And because the scope is the entire procedure an unhandled error in something.p that returns to badcode.p will result in both something.p
and badcode.p having their transactions rolled back.