Bitergo Logo
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

Grundlagen – Mengen und Verpackungen

Maße und Einheiten, Mengen und Verpackungen

Die BaseApps verwalten Maße (Measure) und Mengen/Verpackungen (Packaging). Diese sind getrennt von einander zu sehen. Die offensichtliche Gemeinsamkeit von Maßen und Packungen ist die Angabe einer Menge (Value) und einer Einheit für die Menge (Unit). Dies ist allerdings auch die einzige Gemeinsamkeit:

Mengen_und_Verpackungen_01

Auch wenn in vielen Bereichen entsprechende Mengenangaben mit Einheiten anzutreffen sind, ist das Verhalten und insbesondere der Ursprung der Einheiten unterschiedlich.

Measure

Quantity

  • Maße sind immer Einheiten-bezogen. Ein Maß besitzt jeweils einen Satz von möglichen Einheiten, z.B. mm, cm, m, km oder mg, g, kg, t.

  • Maße orientieren sich an physikalischen Einheiten und sind unabhängig von einer Stammdatenpflege.

  • Beispiele für Maße in Bitergo WMS: Länge, Fläche, Volumen, Gewicht, Währung, Winkel, Geokoordinate, Geschwindigkeit, Beschleunigung, Frequenz, Prozent.

 

  • Mengen von Verpackungen sind immer Stückzahlen der jeweiligen Verpackung. Verpackungen besitzen wiederum Abmessungen und ein Gewicht (jeweils Maße).

  • Verpackungen orientieren sich konkret an den jeweiligen Artikeln. Zu jedem Artikel kann ein Satz von Verpackungen als Stammdaten hinterlegt werden

  • Beispiele für Verpackungen:  1,5l-Flasche,  6x1,5l-Pack, Umkarton, Originalkarton

Maße (Measure)

Innerhalb eines Maßes ist der Zahlenwert mit seiner Einheit (Unit) ein zentraler Bestandteil und wird als Schlüsselinformation gepflegt. Das Measure-Modell der logistics mall sieht eine grundsätzliche Typisierung der Maße vor. Für die mögliche Umrechnung von Maßen zwischen den verschiedenen Einheiten eines Typs (Länge, Fläche, Volumen, Gewicht, ...) muss festgelegt werden, wie die Einheiten ineinander umgerechnet werden können. Deshalb erhält das Maße-Modell pro Typ eine Auflistung der möglichen Einheiten und pro Einheit einen Umrechnungsfaktor.

Mengen_und_Verpackungen_02

Die Darstellung der Zahlen ist lokalisiert und auch die Maßeinheiten müssen übersetzbar sein. Dies gilt nur z.T. für die SI-Maße, da sie international genormt sind. Aber andere Maßeinheiten wie "Zählbare Mengen" oder "Verhältnisse" haben übersetzbare Maßeinheiten. Pro Maßeinheit ist ein Default-Scale (Anzahl Nachkommastellen) hinterlegt, der für die Anzeige verwendet wird, falls keine Informationen von der gewählten Genauigkeit durch den Benutzer vorliegen. Erfasste Zahlenwerte behalten ihre ursprüngliche Genauigkeit (Anzahl Nachkommastellen) und Maßeinheit.

Interner Aufbau eines Measure

Alle Maße (Measure) werden in der Datenbank immer mit Wert (value), Einheit (Unit) und Typ (Type: Länge, Fläche, Volumen,...) abgespeichert. Zusätzlich muss die Skalierung/Genauigkeit (scale, precision), mit der der Wert z.B. für die Anzeige zurückgeliefert werden soll, gespeichert werden können. Da der Wert als BigDecimal (Java) modelliert ist, ist eine scale implizit hinterlegbar.

Außerdem wird der Wert nochmal umgerechnet in die Basis-Einheit, die Basis-Einheit selbst und der dafür zu verwendende scale (keine Rundung - falls möglich) gespeichert. Damit sind Werte gleichen Typs direkt vergleichbar (auch in der Datenbank).

Mengen_und_Verpackungen_03

Beim Speichern werden die BigDecimals mit einer Genauigkeit (precision) und einer Anzahl Nachkommastellen (scale) hinterlegt. Dies wird global bei der Klasse Measure annotiert (z.Zt. PRECISION = 64, SCALE = 32). Da die vom Benutzer gewählte Anzahl Nachkommastellen damit verloren geht, wird die Benutzer-Scale nochmals getrennt gespeichert.

