TS/MP Pathsend and Server Programming Manual (G06.24+, H06.03+)
Designing Your Application
NonStop TS/MP Pathsend and Server Programming Manual–132500
2-6
Protecting Transactions
Protecting Transactions
After listing and grouping the components of the Enter Sales transaction, you protect the 
integrity of each transaction, and ultimately the consistency of the database, with the 
TMF subsystem. The following pages outline how to integrate the TMF subsystem with 
your business transactions. For information about the overall features of the TMF 
subsystem, including database file recovery and audit trails, refer to the Introduction to 
NonStop Transaction Processing.
Defining TMF Transactions
From a systems perspective, a transaction includes all the steps necessary to transform a 
database from one consistent state to another. A TMF transaction must be constructed as 
a logical unit of work: that is, all parts of a transaction, which usually consists of 
multiple operations, must be handled as a single entity. If any parts of a TMF transaction 
are not successfully completed or applied to a database, then none of the transaction 
parts are applied to the database. By forcing all components of a transaction to be 
handled as a single unit of work, the TMF subsystem prevents inaccurate or partial 
updates to the database and protects database consistency.
At the application level, a TMF transaction is defined by special procedure calls or 
statements that specify the beginning and end of a transaction. For example, in a 
Pathsend requester program, a transaction begins with a call to the 
BEGINTRANSACTION procedure and ends with a call to the ENDTRANSACTION or 
ABORTTRANSACTION procedure. The procedure calls that define TMF transactions 
act as brackets; that is, the statements are placed before and after the add record, update 
record, and delete record procedures in your requester program.
Figure 2-3
 illustrates the use of the TMF subsystem by a Pathsend requester program 
and a Pathway server program. In the illustration, the variable called TRANSID acts as a 
transaction identifier.










