AutoTMF Software User's Guide (Update 14)
Configuring Automatic Transaction Processing
HP NonStop AutoTMF Software User’s Guide—429952-016
4-18
Setting Transaction Time Out
While forcing a commit before a program has released locks is tantamount to altering 
the program’s logic and would leave the program in an uncertain state, failing to 
commit the transactions before reaching the unilateral abort is not an option.
To prevent the loss of data in cases where the program’s behavior could cause a 
unilateral abort, AutoTMF uses a configurable AUTOCOMMIT timer. The AutoTMF 
runtime monitors automatic transactions to determine if any have been active for more 
than the AUTOCOMMIT time limit.
If there are outstanding automatic transactions when the AUTOCOMMIT time limit is 
reached, the AutoTMF runtime takes the following actions:
1. Forces the commit of all automatic transactions,
2. Issues an EMS message,
3. Terminates the process with an abend. 
The program has to be restarted but no data is lost.
To use the AUTOCOMMIT feature effectively, the time limit should be lower than the 
TMF AutoAbort time limit by at least 5 minutes. The default value for AUTOCOMMIT is 
115 minutes, based on the default TMF AUTOABORT time limit of 120 minutes. If you 
set the TMF AUTOABORT limit to a different value, you must adjust the AutoTMF 
AUTOCOMMIT accordingly (AUTOABORT - 5 minutes).
AUTOCOMMIT and Programs Waiting on $RECEIVE
When a process is waiting on $RECEIVE AutoTMF cannot check the status of 
outstanding automatic transactions. In order to prevent an idle program from hitting the 
TMF AUTOABORT time limit, AutoTMF sets a timer to wake the process if there is an 
active automatic transaction. The timer duration is the same as the ATMFMAXTIME 
global.
When a timer completes, AutoTMF checks all outstanding automatic transactions and 
complete those that meet the normal commit requirements. If the AUTOCOMMIT time 
limit is reached, all transactions are committed and the process is abended. Otherwise, 
the read on $RECEIVE is reissued and the program reenters the wait state. All timer 
processing is invisible to the application.
Setting Transaction Time Out
As mentioned in Reducing causes of unilateral aborts on page 4-17, some programs 
might need to hold locks for a longer period than is permitted by the TMF AutoAbort 
setting. An alternative to increasing the AutoAbort time limit for all transactions is 
configuring a time out value for automatic transaction, provided your system is running 
TMF version 3.6 or later.
To specify how long an automatic transaction can be active, set the TXTIMEOUT file or 
program attribute or the ATMFTXTIMEOUT global parameter. Defining a TXTIMEOUT 
value effectively sets the TMF AUTOABORT time limit, but only for a specific program, 
a specific file or for all automatic transactions.










