Ich habe folgendes Problem:
Für eine erweiterte Kontrolle / Funktion im Bereich der Kreditprüfung habe ich ein externes Program geschrieben, welches die eingehenden Aufträge prüft und eine Liste der Kunden erzeugt die eine Kreditanfrage benötigen, weil ein gewisses Limit überschritten ist. Nach erfolgter Prüfung wird das Kreditlimit entsprechend der Auskunft gesetzt und ein Attribut am Kunden gesetzt, welches das Auslaufdatum beinhaltetn (ein Wert den es JTL-Wawi nicht gibt).
Bis hier hin ist eigentlich alles gut. Wenn an dem Kunden dieses Attribut noch nicht besteht, wird ein neues hinzugefügt. Und hier liegt das Problem:
die Tabelle tkundenAttribute besitzt einen Index auf kKundenAttribute. Wenn ich die INSERT Query ausführe, habe ich vorher den höchsten Wert von kKundenAttribute und übergeb den Wert kKundenAttribute+1
Leider wird dieser Index in irgendeiner Systemtabelle geführt und diese bekommt davon scheinbar nichts mit. Es passiert folgendes: Der Systemindex bleibt auf dem alten Wert und die nächste Query von JTL-WaWi versucht diesen zu schreiben und erzeugt eine Fehlermeldung, da der von JTL erzeugte neu Indexwert bereits vergeben ist. Ich hoffe ich habe mich klar ausgedrückt, zur Veranschaulichung:
kKundenAttribute
1
2
3
Systemindex steht auf 3
INSERT INTO tKundenAttribute SET kKundenAttribute = 4
kKundenAttribute
1
2
3
4
JTL hinzufügen von einem Attribut
sinngemäß: INSERT INTO tKundenAttribute SET kKundenAttribute = 4 (da der nächste Systemindex)
Fehler da 4 bereits vergeben ist.
Weiß einer eine Lösung? Und bitte keine Diskussion darüber was man tun und was man lassen sollte, es geht darum interne Prozesse erheblich zu verbessern und das Hinzufügen der Datensätze ist ansonsten unkritisch.
Danke Thomas
Für eine erweiterte Kontrolle / Funktion im Bereich der Kreditprüfung habe ich ein externes Program geschrieben, welches die eingehenden Aufträge prüft und eine Liste der Kunden erzeugt die eine Kreditanfrage benötigen, weil ein gewisses Limit überschritten ist. Nach erfolgter Prüfung wird das Kreditlimit entsprechend der Auskunft gesetzt und ein Attribut am Kunden gesetzt, welches das Auslaufdatum beinhaltetn (ein Wert den es JTL-Wawi nicht gibt).
Bis hier hin ist eigentlich alles gut. Wenn an dem Kunden dieses Attribut noch nicht besteht, wird ein neues hinzugefügt. Und hier liegt das Problem:
die Tabelle tkundenAttribute besitzt einen Index auf kKundenAttribute. Wenn ich die INSERT Query ausführe, habe ich vorher den höchsten Wert von kKundenAttribute und übergeb den Wert kKundenAttribute+1
Leider wird dieser Index in irgendeiner Systemtabelle geführt und diese bekommt davon scheinbar nichts mit. Es passiert folgendes: Der Systemindex bleibt auf dem alten Wert und die nächste Query von JTL-WaWi versucht diesen zu schreiben und erzeugt eine Fehlermeldung, da der von JTL erzeugte neu Indexwert bereits vergeben ist. Ich hoffe ich habe mich klar ausgedrückt, zur Veranschaulichung:
kKundenAttribute
1
2
3
Systemindex steht auf 3
INSERT INTO tKundenAttribute SET kKundenAttribute = 4
kKundenAttribute
1
2
3
4
JTL hinzufügen von einem Attribut
sinngemäß: INSERT INTO tKundenAttribute SET kKundenAttribute = 4 (da der nächste Systemindex)
Fehler da 4 bereits vergeben ist.
Weiß einer eine Lösung? Und bitte keine Diskussion darüber was man tun und was man lassen sollte, es geht darum interne Prozesse erheblich zu verbessern und das Hinzufügen der Datensätze ist ansonsten unkritisch.
Danke Thomas