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.

Kopieren
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