Vergleichen von zwei Measure-Werten

Measure erfüllt die Anforderungen für einen beliebigen Vergleich. Eine (paarweise) Sortierung wird dabei wie folgt vorgenommen:

  • Bei gleichen Typen werden die Basis-Werte verglichen 
    Die Genauigkeit für den Vergleich wird nicht mit der maximal möglichen Genauigkeit durchgeführt, sondern mit einem COMPARABLE_SCALE, der kleiner als der Scale in der Datenbank ist.
  • Sind die Typen nicht gleich, wird eine alphabetische Sortierung über den (englischen) Typ-String verwendet. Ein Measure mit Typ "area" ist also größer als ein Measure mit Typ "weight". So wird sichergestellt, dass in einer Sortierung die Measures immer nach Typ gruppiert und innerhalb vergleichbarer Werte eine absteigende Sortierung einhält.

Ein Sonderfall für das Vergleichen von Measures ist die Behandlung von NULL-Werten. Ein Measure kann ohne die Angabe eines Zahlenwerts existieren. Soll ein solches Measure mit einer anderen Measure verglichen werden, so wird für NULL als Zahlenwert ein Wert angenommen, der niedriger als jeder andere Zahlenwert ist ("value gleich minus unendlich").

Arithmetische Operationen auf Measure-Entities

Measures können mit Hilfe von arithmetischen Operationen miteinander verrechnet werden. Dazu werden beide, an der Berechnung beteiligte, Measures, ähnlich wie bei einem Vergleich, auf die Basis-Einheit ihres Typs heruntergerechnet und dann miteinander verrechnet. Measures unterschiedlicher Typen können nur in ausgewählten Fällen verrechnet werden ("10km plus 3 kg" ist undefiniert). 

Das Ergebnis einer arithmetischen Operation entspricht folgender Liste:

  • Addition: Eine Measure + eine Measure = eine Measure
  • Subtraktion: Eine Measure - eine Measure = eine Measure
  • Multiplikation: Eine Measure * ein Skalar = eine Measure. 
  • Division: Eine Measure / ein Skalar = eine Measure. 

Das Ergebnis erhält dabei folgende Form:

Ist der Typ beider Measures für eine Addition oder Subtraktion gleich, z.B. beides Längen oder beides Gewichte, so wird im Measure eine Berechnung auf Grundlage der intern gespeicherten Werte in der Basis-Einheit vorgenommen, d.h. unterschiedliche Einheiten sind entsprechend berücksichtigt. Im Ergebnis-Measure der Berechnung wird der ermittelte Wert umgerechnet auf die Einheit des ersten Summanden, bzw. des Minuenden.

Mengen/Verpackungen

Alle Mengen/Verpackungen haben eine Basismengeneinheit (z.B. 1 Stück oder 1 Meter). Alle Verpackungen werden in der Datenbank (Repo) immer mit einer Anzahl bezogen auf die Basismengeneinheit gespeichert. Sie haben außerdem folgende Attribute:

  • Einheit der Verpackung (Unit)
    zur eindeutigen Bezeichnung der Verpackung und Verwendung als Einheit für Stückzahlen dieser Verpackung

  • Description und Note
    für die Beschreibung der Verpackung
  • Abmessungen und Gewicht (Maße, s.o.)
    kennzeichnen die Verpackung physikalisch. Gewicht sollte immer das Gewicht der Verpackung - also Tara - sein.
  • Eine Menge von Kapazitäten
    zur Festlegung wieviel (Stückzahl) einer bestimmten anderen Verpackungs-Einheit in diese Verpackungs-Einheit passen.

 

Mengen_und_Verpackungen_04

Damit legt der Artikelstamm (ItemMaster) im hohen Umfang das Verhalten der Bestandsmengen fest:

  • Basiseinheit bestimmt die Grundeinheit aller Bestandsmengen. Dazu gehört die Standarddarstellung (Anzahl Nachkommastellen).
  • Typ der Basiseinheit legt das Verhalten der Bestandsmengen fest. Typisch sind der Typ "zählbar", aber auch viele physikalsiche Größen sind möglich. Ein Sonderfall ist der Typ "Verpackung". Damit werden nur Bestände in Form von Verpackungen ermöglicht.
  • Liste der möglichen Verpackungen kann kombiniert werden mit allen möglichen Typen der Basiseinheit. In den Verpackungen werden die Umrechnung zur Basiseinheit immer in der Basiseinheit eingegeben. Sonderfall Typ "Verpackung" hat als Basiseineit fest "Stk" eingestellt. 

