eBiss 3

Hilfe & Dokumentation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


prozessdefinition:jobs:jobsteps:supplier:deprecated:tradeitemmanager

TradeItemManager

Verbucht übergebene TradeItems im Articlepool.

Name Bedeutung
AddEANs :True oder False, bei nicht hinterlegter EAN, die übergeben EAN zum anlegen verwenden wenn auf True gesetzt.
AutoCreateLocations :True oder False, bei nicht hinterlegter Location, die übergeben Location zum anlegen verwenden wenn auf True gesetzt.
DeleteMethod :Methode die zum Löschen von TradeItmes, aus dem Articlepool verwendet werden soll, nach Zeitraum z.B. für alle TradeItems die älter als 3 Monate sind etc.
Description :Hier kann ggf. eine Beschreibung der konkreten Aufgabe des Jobsteps in diesem Job eingetragen werden.
FieldHanlding :Override oder Merge, bei Override werden bereits befüllte Felder überschrieben und bei Merge beide Werte (alt und neu) beibehalten.
Name :Name des SalesReportItemManagers. Hier sollte nach Möglichkeit ein aussagekräftiger Name gewählt werden.
OnlyBookLanguageTextByEAN :True oder False, bei True wird nur der LangueText zur EAN verbucht.
OnlyBookPricelistpriceByEAN :True oder False, bei True wird nur der PriceListPrice zur EAN verbucht.
OverrideArticleNumberByEAN :True oder False, bei True wird bei gleicher EAN aber unterschiedlicher ArtikelNummer die alter ArtikelNummer mit einer neuen überspeichert.
OverridePrimaryArticleIds :True oder False, standardmäßig False, falls ein neues Dokument eingelesen wird, wird eine Fehlermeldung erzeut, sobald eine EAN bereits für einen anderen Arikel vergeben wurde. True, nur bei Ausnahmefällen, sollte gut überlegt sein, da die Fehlermeldung bei gleicher EAN mit abweichenden Artikel untedrückt wird
PartnerToBook :Angabe für welchen Partner, das TradeItem eignebucht werden soll.



Supplier.TradeItemManager / Supplier.TradeItemServices

Aufgabe / Funktion

Der Supplier.TradeItemManager verbucht Artikel mit Hilfe der Supplier.TradeItemSevices-Klasse in die Article- und ArticleDetail-Tabellen der eBiss-Datenbank. Die Article-Tabelle hat über einen Fremdschlüssel (Article_Oid) eine Relationale 1:N-Verbindung mit der ArticleDetail-Tabelle. Den eigentlichen Verbuchungs-Prozess verrichtet die Supplier.TradeItemServices-Klasse.

Supplier.TradeItemServices

Kurzbeschreibun der Funktionsweise

1) TradeItemPulk-Bildung

Eingehender Artikelkatalog (Document-Object tradeItemDoc)1) wird dem Supplier.TradeItemServices im Konstruktor geliefert, daraus werden kleine Artikel-Pulks (Batches) in ArrayLists zusammengestellt.

2) Load Cache (Caches beladen)
Es werden drei HashTabellen 2) gebildet:

  • ArtikelHash (Key ist die Artikelnummer, Value ist das Article-Objekt)
  • EanHash (Key ist die EAN3), Value ist die EAN)
  • ArticleDetailHash (speichert alle Articledetails, der Key setzt sich aus der Kombination Artikelnummer_Tab_Farbe_Tab_Größe zusammen, Value ist das ArticleDetail-Objekt)

Der ArtikelHash und der EanHash werden Key-Seitig mit den Informationen aus dem Pulk des Artikelkatalogs befüllt. Danach erfolgt mit diesen Informationen eine Datenbankabfrage, welche alle bereits in der Datenbank gespeicherten ArticleDetails zu den im Pulk vorhandenen Artikel zurückgeliefert und falls nicht vorhanden, in die drei Hash-Tabellen einträgt.

3) BookMode-Check (Status des betreffenden ArticleDetails ermitteln)

Der BookMode wird aus den Informationen im EanHash und ArticleDetailHash ermittelt.

Folgende BookModes werden vergeben:

  • Add: ArticleDetail ist nicht im ArticleDetailHash vorhanden, =⇒ Das ArticleDetail wird in der Datenbank angelegt.
  • Update: Das ArticleDetail ist imArticleDetailHash vorhanden und es hat sich etwas (außer Artikelnummer, Farbe, Preis) geändert. =⇒ betroffene Felder des ArticleDetails werden geändert.
  • Delete: Das ArticleDetail ist im ArticleDetailHash vorhanden und die Positionsaktion des ArticleDetails im Artikelkatalog steht auf löschen, =⇒ Posaction des ArticleDetails in der Datenbank wird auf gelöscht gesetzt.
  • Ignore: Das ArticleDetail ist im ArticleDetailHash vorhanden (wurde anhand der Kombination Artikelnummer_Farbe_Größe ermittelt) und die EAN im ArtikelKatalog ist anders, =⇒ es wird nichts in der Datenbank verbucht und Ignore wird ins Log geschrieben.
  • Deny: ArticleDetail ist nicht im ArticleDetailHash vorhanden, aber dazu steht im EanHash eine EAN, =⇒ Das Verbuchen in der Datenbank wird verweigert (zwei ArticleDetails mit den gleichen Ausprägungen aber unterschieldliche EAN's) =⇒Deny-Eintrag in die LogDatei.
  • DoubleArticleDetail: Das ArticleDetail ist im ArticleDetailHash vorhanden aber die EAN ist eine andere als die der Artikel-Position im Artikel-Katalog, =⇒ (zwei ArticleDetails mit den gleichen Ausprägungen aber unterschiedliche EAN's) =⇒DoubleArticleDetail-Eintrag in die LogDatei.

4) Verbuchungsprozess

Der Verbuchungsprozess verläuft anahand der Ergebnisse und des daraus resultierenden BookModes ab, d.h. es wird entweder ein neues ArticleDetail in der Datenbank angelegt, ist dessen Artikel nicht im ArticleHash vorhanden, wird auch ein neuer Artikel in der Article-Tabelle eingetragen, oder es werden Felder eines ArticleDetails in der Datenbank aktualisiert, oder das Verbuchen wird verweigert. Bei allen Löschvorgängen wird nur die Positionsaktion auf gelöscht gesetzt, es werden keine ArticleDetails und Artikel aus der Datenbank gelöscht. Bei allen Änderungen eines ArticleDetails und Artikel wird die ModificationTime eingetragen.

2)
Dictionary-Objekte
prozessdefinition/jobs/jobsteps/supplier/deprecated/tradeitemmanager.txt · Zuletzt geändert: 2024/02/20 08:15 von 127.0.0.1