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:
Auch wenn in vielen Bereichen entsprechende Mengenangaben mit Einheiten anzutreffen sind, ist das Verhalten und insbesondere der Ursprung der Einheiten unterschiedlich.
Measure |
Quantity |
|
|
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.
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.
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).
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.
Measure erfüllt die Anforderungen für einen beliebigen Vergleich. Eine (paarweise) Sortierung wird dabei wie folgt vorgenommen:
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").
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:
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.
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
Damit legt der Artikelstamm (ItemMaster) im hohen Umfang das Verhalten der Bestandsmengen fest:
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 sind zentral an den Artikelstämmen definiert. Alle Verpackungen, die überhaupt zum Artikel möglich sind, sollten hier definiert werden:
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.
Die Verbindung von Verpackungen untereinander erfolgt über eine Kapazität, die angibt wieviele Elemente von der referenzierten Verpackung maximal aufgenommen werden können.
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
Weiter zum Kapitel Grundlagen und Konzepte, Strategien im Lager:
Zurück zur Bitergo WMS Academy Übersicht: