eBiss 3

Hilfe & Dokumentation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Themen

prozessdefinition:jobs:jobsteps:allgemein:messageselector

MessageSelector

Der Jobstep MessageSelector selektiert Nachrichten, welche Eigenschaft gem. Funktionsargumenten angegeben sind1).

Name Bedeutung
DescriptionHier kann ggf. eine Beschreibung der konkreten Aufgabe des Jobsteps in diesem Job eingetragen werden.
ExpressionFunktion, deren Ergebnis wahr oder falsch zurückliefert. Alle Messages auf denen die Funktion zutrifft, werden aus der eingehenden Messagebox (Inbox, SelectionBase/InputMessages) selektiert.
Häufig wird die Message-Struktur(SelectionBase) benötigt um Bedingungen formulieren zu können.
NameName des MessageSelector Jobsteps. Hier sollte nach Möglichkeit ein aussagekräftiger Name gewählt werden.
XPath Aufrufe loggenWenn aktiviert, werden die vom „XPath Ausdruck“ ausgewerteten Werte bei aktivem Debug Log ausgegeben.

Die ausgehenden Konnektoren des MessageSelector haben unterschiedliche Effekte:

  • OnMessgeSelection gibt die ganze Selektion raus, wird also einmal bedient
  • OnMessage gibt die einzelne Message, wird also so oft bedient wie Anzahl Nachrichten in der Selektion sind.

Hinweis: siehe auch Auswertung bzw. Filterung von Nachrichten in Jobs

Hinweis: Sie können den Ausdruck mit der Mapping Funktion GetMessageAsSelectionBase im MapDebugger testen.

Beispiele:

  • Selektiere alle Messages aus dem Nachrichtenkorb To.Partner:
    //SelectionBase/OutputMessages[@MessageBoxName = 'To.Partner']
  • Selektiere alle Nachrichten, die kein Attachment haben.
    //SelectionBase/InputMessages[ count(Attachments) = 0]
  • Selektiere alle Eingangsnachrichten, die im Subject den Text 'desadv' enthalten.
    //SelectionBase/InputMessages[contains(@Subject,'desadv')]
  • Selektiere alle Ausgangsnachrichten, deren Dateiname Test.txt ist.
    //SelectionBase/OutputMessages[Attachments/@Filename = 'Test.txt']
  • Selektiere alle Eingangsnachrichten, deren Dokumenttyp Pricat ist.
    //SelectionBase/InputMessages[Documents/@DocType = 'PRICAT']
  • Selektiere alle Eingangsnachrichten, deren Dokument EntityType Desadv D96A ist.
    //SelectionBase/InputMessages[Match(Documents/EntityType/@Name, '.*Desadv.*D96A')]
  • Selektiere alle Eingangsnachrichten, deren EntryDate gleich 2007-01-29T17:50:00 ist.
    //SelectionBase/InputMessages[CompareDateTime(@EntryDate, '2007-01-29T17:50:00') > 0]
  • Selektiere alle Nachrichten mit zip Anhängen.
    //SelectionBase/InputMessages[contains(Attachments/@Filename, '.ZIP')]
  • Selektiere alle Nachrichten wo bei dem Handelspartner die Variable 'Test' gesetzt ist.
    //SelectionBase/InputMessages[IsTrue(GetTradingPartnerLocationVariable("Test", @PartnerGLN))]
  • Partner Variablen auswerten:
    /SelectionBase/InputMessages[GetTradingPartnerVariable('No.EDI', @PartnerGLN) != 'True' ]

Hinweis: Die wichtigste Unterscheidung ist der Pfad /SelectionBase/InputMessages und /SelectionBase/OutputMessages. Hierbei sind Nachrichten die innerhalb eines Jobs mit dem MessageCreator erzeugt werden im selben Job mit /SelectionBase/OutputMessages und alle an eine Job übergebenen Nachrichten mit /SelectionBase/InputMessages zu selektieren.

Hinweis: Alle Nachrichteneigenschaften2), die das Nachrichten Objekt beinhaltet, können innerhalb der Funktion verwendet werden. Eine Auflistung dieser Attribute erhalten Sie, wenn Sie mittels Map-Editor ein neues Mapping anlegen, und als Quellobjekt die eBiss.ClassLib.MessageSelector.Selectionbase3) auswählen.

Kaskadieren von Selektoren

Es ist möglich, die Messageselektoren kaskadiert anzuwenden. Hierbei wird noch eine zweite Selektionsstufe durch einen weiteren MessageSelector nachgeschaltet.
Die Nachrichten der ersten Selektion werden durch eine zweite Selektion noch einmal gefiltert.

Wichtig: Der kaskadierte MessageSelector (zweite Selektionsstufe) hat nun die /SelectionBase/SelectedMessages als MessageListen-Auswahl zur Verfügung.

Folgende JobSteps werden i.d.R. mit dem MessageSelector verbunden

1)
Zur Laufzeit aus dem internen Objekt ebiss.ClassLib.MessageSelector.SelectionBase
2)
Objekt-Attribute
prozessdefinition/jobs/jobsteps/allgemein/messageselector.txt · Zuletzt geändert: 2024/02/20 08:15 von 127.0.0.1