Transactional Correctness 
Transactional correctness is an important database consistency requirement. If multiple programs update the same information simultaneously, data correctness can be at risk. Transactions control the access of data by multiple programs. In the event of a system failure, transactions ensure that the data affected is still consistent after recovery. The transactional correctness tool checks the transactional correctness of your ABAP programs.
The transactional correctness evaluation is based on the software principles of atomicity, consistency, isolation, and durability (ACID principles). You can find more information on the ACID principles in the Internet.
To be able to use the transactional correctness tool, you have installed ST-PI 2008_1 or above.
If you want to evaluate enqueues and dequeues, you have ST-PI 2008_1 SP9.
The transactional correctness tool is a report that evaluates a transaction performance trace.
Based on predefined rules, the report checks the following:
The number of COMMIT statements in a logical unit of work (LUW)
Whether the database is changed in a dialog or an update work process
The usage of enqueues and dequeues
The following rules are checked:
Rule | Description |
|---|---|
1 | There should be no COMMIT and ROLLBACK statements between changes in the main program. |
2 | There should be no COMMIT and ROLLBACK statements between changes within each tRFC/qRFC. |
3 | There should be no changes in sRFC/aRFC unless executed in an update task. |
4 | An explicit COMMIT statement is needed to trigger changes in an update task. |
5 | If some changes in the main program are executed in an update task, the others should be as well. |
E1 | A Database record might be modified without an active Enqueue. |
E2 | A Dequeue might be set without an active Enqueue. |
E3 | A Dequeue is set without all parameters specified. |
E4 | Modifying DB operation on a table that is not part of an active lock object. |
E5 | The changed table entry might only be locked by a Shared Lock. |
E6 | Data might be committed without an active Enqueue. |
Transaction Correctness guide on SAP Service Marketplace at .
In the SAP NetWeaver documentation at http://help.sap.com/netweaver, search for Performance Trace.
SAP Note 1325677