Die 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 EntityAnalyzer. Dabei werden verschieden komplexe Typen und Datenelemente zu verschiedenen Zeiten befüllt.
Der Zugriff auf die SelectionBase
kann im Prozess Kontext verwendet werden um mit dem MessageSelector Nachrichten nach spezifischen Filterkriterien per XPath Selektionen1) auszuwählen.
Die SelectionBase verzweigt in:
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 gehende2) Nachricht ein Document mit Entitätstyp „Edifact.Slsrpt.D96A“ enthält…
/SelectionBase/InputMessages/Documents/EntityType/@Name = "Edifact.Slsrpt.D96A"
Hinweis: Es ermöglicht z.Bsp. ein Alternatives Selektieren3) von Nachrichten ohne den sonst verwendeten EntitySelector.
Hinweis: Mit der Funktion GetMessageAsSelectionBase() können Nachrichten bzw. die XPath Selektionen in einem geeigneten Mapping debugged werden.
Hinweis: Im Managed File Transfer 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
Hinweis: Auf die SelectionBase kann in einem EntityIfCase nicht zugegriffen werden, da die EntityIfCase Objekte erst nach einem EntityLoader angewendet werden können und diese deshalb nur den Dokumentenkontext sehen.