Artikelstamm - Letzte Änderung

tomquenten

Neues Mitglied
Ich habe die Sage100 2021 gekauft, 2022 eingeführt und seit dem auch diversen Schnittstellen selbst geschrieben. Nun ist unser Artikelstamm so groß geworden, das ich z.B. über die API zu Shopware alleine für den Preisabgleich ganze 9 Minuten brauche. Das würde ich jetzt als nächstes gern ändern wollen. Mein Gedanke dazu ist, das Script zum Abgleich z.B. alle 30 Minuten zu starten. Im Script würde ich dann statt alle Artikel zu durchlaufen nur noch die heraus filtern die in den letzten 30 Minuten geändert wurde.

In den MSSQL gibt es dazu auch in vielen Tabellen Timestamp Felder. Daran hab ich mich nun probiert das irgendwie für meine Zwecke nutzbar zu machen. Allerdings scheint das gar nicht zu funktionieren, so wie ich mir das gedacht habe.

siehe hier https://de.comp.datenbanken.misc.na...-sql-server-2008-timestamp-in-datum-umwandeln

Liegt wohl auch daran, dass der timestamp im T-SQL nicht der gleiche Typ
ist wie der SQL-92 timestamp. Ersterer ist lediglich ein automatisch
generierter 8-byte Wert, der z.B. fuer das 'versionstamping' verwendet
wird. Mit einer Art Zeitmessung hat der dann aber nix zu tun.

Gibt es denn keinen Zeitstempel wann an Artikel zuletzt bearbeitet wurde?????? Echt jetzt? Gibt es dazu von jemanden eventuell einen Lösungsansatz?


Vielen Dank!
tomquenten
 
Der timestamp bei mssql datenbanken ist im Grunde einfach ein numerischer hochgezählter wert. Du kannst also einfach den letzten Wert speichern und beim nächsten lauf dann alle Datensätze mit größerem Wert abrufen. Mit Datum/Uhrzeit hat es nichts zu tun.
 
Ich würde dazu im Artikelstamm ein benutzerdefiniertes Feld hinzufügen (falls relevant auch in den variantenabhängigen Daten) und in das Feld per Insert/Update-Trigger jeweils auf das aktuelle Datum setzen. Beim Update könnte man dann auch auf die Änderung der für die Schnittstelle relevanten Felder filtern.
 
Moin,

wenn sie die Version 9.0.5.x benutzen, können sie im Administrator auch das optionale Mutationsprotokoll für den Artikelstamm aktivieren.
Ab da finden sie in den KHKLogbuch Tabellen ein Sekunden-genaues Änderungsprotokoll, das sie benutzen können, um das exakt wie von Ihnen gewünscht zu realisieren. Ganz nebenbei klärt sich dann auch die Frage wer welches Feld wann und wie genau geändert hat.
 
Wäre für den Artikelstamm auch eine Möglichkeit, jedoch beeinflusst das "optionale Mutationsprotokoll" auch die Performance und die Datenbankgröße.
 
Vielen Dank für die hilfreichen Antworten. Das mit dem Mutationsprotokoll habe ich auch schon gelesen, ich habe aber noch nicht auf die Version geupdatet. (Never Change a runnig System) :)

Ich werde die Möglichkeit von @diakh nehmen, denn das mit der Performence ist auch wieder ein überzeugendes Argument gegen das Mutationsprotokoll.


Vielen Dank an alle!
tomquenten
 
Zurück
Oben