====== EntityAnalyzer ====== Der Job-Step **EntityAnalyzer** ist die wichtigste Komponente in der Prozessautomatisierung. Dieser analysiert mittels [[prozessdefinition:repositorien:start|]]-Definitionen die Inhalte eines Entities (Sender, Empfänger, Dokument, Datei, Mail, Attachment usw.) und erstellt hieraus die notwendigen **Interchange**- oder **Dokument**-Definitionen. Hierbei werden die Informationen des aktuell verwendeten [[prozessdefinition:repositorien:analysator:start|]] im Repository zu Grunde gelegt. ~~ GENERATED src="eBiss.ClassLib.Resources.JobSteps.EntityAnalyzer.de" changed="" ~~ ^Eigenschaften^^ ^Name^Beschreibung^ |**Typ**|Der Klassenname des Job-Steps| |**Name**|Der Name des Job-Steps wie er im Job Designer erscheinen soll| |**Beschreibung**|Eine optionale Erläuterung des Job-Steps| |**Nur Kopfdatenerkennung**|Stop analyse after interchange was analysed. Only interchange check and partner identification will be done, no documents will be created!| |**Sender und Empfänger vertauschen**|In some cases, sender and recipient recognition must be switched| |**Zuordnung des Partners**|Mögliche Einstellungen: | |**Repository**|Nur das angegeben Repository verwenden| |**Definierter Analysator**|Wenn das Repository ausgewählt ist, kann ein Analysator daraus ausgewählt werden. Dann wird nur dieser Analyzer verwendet. Namensänderungen des Repositorys und/oder des Analyzers sowie der Wechsel der Repository Eigenschaft werden nicht automatisch korrigiert und erfordern einer Anpassung!| |**Erweiterte Tasks**|Es wird ein Task erstellt, wenn der gefundene Partner nicht zu dem schon gesetztem Partner passend ist.| |**Analyze erzwingen**|Die Nachricht wird auf jeden Fall analysiert, auch wenn Sie schon analysiert wurde. Der Standardwert ist False| |**Spezielles Routing**|Wenn der gefundene Partner nicht die passend Vorlage besitzt, aber der Name der Partnervorlage (gesetzt über den Channel) in der Variable 'Pranke.Analyzer.AllowAssingFromTemplates' vorhanden ist, dann wird der Partner zugewiesen. Wird benötigt, wenn z.B. auf einem AS2 System, zwei Partnervorlage für denselben Handelspartner Nachrichten schicken. | Damit der //EntityAnalyzer-Jobstep// die Entities untersuchen kann, benötigt dieser die //Repository-Objekte (Recognizer, Analyzer, Entitytypes)//. Je nach Format des Entity (//Zeichenkette, Binärformat//) wird der betreffende //Recognizer// zugeordnet. Dieser liefert eine //RecognizerInstanz// entweder für Zeichenketten, oder für Binärformate zurück. Anhand der //RecognizerInstanz// werden innerhalb des //EntityAnalyzer-Jobsteps// alle zugehörigen //Analyzer-Objekte// des Recognizers durchsucht, bis der richtige gefunden und zugeordnet wird. Der Analyzer untersucht den Entity gemäß seines //Typs (Interchange, Dokument)//. Bei einem //Interchange// werden die zugehörigen Kommunikationspartner aus dem Entity identifiziert, der Entity wird in der Datenbank abgelegt. Bei einem //Dokument// wird dieses in der Datenbank angelegt. {{:images:sign_warning.png?nolink|}}**Hinweis:** [[prozessdefinition:repositorien:start#ablauf_beim_lesenerkennung_analyse|Ablauf bei der Nachrichtenanalyse]]\\ {{:images:sign_warning.png?nolink|}}**Hinweis:** Wird eine Nachricht vom Analyzer nicht erkannt, kann dies verschieden Ursachen haben. Im folgenden Kapitel werden die häufigen Ursachen behandelt.\\ ===== Häufige Fehlerursachen ===== * Es gibt für die aktuelle Nachrichten Richtung keine aktiven Erkennungskomponente. * Die Zeichenkodierung wird nicht erkannt. * Der Typ wird erkannt aber die Lesekomponente wirft einen Fehler. D.h. die Lesekomponente hat eine falsche od. keine automatische Zeichenkode Einstellung. * Die Dateimaske in der Erkennungskomponente passt nicht zum aktuellen Dateinamen. * Der MatchString im Recognizer wird nicht gefunden. * Der Erkennungstyp ist falsch eingestellt. * Die Priorität der Erkennungskomponente ist zu niedrig eingestellt. * Dem Analysator ist dieser Typ unbekannt. D.h. die Entitätstyp Zuordnung fehlt im Analysator. * Der Entitätstyp ist nicht im Repository bekannt. * Der Job-Step Analyzer ist eingeschränkt auf ein spezifisches Repositorium und der aktuelle Nachrichtentyp ist nicht Teil davon. ===== Folgende JobSteps werden i.d.R. mit dem EntityAnalyzer verbunden ===== * [[prozessdefinition:jobs:jobsteps:kommunikation:channelreceiver]] * [[prozessdefinition:jobs:jobsteps:kommunikation:channelsender]] * [[prozessdefinition:jobs:jobsteps:allgemein:delegatorjob]] * [[prozessdefinition:jobs:jobsteps:allgemein:EntitySelector]] * [[prozessdefinition:jobs:jobsteps:allgemein:MessageSelector]] * [[prozessdefinition:jobs:jobsteps:allgemein:TaskNotificatorEx]] * [[prozessdefinition:jobs:jobsteps:allgemein:ValueProviderUpdateJob]] * [[prozessdefinition:jobs:jobsteps:supplier:tradeitemmanagerfillcache]]