Zum Inhalt springen

OmniSeller:OmniSellerUpload ChangeTracking: Unterschied zwischen den Versionen

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"> […“
 
Keine Bearbeitungszusammenfassung
 
Zeile 5: Zeile 5:
== Grundkonfiguration ==
== Grundkonfiguration ==


Alle Einstellungen erfolgen in der <code>OmniSeller.ini</code> in der Sektion <code>[ChangeTracking]</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
|}
|}


Zeile 52: Zeile 52:
* 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.


Zeile 63: Zeile 61:
TrackPrices = 1
TrackPrices = 1
</source>
</source>
=== TrackKHKPreislisten (Preislisten-Gültigkeit) ===
=== TrackKHKPreislisten (Preislisten-Gültigkeit) ===


Zeile 70: Zeile 67:
* 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.


Zeile 77: Zeile 73:
* Ä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) ===


Zeile 92: Zeile 85:
* 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 91:
TrackPriceListValidity = 1
TrackPriceListValidity = 1
</source>
</source>
== Empfohlene Konfiguration für Preise ==
== Empfohlene Konfiguration für Preise ==


Zeile 114: Zeile 105:
TrackPriceListValidity = 1  ; Preislisten die über Nacht gültig werden
TrackPriceListValidity = 1  ; Preislisten die über Nacht gültig werden
</source>
</source>
== Debugging ==
== Debugging ==


Zeile 150: Zeile 140:
{| 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 168:
* [[OmniSeller.ini Referenz]]
* [[OmniSeller.ini Referenz]]
* [[OmniSeller Preislogik]]
* [[OmniSeller Preislogik]]
[[Kategorie:OmniSeller]]
[[Kategorie:OmniSeller]]
[[Kategorie:Upload-Service]]
[[Kategorie:Upload-Service]]
[[Kategorie:Konfiguration]]
[[Kategorie:Konfiguration]]