Bundle Bestand ermitteln

Hallo,
wir haben zwei Datastores „Keenberk-Bundle“ und „KeenberkArtikel_CurrentStock“.
Im Ersten stehen die Artikel die zu dem Bundle gehören mit ComponentVariantID und Menge.
Im Zweiten der Bestand der Artikel die zum Bundle gehören. Da ist jedes Lager eine Zeile.

Wie kann ich am Einfachsten jetzt den Bestand des Bundles in folgender Form errechnen?
Bundle A hat Artikel 1 und Artikel 2.
Artikel 1 Bestand: 3
Artikel 1 Bestand: 17
Bestand Bundle A: 3

Hallo @keenberk,

ich bin mir nicht 100% sicher ob ich die Frage komplett verstanden habe, aber trifft es folgende Frage in etwa?

Wie kann ich aus zwei Bestandsspalten den niedrigsten Wert ermitteln?

Falls ja:
Du kannst hier die Min-Funktion verwenden, die dir immer den niedrigsten Wert aus einer Liste aus Zahlen (in deinem Fall also die Bestandsspalten) ausgibt.

Anbei mal ein (hoffentlich) anschauliches Beispiel:
Beispiel-Mapping

Hier noch eine Auflistung aller „vorgefertigten“ Scripting Funktionen:
Scripting-Übersicht

Ich hoffe das hilft dir weiter.

Viele Grüße,
Benjamin

Hallo Benjamin,
ja, die Min Funktion klingt da auf jeden Fall passend.
Ich habe den Bundle Datastore jetzt so angepasst das in den Datensätzen der Bestand der Lager und der kummulierte Bestand eingetragen ist. Wie kann ich jetzt die Min Funktion auf zwei oder mehr Datensätze anwenden? Insgesamt sind da 3400 Datensätze drin.
Im Screenshot hab ich im Bundle Datastore mal ein Bundle rausgesucht um das zu verdeutlichen.

Hallo @keenberk,

ah ok, ggf. brauchst du die Min-Scriptfunktion auch gar nicht.

Losgelöst ob du das jetzt ggf. innerhalb eines bestehenden Flows ein- oder einen neuen baust, denke ich das du es in etwa so angehen kannst:

  1. SearchDatastore
  • Ruf die Daten aus dem gezeigten Datastore ab
  1. Mapper
  • Verknüpfe die Daten aus dem Datastore
  • Im Mapper kannst du dann nach der VariantID gruppieren. Handbucheintrag zu Gruppieren
  • In der Spalte Bestand_kummuliert kannst du danach bei der nun aufgetauchten Aggregatfunktion, „Kleinster Wert“ auswählen
    image

Damit hast du also pro Bundle eine Zeile und in der Spalte Bestand_kummuliert den niedrigsten Bestandswert aller enthaltenen Einzelartikel.


Wie gesagt weiß ich natürlich nicht in welchen Kontext du das ganze brauchst, aber hier noch ein paar Gedanken in den Raum geworfen (evtl. treffen Sie ja bei dir zu)

  • Benötigst du den oben ermittelten Bundle-Bestand nun an allen Einzelartikeln? (Die sind ja oben durch das gruppieren nicht mehr da)
    → In diesem Fall könntest du mit dem AddUpdateMappingset | Synesty Docs Step ein dynamisches Mappingset beschreiben in der dein oben ermittelter Bestand und die VariantID (als Key) stehen. Also in deinem Beispiel: 17091=2
    → Dieses MappingSet kannst du dann in jedem Flow benutzen um dir mittels der VariantID den Bundlebestand zu holen
    → Solltest du so einen Flow zum erstellen der Bundle Bestände bauen, kannst du nach dem SearchDatastore mittels eines Filters natürlich noch idealerweise alle Zeilen ohne ComponentVariantID (= alle Artikel die nicht in einem Bundle sind) rausschmeißen

Viele Grüße,
Benjamin

1 Like

Das klingt gut, das werde ich ausprobieren.
Vielen Dank für die Hilfe schonmal. :slight_smile:

1 Like