Hallo @abc_design,
ich erkenne gerade den Grund nicht, weshalb du alle Positionen einer Bestellung als löschen markierst um dann wieder nur die vorhandenen auf einen anderen Status zu setzen.
Ich bin mir gerade nicht sicher wie stornierte Positionen aus SW kommen.
Ich kann mir zwei Lösungsansätze vorstellen:
-
Ansatz, wenn die stornierten Positionen ausgegeben werden:
Anhand des Wertes, was die Stornierung signalisiert filtern und anschließend kannst du einen DatastoreWriter auf die Positionen mit dem identifier machen. Dabei muss nichts geändert werden, Hauptsache der identifier ist gesetzt. Im Prinzip so, wie du es jetzt schon machst. Dann eben in den Optionen noch PROCESSED_MARK_DELETE einstellen. -
Ansatz, wenn die Stornierten Positionen nicht mehr ausgeben werden
Aufträge mit Positionen abrufen und diese in den Positionen Datastore schreiben, dabei reicht es wieder, dass zumindest der identifier gesetzt ist. Anschließend kannst du aus dem Datastore den Output „untouchedRecords“ verwenden, um mit einen erneuten DatastoreWriter auf die Positionen, die nicht mehr vorhandenen Positionen zu markieren.
Um die die „untouchedRecords“ verwenden zu können, musst du diese Option auch in den „erweiterten Einstellungen“ aktivieren.
Flow: Wie finde ich Datensätze, die gestern importiert wurden, aber heute nicht mehr mit mitkommen? (Delta)
Viele Grüße
Lukas