A method is provided for controlling whether transactions applied against a database go forward or are aborted on a transaction processing system. A tracking engine identifies an uncompleted transaction to be joined, joins the uncompleted transaction, and collects one or more attributes of the joined uncompleted transaction. The collected one or more attributes become available as a result of the joining of the uncompleted transaction. The collected one or more attributes of the joined uncompleted transaction are compared against rules in a rules engine to determine whether the joined uncompleted transaction goes forward or is aborted. Alternatively, the joined uncompleted transaction is automatically modified so that the collected attributes are in compliance with the rules in the rules engine, thereby allowing the joined uncompleted transaction to go forward and be applied against the database of the transaction processing system.