Transaktion bei Fehler zurücksetzen
Steuert, ob Transaktionen bei Auftreten eines Fehlers sofort rückgängig gemacht werden.
Optionen
-
Ein setzt Transaktionen automatisch zurück, sobald bestimmte Fehler auftreten. Dies ist das Standardverhalten, wenn dieser Scriptschritt nicht verwendet wird.
-
Aus ermöglicht die Fortsetzung von Schritten innerhalb von Transaktionen, auch wenn bestimmte Fehler auftreten.
Kompatibilität
Produkt | Unterstützt |
FileMaker Pro | Ja |
FileMaker Go | Ja |
FileMaker WebDirect | Ja |
FileMaker Server | Ja |
FileMaker Cloud | Ja |
FileMaker Data API | Ja |
Custom Web Publishing | Ja |
Ursprung in Version
21.1.1
Beschreibung
Wenn dieser Scriptschritt durch die Option Ein aktiviert ist, wird die Transaktion automatisch rückgängig gemacht, wenn ein Scriptschritt innerhalb einer Transaktion einen Fehler zurückgibt, weil er Daten nicht wie erwartet erstellen, aktualisieren oder löschen kann. Dabei verhält er sich genauso, wie wenn der Scriptschritt Scriptschritt „Transaktion rückgängig“ ohne Bedingung ausgeführt wird. Diese Art von Fehlern führt automatisch zu einer Rückgängigmachung von Transaktionen:
-
eine Änderung in einem Feld, das auf „immer überprüfen“ eingestellt ist, entspricht nicht den Überprüfungsoptionen des Feldes
-
Berechtigungsfehler wie kein Feldzugriff, kein Datensatzzugriff und kein Tabellenzugriff
Deaktivieren Sie diesen Scriptschritt durch die Option Aus, um Ihre eigene Fehlerbehandlung innerhalb von Transaktionen hinzuzufügen. Wenn z. B. ein Fehler auftritt, der die Transaktion sonst rückgängig machen würde, kann Ihr Script versuchen, den Fehler zu beheben und dann den Vorgang erneut versuchen, um die Rückgängigmachung der gesamten Transaktion zu vermeiden.
Wenn Aus, hilft dieser Scriptschritt auch beim Debuggen einer Transaktion im Script-Debugger. Da ein Fehler nicht automatisch zur Rückgängigmachung der Transaktion führt, können Sie den nächsten Schritt an einer beliebigen Stelle festlegen, auch innerhalb der Transaktion, was sonst nicht zulässig wäre.
Hinweise
-
Um den aktuellen Status von „Transaktion bei Fehler zurücksetzen“ zu erhalten, verwenden Sie die Funktion Funktion „Hole ( TransaktionZurücksetzenBeiFehlerStatus )“.
-
Wenn auf Aus gesetzt, bleibt „Transaktion bei Fehler zurücksetzen“ ausgeschaltet, solange das aktuelle Script und alle Teilscripts ausgeführt werden, sofern nicht geändert. Wenn das aktuelle Script endet, wird der Status an Ein zurückgegeben.
Beispiel 1
Öffnet eine Transaktion und versucht, das Textfeld und das Zahlenfeld festzulegen, für die die Validierung für reine numerische Daten aktiviert ist. „Feldwert setzen“ für „Text“ ist erfolgreich. „Feldwert setzen“ für „Nummer“ kann nicht validiert werden und gibt einen Fehler zurück, aber die Transaktion wird nicht automatisch rückgängig gemacht. Stattdessen wird das benutzerdefinierte Dialogfeld angezeigt, dann wird die Transaktion bestätigt und nur das Feld „Text“ geändert.
Transaktion bei Fehler zurücksetzen [ Ein ]
Transaktion öffnen [ ]
Feldwert setzen [ Tabelle::Text ; "Roman" ]
Feldwert setzen [ Tabelle::Nummer ; "Es war dunkel und..." ]
Wenn [ Hole ( LetzteFehlerNr ) > 0 ]
Eigenes Dialogfeld anzeigen [ "Ups, bei Nummer ist ein Fehler aufgetreten." ]
Ende (wenn)
Transaktion bestätigen