Hallo Christoph,
dass Ihr die nicht vorhandenen Positionen in eurem Prozess löscht ist natürlich etwas unglücklich. Normalerweise wird für diese Position eine neue Stornomeldung erstellt, in der Regel mit einem 8.x Status. Dadurch könnt Ihr für die Statusübermittlung zu beginn drei SearchOrders machen auf die Status 7.x, 8.x und 9.x. Aber das nur soviel zu der üblichen Vorgehensweise. :)
Was mir auf Anhieb einfällt was du machen könntest ist, du importierst ja auch die TB Aufträge über Synesty in Plenty, richtig. Beim Import könntest du eine Hilfspalte in die Kopfdaten schreiben in der du hintereinanderweg die Artikelpositionen Komma-separiert auflistest.
Bei der Statusübermittlung könntest du dir dann per Querverweis die Spalte holen und abgleichen ob noch alle Positionen vorhanden sind oder nicht. Für die fehlende Position erstellst du dann eine "CANCEL" Meldung.
Ich weiß, einfach ist was anderes, aber so könnte es theoretisch umsetzbar sein. :)
Viele Grüße,
Lukas
Hallo Christoph,
du bekommst die Prüfwerte an den Kopf indem du nach der OrderID im Mapper gruppierst. In der entsprechenden Spalte kannst du dann die Aggregatfunktion "Eindeutige Werte Auflisten".
Anschließend kannst du den AddUpdateMappingset Step nutzen um die ein HilfsMappingset zuerstellen. Key=OrderID,Value=Prüfwerte, also ungefähr so:
OrderID=Prüfwerte
101=9954,9915,9934
102=9931,9987
103=9935
Mit dem Mappingset kannst du die dann im Ordersspreadsheet, die Itempositionen an den Kopfpositionen mappen.
Hinwei: Du musst den Flow ausführen, damit das Mappingset geschrieben wird.
Viele Grüße,
Lukas
Hallo Christoph,
bei der Statusübermittlung kannst du dann wieder nach der OrderID gruppieren um alle Positionen auf einer Zeile mit Komma getrennt zu bekommen. Dann holst du dir den Prüfwert aus dem Datastore und verwendest unsere neue Funktion
${symmetricdifference(gruppiertePosition, Prüfwert)!}
Das Ergebnis sind die Positition die gelöscht sind. Danach nimmst du noch ein ColumnSplitToRows Step um für jeden Wert einen neue Zeile zu erzeugen.
Viele Grüße,
Lukas