====== EntityIfCase ======
Der Jobstep **EntityIfCase** ist ein [[wpde>Boolesche_Variable|boolescher]] Schalter und wertet die unter der Eigenschaft **Expression** hinterlegte [[transformation:mappings:funktionen:start|Mappingfunktion]] aus. Ist das Ergebnis **wahr**, werden die, mit **OnTrue** verbundenen, Jobsteps ausgeführt. Ist das Funktionsergebnis **falsch**, werden die, mit **OnFalse** verbundenen, Jobsteps ausgeführt.
~~ GENERATED src="eBiss.ClassLib.Resources.JobSteps.EntityIfCase.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|
|**XPath Ausdruck**|Hier können XPath Funktionen angegeben werden, deren Ergebnis wahr oder falsch zurückliefert.\\\\Ergibt deren Ergebnis **wahr**, werden die Jobsteps, welche mit **OnTrue** verbunden sind, ausgeführt.\\\\Ist das Funktionsergebnis **falsch**, werden die Jobsteps, welche mit **OnFalse** verbunden sind, ausgeführt.|
==== Beispiel: ====
* **[[kommunikation:nachrichten:start]] Inhalt** auswerten://@Funktion='10' or //@Funktion='9010'
* Entitäten vom Typ INVOIC deren Sender GLN in der EXCEPTION Variableninstanz beim Systempartner hinterlegt ist und die keine Positionen haben.(//INVOIC/UNB/DG_S002/@DE_0004 = GetSystemPartnerVariable('EXCEPTION')) and (count(//INVOIC/SG_25) = 0)
* boolesche Prüfung ob das Dokument den Selektionskriterien entsprichtboolean(//UNH/DG_S009[@DE_0052 = "D" and @DE_0054 = "96A"])
* Überprüfen einer Frame Variable, z.B. gesetzt im Mapping mit "SetTargetFrameVariable('IsSpecialCase', 'True')": IsTrue(GetFrameVariable('IsSpecialCase'))
{{:images:sign_warning.png?nolink|}}**Hinweis:** Der Eingang von diesem Job-Step sind Dokumente (EntityObjects), die bereits durch den [[prozessdefinition:jobs:jobsteps:allgemein:entityloader|Loader]] gegangen sind. Daher wird der XPATH Ausdruck direkt auf die Nachrichtenstruktur angewendet.
{{:images:sign_warning.png?nolink|}}**Hinweis:** siehe auch [[kommunikation:nachrichten:start#auswertung_bzw_filterung_von_nachrichten_in_jobs|Auswertung bzw. Filterung von Nachrichten in Jobs]]
===== Folgende JobSteps werden i.d.R. mit dem EntityIfCase verbunden =====
* [[prozessdefinition:jobs:jobsteps:allgemein:EventRouter]]
* [[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:allgemein:ReportMessageCreator]]
* [[prozessdefinition:jobs:jobsteps:supplier:tradeitemselectordirectsql]]