Zum Inhalt springen

OmniSeller:OmniSellerUpload ChangeTracking

Aus HTK Wiki
Version vom 6. Februar 2026, 10:09 Uhr von Admin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= OmniSeller Upload-Service: Change Tracking = Der OmniSeller Upload-Service kann Änderungen in der ERP-Datenbank automatisch erkennen und betroffene Artikel zum Upload vormerken. Dies geschieht über SQL-Trigger, die bei Datenänderungen Einträge in die <code>HTKOmniUploadQueue</code> schreiben. == Grundkonfiguration == Alle Einstellungen erfolgen in der <code>OmniSeller.ini</code> in der Sektion <code>[ChangeTracking]</code>. <source lang="ini"> […“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

OmniSeller Upload-Service: Change Tracking

Der OmniSeller Upload-Service kann Änderungen in der ERP-Datenbank automatisch erkennen und betroffene Artikel zum Upload vormerken. Dies geschieht über SQL-Trigger, die bei Datenänderungen Einträge in die HTKOmniUploadQueue schreiben.

Grundkonfiguration

Alle Einstellungen erfolgen in der OmniSeller.ini in der Sektion [ChangeTracking].

[ChangeTracking]
Enabled = 1          ; Master-Switch (muss 1 sein damit der Worker startet)
IntervalMs = 5000    ; Prüf-Intervall in Millisekunden (Standard: 5000 = 5 Sekunden)

Wichtig: Enabled = 1 ist Voraussetzung für alle anderen Tracking-Optionen.

Verfügbare Tracking-Optionen

INI-Schlüssel Tabelle Beschreibung
TrackPrices KHKPreislistenArtikel Einzelpreise in Preislisten
TrackKHKPreislisten KHKPreislisten Gültigkeitsänderung der Preisliste selbst
TrackPriceListValidity – (täglicher Check) Preislisten die über Nacht gültig/ungültig wurden
TrackAttributes oHTKAttributeEntities Artikelattribute
TrackKHKArtikel KHKArtikel Stammdaten der Artikel
TrackKHKArtikelVarianten KHKArtikelVarianten Artikelvarianten
TrackKHKArtikelLagerbewegungen KHKArtikelLagerbewegungen Lagerbewegungen (für Bestandsänderungen)
TrackKHKArtikelStueckliste KHKArtikelStueckliste Stücklisten
TrackHTKOmniAlternativeSKU HTKOmniAlternativeSKU Alternative SKUs
TrackOHTKSyncData oHTKSyncData Sync-Daten
TrackOHTKSyncDataClient oHTKSyncDataClient Client-spezifische Sync-Daten

Preisbezogene Tracking-Optionen im Detail

TrackPrices (Einzelpreise)

Überwacht die Tabelle KHKPreislistenArtikel. Ein Upload wird ausgelöst wenn:

  • Ein Einzelpreis geändert wird
  • Ein Artikel einer Preisliste hinzugefügt wird
  • Ein Artikel aus einer Preisliste entfernt wird

Trigger:

  • TRIU_HTKSyncdata__KHKPreislistenArtikel (INSERT/UPDATE)
  • TRD_HTKSyncdata__KHKPreislistenArtikel (DELETE)

Hinweis: Der Trigger reagiert nur auf echte Preisänderungen. Ein UPDATE das den gleichen Preis schreibt löst keinen Upload aus.

[ChangeTracking]
TrackPrices = 1

TrackKHKPreislisten (Preislisten-Gültigkeit)

Überwacht die Tabelle KHKPreislisten. Ein Upload wird ausgelöst wenn sich der Gültigkeitsstatus einer Preisliste ändert:

  • Preisliste wird aktiviert (Aktiv geändert)
  • GueltigVon oder GueltigBis geändert, sodass die Preisliste jetzt gültig/ungültig ist

Wichtig: Es werden alle Artikel dieser Preisliste zum Upload vorgemerkt.

Wann wird KEIN Upload ausgelöst:

  • Änderung des Namens (Bezeichnung)
  • Änderung anderer Felder die nicht die Gültigkeit betreffen
  • GueltigBis ändern, aber Preisliste war und bleibt gültig

Trigger:

  • TRIU_OmniSellerTrigger_KHKPreislisten
[ChangeTracking]
TrackKHKPreislisten = 1

TrackPriceListValidity (Täglicher Gültigkeits-Check)

Dies ist kein Trigger, sondern ein täglicher Check der prüft:

  • Welche Preislisten sind seit gestern gültig geworden? (GueltigVon erreicht)
  • Welche Preislisten sind seit gestern ungültig geworden? (GueltigBis überschritten)

Anwendungsfall: Eine Preisliste hat GueltigVon = 2026-03-01. Am 1. März werden automatisch alle Artikel dieser Preisliste hochgeladen, auch wenn niemand etwas geändert hat.

[ChangeTracking]
TrackPriceListValidity = 1

Empfohlene Konfiguration für Preise

Für vollständiges Preis-Tracking empfehlen wir:

[ChangeTracking]
Enabled = 1
IntervalMs = 5000

; Preise
TrackPrices = 1              ; Einzelpreis-Änderungen
TrackKHKPreislisten = 1      ; Preisliste wird gültig/ungültig geschaltet
TrackPriceListValidity = 1   ; Preislisten die über Nacht gültig werden

Debugging

Für die Fehlersuche bei Preis-Problemen gibt es ein spezielles Debug-Log:

[Log]
Pricelog = 1

Dies schreibt detaillierte Informationen in preislogiclog.txt im Service-Verzeichnis:

  • Welche Artikel in die Queue geschrieben werden
  • Welche Tracking-Optionen aktiv sind
  • SQL-Abfragen die ausgeführt werden
  • Übersprungene Artikel und warum

Technische Details

Queue-Verarbeitung

Die HTKOmniUploadQueue wird in Batches von maximal 500 Einträgen verarbeitet. Bei mehr Einträgen erfolgt die Verarbeitung in mehreren Zyklen (alle IntervalMs Millisekunden).

Trigger-Management

Die SQL-Trigger werden vom Upload-Service automatisch verwaltet:

  • Service startet: Trigger für aktivierte Optionen werden eingeschaltet
  • Service stoppt: Alle Trigger werden deaktiviert (verhindert Queue-Überlauf)

Reason-Filterung

Die Queue-Einträge haben ein Reason-Feld das angibt woher der Eintrag kommt. Der Service verarbeitet nur Einträge deren Reason zu einer aktivierten Tracking-Option passt:

Reason Benötigte INI-Option
KHKPreislistenArtikel TrackPrices = 1
KHKPreislisten TrackKHKPreislisten = 1
KHKArtikel TrackKHKArtikel = 1
KHKArtikelVarianten TrackKHKArtikelVarianten = 1
KHKArtikelLagerbewegungen TrackKHKArtikelLagerbewegungen = 1
KHKArtikelStueckliste TrackKHKArtikelStueckliste = 1
HTKOmniAlternativeSKU TrackHTKOmniAlternativeSKU = 1
oHTKSyncData TrackOHTKSyncData = 1
oHTKSyncDataClient TrackOHTKSyncDataClient = 1
HTKOmniArtikelAttribute TrackAttributes = 1

Einträge mit deaktiviertem Reason werden automatisch aus der Queue gelöscht.

Siehe auch

 
 
 
Disclaimer
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen. Some pages may contain Icons by www.icons8.com.