25. Februar 2015 10:06
Hallo Leute,
ich habe ein Problem, welches ich dringend lösen sollte, momentan aber keine wirklich gute Lösung finde!
Es geht um eine Dynamics NAV 2009 Umgebung, letzte Build No., welche neu auf SQL 2012 läuft.
Dabei wird in einer Tabelle "Vehicle Customer" im OnDelete Trigger in der Tabelle "Vehicle" ein Feld updated:
OnDelete Trigger Tabelle "Vehicle Customer":- Code:
OnDelete()
IF (Type = Type::"Warranty Add-On") AND Vehicle.GET(VIN) THEN BEGIN
Vehicle."Warranty Add-On Contract Type" := '';
Vehicle.MODIFY;
END;
Das heisst, wenn der Datensatz in der Tabelle "Vehicle Customer" gelöscht wird, wird in der Tabelle "Vehicle" das Feld "Warranty Add-On Contract Type" auf blank gesetzt.
Dies funktioniert auch einwandfrei und ist sicher Standard.
In der Tabelle "Vehicle" wird aber im OnDelete Trigger die Tabelle "Vehicle Customer" auch angewendet:
OnDelete Trigger Tabelle "Vehicle":- Code:
OnDelete()
VehCustomers.RESET;
VehCustomers.SETRANGE(VIN,VIN);
VehCustomers.DELETEALL(TRUE);
Das heisst, wenn der Datensatz in der Tabelle "Vehicle" gelöscht wird, wird der OnDelete Trigger der Tabelle "Vehicle Customer" aufgerufen und die Datensätze gelöscht.
Dies funktioniert auch einwandfrei mit der native Datenbank (NAV5 oder NAV2009)!
Wird nun aber eine SQL-Datenbank anstelle der native Datenbank verwendet, erhalte ich die folgende/beiliegende Fehlermeldung:
25-02-2015 08-54-54.gif
Ein anderer Benutzer hat...
Dies geschieht aber nur mit der SQL-Datenbank, mit den native Datenbanken erhalte ich keine Fehlermeldung.
Ich stehe nun gerade ein wenig "auf dem Schlauch"!?! Weil das Vorgehen an und für sich ja korrekt wäre.
Ich weiss nun nicht, wie ich nun prüfen sollte,
- ob nur ein Datensatz in der Tabelle "Vehicle Customer" gelöscht wurde und dann das Feld in der Tabelle "Vehicle" geändert werden soll (MODIFY)
- oder ob der Datensatz der Tabelle "Vehicle" inklusive der Datensätze der Tabelle "Vehicle Customer" gelöscht werden und dann der MODIFY auf die Tabelle "Vehicle" gar nicht mehr nötig ist
Kann da etwas auf dem SQL-Server/der SQL-Datenbank eingestellt werden? Oder muss ich hier mit Parametern arbeiten, welche ich vorgängig übergebe?
Solche Probleme können aber dauernd auftreten.
Vielen Dank für rasche Hilfe!!!
Beno
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von beno am 26. Februar 2015 18:04, insgesamt 1-mal geändert.