Inhaltsverzeichnis

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:

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:

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