====== Eingangs Verteiler (InputDispatcher) ====== ===== Übersicht ===== Ein **InputDispatcher** Job übernimmt viele Aufgaben. Zuerst müssen alle Dokumente und Interchange-Dokumente aus den Entities extrahiert und aus Sicherheitsgründen im Originalzustand gespeichert werden. Weiterhin muss in der eBiss-Datenbank der Eingang der Dokumente vermerkt werden. Diese Aufgaben übernimmt der [[prozessdefinition:jobs:jobsteps:allgemein:EntityAnalyzer|EntityAnalyzer]] als erster Jobstep des Jobs\\ Der nächste Schritt besteht darin, die eingehenden Dokumente mittels [[prozessdefinition:jobs:jobsteps:allgemein:EntitySelector|EntitySelector]] nach ihrer Art zu unterscheiden und dementsprechende Verarbeitundsschritte durchzuführen.\\ {{images:jobsConfig_inputdispatcher.jpg}}\\ ===== PRICAT Dokumente ===== In der Regel wird zuerst eine Datenbasis für einen Partner in der eBiss-Datenbank angelegt. Die Informationen über die Artikel für die Datenbasis stammen aus einem PRICAT-Dokument\\ Zu diesem Zweck wurde in diesem Job ein [[prozessdefinition:jobs:jobsteps:allgemein:EntitySelector|EntitySelector]] (Selector to TradeItemDocuments) installiert, der PRICAT-Dokumente extrahiert.\\ Der [[prozessdefinition:jobs:jobsteps:allgemein:EntityLoader|EntityLoader]] lädt alle passenden Dokumente zu Weiterverarbeitung in den Hauptspeicher.\\ Damit die Artikel nun durch den [[prozessdefinition:jobs:jobsteps:retailer:tradeitemmanager|TradeItemManager]] in die eBiss-Datenbank geschrieben werden können, müssen sie erst in ein verarbeitbares Format konvertiert werden.\\ Der [[prozessdefinition:jobs:jobsteps:allgemein:EntityTransformer|EntityTransformer]] (Transform to TradeItemDokument) wendet hierzu die Regeln in den Mappingdokumenten an, welche in den Eigenschaften des [[prozessdefinition:jobs:jobsteps:allgemein:EntityTransformer|EntityTransformer]] angegeben sind, und konvertiert die Dokumente.\\ Der [[prozessdefinition:jobs:jobsteps:retailer:tradeitemmanager|TradeItemManager]] verarbeitet die konvertierten Dokumente weiter, extrahiert die Artikel und deren Eigenschaften und schreibt diese als Datenbasis in die **eBiss-Datenbank**.\\ Damit das Dokument nicht ein weiteres mal verarbeitet wird, ist es nötig, dem Dokument den Status **"processed"** zu vergeben. Für diesen Zweck wurde parallel zum [[prozessdefinition:jobs:jobsteps:retailer:tradeitemmanager|TradeItemManager]] ein [[prozessdefinition:jobs:jobsteps:allgemein:EntitySelector|EntityStatusSetter]] installiert.\\ {{images:jobsConfig_tradeitemdocs.jpg}}\\ ===== ORDRSP Dokumente ===== Dieses Job Beispiel soll auch **OrderResponse-** und **DespatchAdvice-Dokumente** zur Verarbeitung berücksichtigen. Der nächste Zweig im **InputDispatcher Job** verarbeitet alle **OrderResponse-Dokumente**. Diese sollen aus Dokumenten extrahiert werden und mit der Datenbasis, welche zuvor durch ein PRICAT-Dokument in der eBiss-Datenbank angelegt wurde, zur weiteren Verarbeitung abgeglichen (Bestandszahlen usw.) werden.\\ In der Regen geschieht die Weiterverarbeitung durch externe Systeme (Warenwirtschaften usw.). Die Auswahl aller OrderResponse-Dokumente erfolgt mit dem [[prozessdefinition:jobs:jobsteps:allgemein:EntitySelector|EntitySelector]] (Selector to Retail.OrderResonse). Die selektierten Entitäten werden durch den [[prozessdefinition:jobs:jobsteps:allgemein:EntityLoader|EntityLoader]] in den Speicher geladen. Der [[prozessdefinition:jobs:jobsteps:allgemein:EntityTransformer|EntityTransformer]] (Transform to Retail.OrderResponse) konvertiert diese mittels Regeln in den Mappingdokumenten, welche in den Eigenschaften des [[prozessdefinition:jobs:jobsteps:allgemein:EntityTransformer|EntityTransformer]] eingetragen sind, in das Format **Retail.OrderResponse-Dokument** zur Weiterverarbeitung.\\ Durch die Konvertierung wird ein späterer Abgleich der im Dokument enthaltenen Positionen mit der eBiss-Datenbank und das Verbuchen des Dokuments in der **eBiss-Datenbank**, ermöglicht.\\ Diese Aufgaben werden in einem anderen Job abgearbeitet. Der [[prozessdefinition:jobs:jobsteps:allgemein:EventRouter|EventRouter]] (Route to Import.OrderResponse) leitet die Dokumente zu diesem Job (Import.OrderResponse) weiter.\\ {{images:jobsConfig_retailorderresponse.jpg}}\\ ===== DESADV Dokumente ===== Diese Abzweigung ist analog der zuvor beschriebenen und führt folglich die gleichen Verarbeitungsschritte durch, jedoch extrahiert und verarbeitet dieser statt der OrderResponse- die DespatchAdvice-Dokumente.\\ {{images:jobsConfig_retaildispatchadvice.jpg}}