eBiss 3

Hilfe & Dokumentation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Themen

howtos:selectionbase

SelectionBase (Was ist das?)

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:

  1. /SelectionBase/InputMessages
  2. /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 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.

1)
Quasi analog wie in den Mappings!
2)
InputMessages
3)
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 EntitySelector Mechanismus nicht angewendet werden.
howtos/selectionbase.txt · Zuletzt geändert: 2024/02/20 08:15 von 127.0.0.1