Tabellen sperren

5. September 2006 10:39

Hallo zusammen,
ich möchte eine Tabelle sperren so lange eine bestimmte Funktion läuft
und wenn ein Parameter gesetzt wird, soll die Sperung aufgehoben werden.
Ich habe folgendes versucht:
1. Locktable
Schleife die abfragt ob Parameter gesetzt ist
Sobald dies der Fall ist ... Sperrung durch Reset aufheben

2. Kleines Form gebastelt und im onTimer Trigger einen Dummy DS
in die Tabelle geschrieben und den gleich wieder gelöscht, so das
Navision diese Tabelle automatisch sperrt.

Um dies zu testen habe ich dann versucht während der Sperrung manuell
in der Tabelle direkt einen neuen DS zu erzeugen, was auch funktioniert hat - aber genau das soll ja die Sperrung verhindern.
Ist mein Ansatz total falsch oder wieso funzt das nicht?

Über Hilfe würde ich mich sehr freuen.

Grüße
redStripe

5. September 2006 12:04

War der OnTimerTrigger schon fertig, als du den DS manuell anlegen wolltest?
Wenn die Funktion, die die Sperre setzt, beendet wird, wird auch die Sperre beendet, wenn ich die Onlinehilfe richtig verstanden habe....

5. September 2006 12:32

das schreiben und löschen des DS mach ich ja im onTimer Trigger,
um die Tabelle zu "beschäftigen", so das Navision diese sperren müsste.

5. September 2006 13:36

Die Sperre mit dr Funktion LOCKTABLE wird durch das System wieder aufgehoben, wenn die Transaktion abgeschlossen ist.

Ein LOCKTABLE kann explizit aufgehoben werden durch das Absetzen des Datenbankbefehls COMMIT (dieser sollte jeodch unbedingt mit Vorsicht verwendet werden, da zu diesem Zeitpunkt alle Änderungen definitv in die DB geschrieben werden. Ein Rollback nach einen Fehler ist dann nicht mehr möglich)