Flow unterbrechen bei bestimmter Ausprägung in Child-Datastore

Hallo liebes Synesty-Forum,

ich habe das folgende Problem: Ich habe einen Parent- und einen Child-Datastore. Ich lese die Werte aus und schreib diese in ein eine Datei, dabei nutze ich den SearchDatastore auf dem Parent-Datastore und lese mir denn im TextHtmlEditor über row.children() die children und deren Werte, soweit so gut.
Jetzt möchte ich gern für bestimmte Parent-Child Kombinationen den Flow abbrechen bzw. diese Einträge überspringen und idealerweise eine Nachricht an den User der den Flow manuell ausführt geben. Beispiel: Ich habe Aufträge und Positionen und möchte eben die Aufträge herausfinden, die einen Artikel mit der Nummer 4711 haben

Folgendes hab ich probiert bzw. erdacht:

  1. Filter nach dem searchDatastore: Dort kann ich aber nicht auf die children des datastores filtern
  2. StopFlowIf: Dort kann ich kein <#liste> als freemark skript einfügen (der Step führt das nicht aus), um über die Children zu kommen
  3. Im TextHtmlEditor direkt: Das würde theoretisch gehen, aber dafür müsste ich den Aufbau durch mehrere ifs und list super kompliziert machen, was ich gern vermeiden würde

Und dann die alles entscheidende Frage: Wenn ich diese Datensätze identifiziert habe: Wie kann ich dann am besten eine Nachricht dem User geben bzw. das in irgendein Log schreiben?

Danke euch schon im Voraus, ihr seid eine super Community :slight_smile:
Viele Grüße
Max

Hallo @HeikeKrayenborg-MaxKienlee,

du könntest nach dem SearchDatastore einen Mapper hinzufügen und dir dort eine Hilfspalte erstellen, in der du dir erst einmal mit:

<#if (row.children()?? && row.children()?size > 0)>
<#list row.children() as c>
${c.get('orderitemid')!}<#sep>;
</#list>

alle ArtikelIDs Semikolon-separiert holst.
Danach kannst du in einem Filter folgenden Ausdruck verwenden um die Aufträge mit den bestimmten ArtikelIDs herauszufiltern:

!Hilfsspalte?split(';')?seq_contains('4711')

Dadurch bekommst du alle Aufträge, die den Artikel 4711 haben als negativen Output aus dem Filter.

Mit diesem Output kannst du dann entweder ein StopFlowIf definieren, dass wenn der negative Output Zeilen enthält, soll der Flow gestoppt werden oder du kannst damit eine Mail verschicken.

Viele Grüße
Lukas