Verwaltung von Beständen

Ein Artikel im Lager wird über eine Lagereinheit und dem damit verknüpften Artikeln abgebildet. D.h. nur Artikel die von einer Lagereinheit referenziert werden, sind bestandsrelevant. Die Menge des Artikels wird im Feld Menge der Lagereinheit gepflegt. Sie bezieht sich dabei immer auf die Basismengeneinheit (angegeben im Artikelstamm). Die Businessschicht stellt sicher, dass die Menge immer bezogen auf die Basismengeneinheit gespeichert wird. 

Der Artikel wird auch in anderen Kontexten verwendet, z.B, als Referenz auf einen Bestellartikel in der Bestellung. Diese sind nicht bestandsrelavant. Nur Artikel die von einer Lagereinheit referenziert werden, sind bestandsrelevant.

Verpackungen zum Artikel

Verpackungen sind zentral an den Artikelstämmen definiert. Alle Verpackungen, die überhaupt zum Artikel möglich sind, sollten hier definiert werden:

Mengen_und_Verpackungen_05

Spezialisiert werden im Artikelstamm zusätzlich noch die Basismengeneinheit (BMU) und die Verkaufs- und Lagerverpackung festgelegt. Der Artikel selber referenziert auf 0..n von den möglichen Verpackungen des Artikelstamms. Dies ist nicht ausreichend! Insbesondere da der Artikel über die Lagereinheit wiederum der zentrale Bestandteil der Transporteinheit ist, muss der Artikel keine oder genau eine Verpackung besitzen. Nur dann kann man wissen, wie der Artikel auf der Transporteinheit genau aussieht. Ohne Verpackung wird der Artikel auf der Transporteinheit immer mit der Basismengeneinheit gezählt.

Umrechnung von Verpackungen

Die Verbindung von Verpackungen untereinander erfolgt über eine Kapazität, die angibt wieviele Elemente von der referenzierten Verpackung maximal aufgenommen werden können.

 

Mengen_und_Verpackungen_06

Eine Besonderheit stellt die Basismengeneinheit dar. Sie ist die Grundeinheit der anderen Verpackungen und stets das Ende einer Verpackungskette. Sie kann eine physikalische Einheit oder eine beliebige Einheit bezeichnen (Stück, Gewicht, Länge aber auch 1,5l Flasche). Die anderen Verpackungen zeigen mit Hilfe der Menge der Kapazitäten auf andere Verpackungen, die in Ihnen enthalten sein können. Die Verpackungseinheiten innerhalb einem Set von Verpackungen müssen eindeutig sein.

 

Vereinfachung

Verkettung der Verpackungen wird zurzeit nicht in Bitergo WMS unterstützt. Verpackungen beziehen sich immer auf die Basismengeneinheit. Auspacken von Verpackungen führen damit immer zur Basismengeneinheit.

Einschränkungen & Besonderheiten

  • Verpackungs-Unit pro Artikel muss eindeutig sein, da mit der Unit eine Verpackung zu einem Artikel gesucht wird.
  • Gleiche Verpackungseinheiten müssen für jeden Artikel kopiert werden, falls die Kapazitäten unterschiedlich sind.
  • Alle Verpackungseinheiten für einen Artikel müssen auch dort referenziert sein.
  • Basismenge (Packaging) verwendet als Unit ggf. echte physikalische Einheiten (Stück, Gewicht, Volumen, Länge, …) und hat keine Einträge zu Kapazität
  • Alle Verpackungsketten müssen(!) bis zur Basismenge laufen, keine Kreisbezüge
  • Bei Änderung der Units ist immer die Referenzkette zu prüfen (keine Schleife, durchgängige Kette bis zur Basismengeneinheit)

 

Weiter zum Kapitel Grundlagen und Konzepte, Strategien im Lager

 

Zurück zur Bitergo WMS Academy Übersicht: