
Sie können Messages unterschiedlicher Interfaces sammeln und bündeln. Dazu definieren Sie die entsprechenden Empfangsschritte in einem parallelen Abschnitt.
Das Sammeln können Sie auf unterschiedliche Arten definieren. Die nachfolgende Tabelle zeigt die verschiedene Möglichkeiten. Die Beispiele finden Sie im Enterprise Services Repository unter SAP Basis → SAP Basis <release_nummer> im Namensraum http://sap.com/xi/XI/System/Patterns
| Sammeln | Beschreibung | Beispiel |
|---|---|---|
|
Alle Messages sammeln |
Sammelt alle Messages. |
BpmPatternCollectMultiIf |
|
Nur bestimmte Messages sammeln |
Beendet das Sammeln, wenn eine angegebene Bedingung erfüllt ist. |
BpmPatternCollectMultiIfCondition |
Die Beispielprozesse empfangen drei Messages von unterschiedlichen Interfaces in den Containerelementen FirstMessage , SecondMessage und ThirdMessage . Dazu sind innerhalb eines parallelen Abschnitts drei Empfangsschritte definiert. Jeder der Empfangsschritte kann den Prozess starten. Daher ist für jeden der Empfangsschritte das Kennzeichen Prozessstart gesetzt. Die erste empfangene Message startet den Prozess und aktiviert die Korrelation Correlation . Jeder der Empfangsschritte verwendet diese Korrelation. Nach dem Empfang der Messages bündelt ein Transformationsschritt die Messages und erzeugt daraus eine Message in Containerelement NewMessage . Diese wird vom nachfolgenden Sendeschritt gesendet.
Die Prozesse verwenden drei der abstrakten Interfaces als Inbound-Interface und eins als Outbound-Interface (weitere Informationen: Prozesssignatur ).
Alle Messages sammeln
Um alle Messages zu sammeln, legen Sie fest, dass der parallele Abschnitt beendet ist, wenn alle Zweige durchlaufen sind.
Folgende Grafik zeigt die Definition des Prozesses:
Messages sammeln mit Bedingung
Sie können auch festlegen, dass das Sammeln der Messages beendet wird, wenn eine bestimmte Bedingung erfüllt ist. Dazu definieren Sie für den parallelen Abschnitt eine entsprechende Endebedingung. In folgendem Beispiel ist der parallele Abschnitt beendet, wenn eine der folgenden Bedingungen wahr ergibt:
EmptyFirstEmptySecond
Das System prüft die Bedingungen in der angegebenen Reihenfolge.
Folgende Grafik zeigt die Definition des Prozesses:
Weitere Informationen:
Korrelation: Zuordnung Messages zu Prozessinstanzen definieren