Transaktions-Management

PerformX unterstützt durch die Datenbank Sybase SQL das Transaktions-Management. Das bedeutet, dass Änderungen vor Verarbeitungen in „Marker“ gesetzt werden, welche die Daten erst dann abschliessend in die Datenbank schreiben, wenn alles reibungslos abgelaufen ist. So werden Datenverluste und inkonsistente Datenspeicherungen verhindert. Fehlerhafte Transaktionen müssen abgebrochen und die bisherigen Änderungen in der Datenbank rückgängig gemacht werden können. Wenn eine Transaktion aufgrund einer anderen Transaktion nicht ausgeführt werden kann, wird von einer Blockierung gesprochen.

Solange eine solche Transaktion „offen“ ist, wird dies dem Benutzer in der Statuszeile unten angezeigt:


Eine Transaktion muss entweder vollständig und fehlerfrei oder soll gar nicht ausgeführt werden können. Deshalb kann der Benutzer bei gewissen Datenverarbeitungen, wie z. B. bei der Funktion Suchen und Ersetzen, vor dem Abschluss der Änderung entscheiden, ob diese Aktion durchgeführt oder rückgängig gemacht werden soll:


Damit die offene Transaktion abgeschlossen werden kann, ist zum Teil im OK-Knopf ein Timer von 60 Sekunden implementiert. Wird innerhalb dieser Zeit kein Eingabe getätigt, erfolgt nach verfallener Zeit vom System her eine OK-Bestätigung. Nach 30 Sekunden wird die Restzeit angezeigt:


Wie eingangs erwähnt, bedeuten „offene“ Transaktionen, dass die Änderungen noch nicht vollständig in die Datenbank geschrieben wurden. Befindet sich ein Fenster bzw. das Arbeite…-Log-Fenster in einer solchen Transaktion, ist diese erst mit einem Klick (hier OK oder Rückgängig) abgeschlossen.

Bis zu diesem Transaktions-Abschluss besteht die Gefahr, Daten verlieren zu können. Wenn nun ein anderer Benutzer zeitgleich dieselben Daten bearbeitet, kann sich das Programm für diesen Benutzer blockieren.