Met transactions is het mogelijk om een aantal bewerkingen op het XML (Tools) te groeperen en in zijn geheel (afhankelijk van het resultaat van de tussenstappen) door te voeren of terug te draaien. Zo kan bijvoorbeeld een mechanisme worden gemaakt waarmee de integriteit van de databases in de achterliggende systemen kan worden gegarandeerd.
Transactions zijn te maken met de volgende tools:
●
Begin transaction
Door een Begin transaction tool te plaatsen wordt een kopie van het output XML opgeslagen
●
Commit
Door een Commit tool te plaatsen wordt de meest recente transaction afgerond en hiermee worden de gedane wijzigingen definitief.
●
Rollback transaction
Door een Rollback tool te plaatsen wordt de bijbehorende kopie van het Output XML teruggeplaatst en hiermee worden alle aanpassingen aan het XML vanaf het moment van plaatsen van de Begin transaction teruggedraaid.
Voor de transactions zijn ook een aantal speciale Formula functions aanwezig:
●
Changed() en Changed(;)
Met de functie Changed() is te bepalen of een waarde in het XML is aangepast t.o.v. de Begin transaction. Er zijn 2 varianten van deze functie: Changed(elementname), deze geeft True terug als de waarde is aangepast en False als dit niet zo is. De tweede variant Changed(elementname; elementnametostorepreviousvalue) geeft in elementnametostorepreviousvalue de vorige waarde terug van het element met elementname.
●
Decreased()
Met de functie Decreased() is te bepalen of het element is verlaagd t.o.v. de waarde ten tijde van de Begin transaction.
●
Deleted()
Met de functie Deleted() is te bepalen of een element is verwijderd nadat de Begin transaction is geplaatst.
●
Increased()
Met de functie Increased() is te bepalen of een element is verhoogd t.o.v. de waarde ten tijde van de Begin transaction.
●
Introduced()
Met de functie Introduced() is te bepalen of een element is geïntroduceerd nadat de Begin transaction is gemaakt.
●
Originalvalue()
Met de functie Originalvalue() kan de waarde van het element worden opgehaald ten tijde van de Begin transaction.