====== 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:
- Standard: Partner nicht überschrieben, er wird nur gesetzt, wenn nicht vorhanden
- Erweitert: Partner ersetzen, wenn die Kommunikationsadresse dieselbe ist.
- Interchange Partner: Partner aus dem Interchange verwenden
- Vorlage: Vorhandenen Partner ändern, wenn der Template Partner übereinstimmt
- Vorlage (erweitert): Verhalten aus Vorlage und Erweitert
- Überschreiben: ein vorhandener Partner wird überschrieben
|
|**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|
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]]