E' possibile decidere l'ambito per una variabile all'interno di una transazione specificando l'ambito come un attributo dell'istruzione %DEFINE. E' possibile specificare
Per specificare l'ambito della transazione per una variabile:
Specificare l'attributo STATIC per indicare che la variabile contiene un ambito di transazione, il valore cioè della variabile viene salvato su tutte le chiamate di una transazione. STATIC è il valore predefinito per le macro persistenti. Ad esempio:
@dtw_static() %define(static) var1 = "val1"
Per specificare l'ambito di una singola chiamata per una variabile:
Specificare l'attributo TRANSIENT per indicare che la variabile contiene un ambito di singola chiamata, il valore cioè della variabile viene reinizializzato ad ogni chiamata. TRANSIENT è il valore predefinito per le macro non persistenti. Ad esempio:
@dtw_static() %define(transient) var1 = "val1"
In una macro persistente: