====== EntityTransformer ====== Der Job-Step EntityTransformer transformiert alle Entitäten vom Quellformat (im **EntitySelector** eingestellt) in ein gewähltes Zielformat. Hier werden die Entietäten (meistens Dokumente) in das Zielformat mit Hilfe von Mappingtabellen gemappt. ~~ GENERATED src="eBiss.ClassLib.Resources.JobSteps.EntityTransformer.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| |**Logausgabe aktivieren**|Wenn aktiv, werden innerhalb des Nachrichtenlogs erweiterte Ausgaben für diesen Jobstep angezeigt.| |**Selektionsstrategie**|Die Selektionsstrategie bestimmt, welches **Mapping** zur Anwendung kommt:\\ \\ \\**ByTargetType:** Bei dieser Einstellung wird ein Mapping gesucht, welches das aktuelle Dokument in den unter TargetEntityTypeName definierten Typen umwandeln kann.\\ \\ \\**ByFixedMapping:** transformiert das Dokument nach dem unter MappingName eingetragen Mapping.\\ \\ \\**ByPartnersPreference:** Es wird das Mapping aus den TypeSet des Handelspartners gesucht, wo die Kommunikationsrichtung und der Typ zu dem Dokument passen und falls definiert, der Zieltyp des Mappings zu dem TargetEntityTypeName passt. Wurde kein Mapping über den TypeSet gefunden, dann wird beim Template-Partner gesucht und falls dieses auch zu keinem Ergebnis führt, wird das unter MappingName hinterlegte Mapping verwendet.\\ \\ \\**BySystemPartnersPreference:** Analog zu **ByPartnersPreference** nur für den System-Partner.| |**Name des TargetType**|Dies Angabe ist bei der Selektionsstrategie ByTargetType pflicht und beschreibt das Mapping, dass für die Umwandlung des Dokumentes verwendet. Hierbei werden Mappings gesucht, dessen Target dem entsprechenden Typen entsprechen.| |**Name des Mappings**|Diese Angabe ist bei der Selektionsstrategie ByFixedMapping pflicht und beschreibt das Mapping, dass für die Umwandlung des Dokumentes verwendet wird. Zusätzlich ist es ein Fallback Mapping, falls über ByPartnersPreference kein Mapping gefunden werden kann.| |**Auslösen in einer Transaktion**|Diese Option sollte mit Vorsicht gewählt werden, z.B. nur dann, wenn nach dem EntityTransformer nur ein EntityMessageCreator folgt maximal noch ein EntityStateSetter. Den größten Vorteil erzielt diese Einstellung, wenn aus einem eingehenden Dokument im Mapping viele Dokumente getriggert werden. Dann erfolgt die Anlage der erstellten Nachrichten, Anhänge, Umschläge und Dokumente mit den Statusinformationen in einer Transaktion. Und die Inserts auf der DB können zu Blöcken (Bulk Inserts) zusammengefasst werden. .| {{:images:sign_warning.png?nolink|}}**Hinweis:** Der MappingTransformer wirft einen Task, wenn bei der gewählten Selektionsstrategie keine Mapping bestimmt werden kann. Dabei ist zu Berücksichtigen, dass die Selektion kaskadiert abgearbeitet wird. Für die Slektionsstrategien **ByPartnersPreference** und **BySystemPartnersPreference** werden immer zuerst die [[:partnerverwaltung:typset:start|TypeSets]] angewendet, und die passenden Mappings heraus gefiltert. Werden hier ein oder mehrere((Für den Fall das beim Partner mehrere [[:partnerverwaltung:typset:start|TypeSets]] mit gleichem Quelltyp angelegt sind.)) gefunden so wird das erste gewählt. Kann hier nichts gefunden werden wird im Transformer geschaut ob ein Zieltyp angegeben ist. Gibt es für den hier(optional) angegebenen Zieltyp und den eingehenden Quelltyp ein passendes Mapping wird der erste Treffer verwendet. Ist darüberhinaus ein fixes Mapping angegeben((Welches zum eingehend Quelltyp passen muss!.)) dann wird dieses als letzte Option verwendet. {{:images:sign_warning.png?nolink|}}**Hinweis:** Für die Verarbeitung von mehreren Entitäten innerhalb eines Mappings bietet eBiss den [[prozessdefinition:jobs:jobsteps:allgemein:MultiEntityTransformer]]. ===== Folgende JobSteps werden i.d.R. mit dem EntityTransformer verbunden ===== * [[prozessdefinition:jobs:jobsteps:allgemein:EventRouter]] * [[prozessdefinition:jobs:jobsteps:allgemein:EventRouteresultsetter]] * [[prozessdefinition:jobs:jobsteps:kommunikation:backend:backendobjecttransmitter]] * [[prozessdefinition:jobs:jobsteps:allgemein:EntityIfCase]] * [[prozessdefinition:jobs:jobsteps:allgemein:EntityMessageCreator]] * [[prozessdefinition:jobs:jobsteps:allgemein:EntityStatusSetter]] * [[prozessdefinition:jobs:jobsteps:allgemein:EntityTransformer]] * [[prozessdefinition:jobs:jobsteps:allgemein:ReportGenerator]] * [[prozessdefinition:jobs:jobsteps:kommunikation:backend:backendobjecttransmitterex]] * [[prozessdefinition:jobs:jobsteps:dbintegrator:DbObjectTransmitter]] * [[prozessdefinition:jobs:jobsteps:supplier:tradeitemselectordirectsql]] * [[prozessdefinition:jobs:jobsteps:supplier:tradeitemmanagerfillcache]] * [[prozessdefinition:jobs:jobsteps:allgemein:EntityObjectWriter]]