====== Selektive Datenweiche ====== Beispiel einer zusätzlichen((oder auch parallelen)) Weiterleitung eingehender Nachrichten an eine anderes System mit Selektion nach TradingPartner GLN. Diese Variante kann z.Bsp. in Migrationsszenarien übergangsweise zum Einsatz kommen um eine neu aufzusetzendes System mit Nachrichten zu bedienen, welche sozusagen einen Pilotbetrieb mit ausgewählten Tradingpartnern ermöglichen. ===== Benötigte Komponenten ===== - [[prozessdefinition:variablendefinition:start|]] mit Namen z.Bsp."Datenweiche", vom Typ Text und an Systempartner bindbar. - diese Variable beim Systempartner mit der Liste der GLNs der Handelspartner welche berücksichtigt werden sollen instanziieren . - beliebiger [[kommunikation:kanal:start#ausgehende_kommunikationskanaele|Sendekanal]] - Job Objekt[[prozessdefinition:jobs:jobsteps:allgemein:messageselector|]] im Standard Inbound Job im Anschluss an die normale Verarbeitung. - im XPATH Ausdruck folgende Expression eintragen/SelectionBase/InputMessages[@MessageBoxName='from.Partner' and contains(GetSystemPartnerVariable('Datenweiche'), @PartnerGLN)]Diese wählt die eingehenden Nachrichten in der angegebenen Nachrichtenbox((Das Datenelement @MessageBoxName wird mit dem Nachrichtenkorbname verglichen, welcher die effektiv eingehenden Nachrichten enthält.)) aus, welche die GLN des Handelspartners in der Liste der GLNs haben und die in der Variablen Instanz "Datenweiche" beim Systempartner definiert sind. - Nur Nachrichten, deren Zustand kleiner ist als "Versandt (800)" berücksichtigen. - Job Objekt [[prozessdefinition:jobs:jobsteps:allgemein:delegatorjob|]] zum delegieren an den - Sende Job mit Job Objekt [[prozessdefinition:jobs:jobsteps:kommunikation:channelsender|]] der den unter 2. definierten Sendekanal verwendet und den Status der Nachricht auf [[kommunikation:nachrichtenkoerbe:taskstates|"Versandt (800)"]] stellt.