====== SelectionBase (Was ist das?)======
Die [[kommunikation:nachrichten:selectionbase|SelectionBase]] ist eine "Super"-Klasse die eBiss verwendet um alle Details einer Nachricht im Speicher zu halten. Teile diese Informationen werden für eine eingehende Nachricht erstmalig beim Empfangskanal oder BackendobjectReceiver ermittlet. Dann später bei Anwendung des [[prozessdefinition:jobs:jobsteps:allgemein:entityanalyzer|]]. Dabei werden verschieden komplexe Typen und Datenelemente zu verschiedenen Zeiten befüllt.
Der Zugriff auf die [[kommunikation:nachrichten:selectionbase|SelectionBase]]
kann im Prozess Kontext verwendet werden um mit dem [[prozessdefinition:jobs:beispiele:messageselector|MessageSelector]] Nachrichten nach spezifischen Filterkriterien per [[wp>XPath]] Selektionen((Quasi analog wie in den [[transformation:mappings:start|]]!)) auszuwählen.\\
Die [[kommunikation:nachrichten:selectionbase|SelectionBase]] verzweigt in:
- /SelectionBase/InputMessages
- /SelectionBase/OutputMessages
Dabei sind Nachrichtendetails der **gegen einen Job geworfenen Nachrichten** im **/SelectionBase/InputMessages** Pfad, während **Nachrichten welche innerhalb eines Jobs erzeugt werden** im Pfad **/SelectionBase/OutputMessages** instanziiert.\\
**Beispiel:** boolesche Prüfung ob die an den Job gehende((InputMessages)) Nachricht ein Document mit Entitätstyp "Edifact.Slsrpt.D96A" enthält...
/SelectionBase/InputMessages/Documents/EntityType/@Name = "Edifact.Slsrpt.D96A"
{{:images:sign_warning.png?nolink|}}**Hinweis:** Es ermöglicht z.Bsp. ein [[howtos:alternative_zum_entityselector|Alternatives Selektieren]]((bei Managed File Transfer Aufgaben brauchen wir i.d.R. keine Typdefinitionen und dazugehörige Repositorien. Deswegen kann eine selektive Nachrichtenverarbeitung mit dem sonst üblichen [[prozessdefinition:jobs:jobsteps:allgemein:entityselector|]] Mechanismus nicht angewendet werden.)) von Nachrichten ohne den sonst verwendeten [[prozessdefinition:jobs:jobsteps:allgemein:entityselector|]].
{{:images:sign_warning.png?nolink|}}**Hinweis:** Mit der Funktion [[transformation:mappings:funktionen:allgemein:getmessageasselectionbase|GetMessageAsSelectionBase()]] können Nachrichten bzw. die [[wp>XPath]] Selektionen in einem geeigneten Mapping debugged werden.
{{:images:sign_warning.png?nolink|}}**Hinweis:** Im [[howtos:mft|]] Kontext kann die SelectionBase auch auf Dateiinformationen angewendet werden welche von einem Empfangskanal zur Nachricht ermittelt wurde.
Die Dateiinformationen werden im Pfad /SelectionBase/InputMessages/Attachments
hinterlegt und deshalb kann z.Bsp. der Filename ausgewertet werden mit:
/SelectionBase/InputMessages/Attachments/@Filename
{{:images:sign_warning.png?nolink|}}**Hinweis:** Auf die [[kommunikation:nachrichten:selectionbase|SelectionBase]] kann in einem [[prozessdefinition:jobs:jobsteps:allgemein:entityifcase|]] nicht zugegriffen werden, da die [[prozessdefinition:jobs:jobsteps:allgemein:entityifcase|]] Objekte erst nach einem [[prozessdefinition:jobs:jobsteps:allgemein:entityloader|]] angewendet werden können und diese deshalb nur den Dokumentenkontext sehen.