OmniSeller:OmniSellerUpload ChangeTracking: Unterschied zwischen den Versionen
Erscheinungsbild
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"> […“ |
Admin (Diskussion | Beiträge) Korrekturlauf Teil 2: Markup-Reste, abgebrochene Saetze und Doppelungen bereinigt |
||
| (4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 5: | Zeile 5: | ||
== Grundkonfiguration == | == Grundkonfiguration == | ||
Alle Einstellungen erfolgen in der <code> | Alle Einstellungen erfolgen in der <code>OmniSellerUpload.ini</code> in der Sektion <code>[ChangeTracking]</code>. | ||
<source lang="ini"> | <source lang="ini"> | ||
| Zeile 19: | Zeile 19: | ||
{| class="wikitable" | {| class="wikitable" | ||
! INI-Schlüssel !! Tabelle !! Beschreibung | ! INI-Schlüssel !! Tabelle !! Beschreibung | ||
|- | |- | ||
| <code>TrackPrices</code> || KHKPreislistenArtikel || Einzelpreise in Preislisten | | <code>TrackPrices</code> || KHKPreislistenArtikel || Einzelpreise in Preislisten | ||
|- | |- | ||
| <code>TrackKHKPreislisten</code> || KHKPreislisten || Gültigkeitsänderung der Preisliste selbst | | <code>TrackKHKPreislisten</code> || KHKPreislisten || Gültigkeitsänderung der Preisliste selbst | ||
|- | |- | ||
| <code>TrackPriceListValidity</code> || – (täglicher Check) || Preislisten die über Nacht gültig/ungültig wurden | | <code>TrackPriceListValidity</code> || – (täglicher Check) || Preislisten die über Nacht gültig/ungültig wurden | ||
|- | |- | ||
| <code>TrackAttributes</code> || oHTKAttributeEntities || Artikelattribute | | <code>TrackAttributes</code> || oHTKAttributeEntities || Artikelattribute | ||
|- | |- | ||
| <code>TrackKHKArtikel</code> || KHKArtikel || Stammdaten der Artikel | | <code>TrackKHKArtikel</code> || KHKArtikel || Stammdaten der Artikel | ||
|- | |- | ||
| <code>TrackKHKArtikelVarianten</code> || KHKArtikelVarianten || Artikelvarianten | | <code>TrackKHKArtikelVarianten</code> || KHKArtikelVarianten || Artikelvarianten | ||
|- | |- | ||
| <code>TrackKHKArtikelLagerbewegungen</code> || KHKArtikelLagerbewegungen || Lagerbewegungen (für Bestandsänderungen) | | <code>TrackKHKArtikelLagerbewegungen</code> || KHKArtikelLagerbewegungen || Lagerbewegungen (für Bestandsänderungen) | ||
|- | |- | ||
| <code>TrackKHKArtikelStueckliste</code> || KHKArtikelStueckliste || Stücklisten | | <code>TrackKHKArtikelStueckliste</code> || KHKArtikelStueckliste || Stücklisten | ||
|- | |- | ||
| <code>TrackHTKOmniAlternativeSKU</code> || HTKOmniAlternativeSKU || Alternative SKUs | | <code>TrackHTKOmniAlternativeSKU</code> || HTKOmniAlternativeSKU || Alternative SKUs | ||
|- | |- | ||
| <code>TrackOHTKSyncData</code> || oHTKSyncData || Sync-Daten | | <code>TrackOHTKSyncData</code> || oHTKSyncData || Sync-Daten | ||
|- | |- | ||
| <code>TrackOHTKSyncDataClient</code> || oHTKSyncDataClient || Client-spezifische Sync-Daten | | <code>TrackOHTKSyncDataClient</code> || oHTKSyncDataClient || Client-spezifische Sync-Daten | ||
|- | |||
| <code>TrackKHKRabattlistenArtikel</code> || KHKRabattlistenArtikel || Änderungen an Sage 100 Rabattlisten | |||
|} | |} | ||
| Zeile 47: | Zeile 49: | ||
=== TrackPrices (Einzelpreise) === | === TrackPrices (Einzelpreise) === | ||
Überwacht die Tabelle <code>KHKPreislistenArtikel</code>. Ein Upload wird ausgelöst wenn: | Überwacht die Tabelle <code>KHKPreislistenArtikel</code>. Ein Upload wird ausgelöst, wenn: | ||
* Ein Einzelpreis geändert wird | * Ein Einzelpreis geändert wird | ||
* Ein Artikel einer Preisliste hinzugefügt wird | * Ein Artikel einer Preisliste hinzugefügt wird | ||
* Ein Artikel aus einer Preisliste entfernt wird | * Ein Artikel aus einer Preisliste entfernt wird | ||
'''Trigger:''' | '''Trigger:''' | ||
* <code>TRIU_HTKSyncdata__KHKPreislistenArtikel</code> (INSERT/UPDATE) | * <code>TRIU_HTKSyncdata__KHKPreislistenArtikel</code> (INSERT/UPDATE) | ||
* <code>TRD_HTKSyncdata__KHKPreislistenArtikel</code> (DELETE) | * <code>TRD_HTKSyncdata__KHKPreislistenArtikel</code> (DELETE) | ||
'''Hinweis:''' Der Trigger reagiert nur auf '''echte''' Preisänderungen. Ein UPDATE, das den gleichen Preis schreibt, löst keinen Upload aus. | |||
'''Hinweis:''' Der Trigger reagiert nur auf '''echte''' Preisänderungen. Ein UPDATE das den gleichen Preis schreibt löst keinen Upload aus. | |||
<source lang="ini"> | <source lang="ini"> | ||
| Zeile 63: | Zeile 63: | ||
TrackPrices = 1 | TrackPrices = 1 | ||
</source> | </source> | ||
=== TrackKHKPreislisten (Preislisten-Gültigkeit) === | === TrackKHKPreislisten (Preislisten-Gültigkeit) === | ||
Überwacht die Tabelle <code>KHKPreislisten</code>. Ein Upload wird ausgelöst wenn sich der '''Gültigkeitsstatus''' einer Preisliste ändert: | Überwacht die Tabelle <code>KHKPreislisten</code>. Ein Upload wird ausgelöst, wenn sich der '''Gültigkeitsstatus''' einer Preisliste ändert: | ||
* Preisliste wird aktiviert (<code>Aktiv</code> geändert) | * Preisliste wird aktiviert (<code>Aktiv</code> geändert) | ||
* <code>GueltigVon</code> oder <code>GueltigBis</code> geändert, sodass die Preisliste jetzt gültig/ungültig ist | * <code>GueltigVon</code> oder <code>GueltigBis</code> geändert, sodass die Preisliste jetzt gültig/ungültig ist | ||
'''Wichtig:''' Es werden '''alle Artikel''' dieser Preisliste zum Upload vorgemerkt. | '''Wichtig:''' Es werden '''alle Artikel''' dieser Preisliste zum Upload vorgemerkt. | ||
'''Wann wird KEIN Upload ausgelöst:''' | '''Wann wird KEIN Upload ausgelöst:''' | ||
* Änderung des Namens (<code>Bezeichnung</code>) | * Änderung des Namens (<code>Bezeichnung</code>) | ||
* Änderung anderer Felder die nicht die Gültigkeit betreffen | * Änderung anderer Felder, die nicht die Gültigkeit betreffen | ||
* <code>GueltigBis</code> ändern, aber Preisliste war und bleibt gültig | * <code>GueltigBis</code> ändern, aber Preisliste war und bleibt gültig | ||
'''Trigger:''' | '''Trigger:''' | ||
* <code>TRIU_OmniSellerTrigger_KHKPreislisten</code> | * <code>TRIU_OmniSellerTrigger_KHKPreislisten</code> | ||
<source lang="ini"> | <source lang="ini"> | ||
[ChangeTracking] | [ChangeTracking] | ||
TrackKHKPreislisten = 1 | TrackKHKPreislisten = 1 | ||
</source> | </source> | ||
=== TrackPriceListValidity (Täglicher Gültigkeits-Check) === | === TrackPriceListValidity (Täglicher Gültigkeits-Check) === | ||
Dies ist '''kein Trigger''', sondern ein täglicher Check der prüft: | 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 gültig geworden? (GueltigVon erreicht) | ||
* Welche Preislisten sind seit gestern ungültig geworden? (GueltigBis überschritten) | * Welche Preislisten sind seit gestern ungültig geworden? (GueltigBis überschritten) | ||
'''Anwendungsfall:''' Eine Preisliste hat <code>GueltigVon = 2026-03-01</code>. Am 1. März werden automatisch alle Artikel dieser Preisliste hochgeladen, auch wenn niemand etwas geändert hat. | '''Anwendungsfall:''' Eine Preisliste hat <code>GueltigVon = 2026-03-01</code>. Am 1. März werden automatisch alle Artikel dieser Preisliste hochgeladen, auch wenn niemand etwas geändert hat. | ||
| Zeile 99: | Zeile 93: | ||
TrackPriceListValidity = 1 | TrackPriceListValidity = 1 | ||
</source> | </source> | ||
== Empfohlene Konfiguration für Preise == | == Empfohlene Konfiguration für Preise == | ||
Für | Für ein Preis-Tracking empfehlen wir: | ||
<source lang="ini"> | <source lang="ini"> | ||
| Zeile 146: | Zeile 139: | ||
=== Reason-Filterung === | === Reason-Filterung === | ||
Die Queue-Einträge haben ein <code>Reason</code>-Feld das angibt woher der Eintrag kommt. Der Service verarbeitet nur Einträge deren Reason zu einer aktivierten Tracking-Option passt: | Die Queue-Einträge haben ein <code>Reason</code>-Feld, das angibt, woher der Eintrag kommt. Der Service verarbeitet nur Einträge, deren Reason zu einer aktivierten Tracking-Option passt: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Reason !! Benötigte INI-Option | ! Reason !! Benötigte INI-Option | ||
|- | |- | ||
| KHKPreislistenArtikel || TrackPrices = 1 | | KHKPreislistenArtikel || TrackPrices = 1 | ||
|- | |- | ||
| KHKPreislisten || TrackKHKPreislisten = 1 | | KHKPreislisten || TrackKHKPreislisten = 1 | ||
|- | |- | ||
| KHKArtikel || TrackKHKArtikel = 1 | | KHKArtikel || TrackKHKArtikel = 1 | ||
|- | |- | ||
| KHKArtikelVarianten || TrackKHKArtikelVarianten = 1 | | KHKArtikelVarianten || TrackKHKArtikelVarianten = 1 | ||
|- | |- | ||
| KHKArtikelLagerbewegungen || TrackKHKArtikelLagerbewegungen = 1 | | KHKArtikelLagerbewegungen || TrackKHKArtikelLagerbewegungen = 1 | ||
|- | |- | ||
| KHKArtikelStueckliste || TrackKHKArtikelStueckliste = 1 | | KHKArtikelStueckliste || TrackKHKArtikelStueckliste = 1 | ||
|- | |- | ||
| HTKOmniAlternativeSKU || TrackHTKOmniAlternativeSKU = 1 | | HTKOmniAlternativeSKU || TrackHTKOmniAlternativeSKU = 1 | ||
|- | |- | ||
| oHTKSyncData || TrackOHTKSyncData = 1 | | oHTKSyncData || TrackOHTKSyncData = 1 | ||
|- | |- | ||
| oHTKSyncDataClient || TrackOHTKSyncDataClient = 1 | | oHTKSyncDataClient || TrackOHTKSyncDataClient = 1 | ||
|- | |- | ||
| HTKOmniArtikelAttribute || TrackAttributes = 1 | | HTKOmniArtikelAttribute || TrackAttributes = 1 | ||
|} | |} | ||
Einträge mit deaktiviertem Reason werden automatisch aus der Queue gelöscht. | Einträge mit deaktiviertem Reason werden automatisch aus der Queue gelöscht. | ||
| Zeile 179: | Zeile 171: | ||
* [[OmniSeller.ini Referenz]] | * [[OmniSeller.ini Referenz]] | ||
* [[OmniSeller Preislogik]] | * [[OmniSeller Preislogik]] | ||
[[Kategorie:OmniSeller]] | [[Kategorie:OmniSeller]] | ||
[[Kategorie:Upload-Service]] | [[Kategorie:Upload-Service]] | ||
[[Kategorie:Konfiguration]] | [[Kategorie:Konfiguration]] | ||