CX_STOCK
Klassenhierarchie
Beschreibung:
Diese Klasse verwaltet ein Lager.
Ein Objekt vom Typ CX_STOCK beschreibt als CX_CLEARING_OBJECT einen
Lagerungsort. Gehören verschiedene Lagerungsorte zu einem bestimmten
Bereich (Werk, Abteilung, ...), dann kann dieses über CX_DOMAIN Objekte
modelliert werden.
Jeder Lager(ungs)ort hat mindestens einen Lagerplatz, der als CX_ACCOUNT
Objekt modelliert wird. Diesem Konto kann die Mengeneinheit, die Kapazität,
ein Sperrvermerk, das maximale Gewicht, ... als dyn. Datenfelder
implementiert werden.
Hat ein Lagerort mehrere SELBSTVERWALTETE Lagerplätze (chaotisches Lager),
dann werden entspr. mehrere CX_ACCOUNT Objekte generiert, die genau diese
Kapazitäten kontrollieren und verteilen können.
Über main/subMonitors sind dem/den CX_ACCOUNT (Lagerplatz) Objekt(en) des
Lagerortes die CX_ACCOUNT Objekte der einzulagernden Waren zugeordnet.
Eigenschaften wie:
- Hochregallager, WE, WA, Kommissionerlager, ....
- Kommissioniertechnik
- Behandlung von Inventurdifferenzen
- Ein- und Auslagerungsstrategien (manueller Platz, Blocklager, ...)
- Quittierungspflichten
- Nullkontrolle
- Gefahrstoffe, etc, etc,
werden ebenfalls über dyn.Datenfelder und entspr. Berücksichtigung in den
Skripts modelliert. Die dyn.Datenfelder werden in die dafür sinnvollsten
Objekte gestellt.
FIFO, LIFO Eigenschaften müssen von den CX_ACCOUNT Objekten unterstützt
werden, ebenso Angaben ob Schnell- oder Langsamdreher vorliegen.
Feste Attribute:
stockEnum: Eigenlager (0), Konsignationslager (1), Zollager (2), ....
(Bit-Muster)
location : POINTER vom Typ CX_ACCESS für Angabe, wo sich das Lager befindet
OFFEN:
Kapazität des Lagerplatzes (CX_ACCOUNT)
LIFO, FIFO (CX_ACCOUNT)
Schnell-, Langsamdreher (CX_ACCOUNT)
Code-Beispiel:
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
SanityCheck | INTEGER | Prüfung auf Konsistenz des Objektes | ||
CastedStructureByCondition | STRING | OBJECT | ||
ClassFilter | STRING, INTEGER | OBJECT | Dieses Objekt, wenn es einer bestimmten Klasse entspricht | |
ClearingObject | STRING, INTEGER | OBJECT | Erste Zuordnung zu Abrechnungsobjekten | |
ClearingObjectMA | * | STRING, INTEGER | Zuordnungen zu Abrechnungsobjekten | |
ConnectStateStructure | OBJECT, STRING | Verbinden mit der Status-Struktur | ||
Deleted | INTEGER | Objekt als gelöscht markiert? | ||
Description | STRING | Bezeichnung dieses Objektes | ||
EvaluateTotalMonitors | STRING, INTEGER, STRING | OBJECT | ? | |
ForceMonitor | STRING | OBJECT | ? | |
GetDomain | INTEGER | Domain dieses Objektes | ||
GetSiblings | COLLECTION | Alle Siblings dieses Objektes | ||
GetSiblings2 | COLLECTION | Alle Siblings dieses Objektes | ||
GetSlotEntries | VECTOR | Rückgabe von internen Informationen zu Slots | ||
GetStructure | OBJECT | OBJECT | Untergeordnete Struktur suchen, die zur selben Hierarchie gehört | |
InsertMonitor | OBJECT | ? | ||
LastUpdate | OBJECT | Datum des letzten Schreibzugriffs | ||
LastUser | INTEGER | User, der zuletzt schreibend auf das Objekt zugegriffen hat | ||
Link | OBJECT | Dieses Objekt in die Liste der Objekte mit Gültigkeit einfügen | ||
Monitor | STRING | OBJECT | ? | |
NextValidObject | OBJECT | Zeitlich nachfolgendes Gültigkeitsobjekt | ||
PreviousValidObject | OBJECT | Zeitlich vorangehendes Gültigkeitsobjekt | ||
RemoveMonitor | OBJECT | ? | ||
RemoveStateStructure | STRING | Status-Struktur nach uniqueID finden und Verbindung lösen | ||
RestrictedValidity | * | Gültigkeitsbereich eingeschränkt? | ||
SetDomain | INTEGER, INTEGER | Domain setzen | ||
SetStructure | OBJECT | Stellt sicher, dass eine Struktur zur untergeordneten Struktur wird | ||
ShortName | STRING | Kurzbezeichnung dieses Objektes | ||
Siblings | * | Objekte mit Gültigkeit | ||
SpanDateValidity | * | Gültigkeitsspanne | ||
StateStructure | STRING | OBJECT | Status-Struktur nach uniqueID (STRING) finden (nicht gewrappt) | |
StateStructureWrapper | STRING | OBJECT | Status-Struktur nach uniqueID finden | |
string | INTEGER | CX_STRING | Liefert die String-Darstellung des Objektes | |
StructureByCondition | STRING | OBJECT | Untergeordnete Struktur mit einer bestimmten Bedingung | |
StructureByID | STRING | OBJECT | Untergeordnete Struktur mit einem bestimmten eindeutigen Schlüssel | |
StructureByIDMA | * | STRING | Untergeordnete Strukturen mit einem bestimmten eindeutigen Schlüssel | |
StructureByType | STRING, INTEGER | OBJECT | Untergeordnete Struktur eines bestimmten Typs | |
TotalMonitors | STRING, INTEGER, STRING | OBJECT | ? | |
TriggeredStateStructure | STRING | OBJECT | Versucht Status-Struktur weiterzuschalten und gibt die neue Status-Struktur (nicht gewrappt) zurück | |
TriggeredStateStructureWrapper | STRING | OBJECT | Versucht Status-Struktur weiterzuschalten und gibt die neue Status-Struktur (gewrappt) zurück | |
TriggerStateStructures | Schaltet alle Status-Strukturen weiter | |||
UniqueID | STRING | Inhalt des festen Datenfeldes "uniqueID" | ||
Unlink | Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen | |||
Unlink2 | Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen | |||
Valid | OBJECT | INTEGER | Gültigkeit prüfen | |
ValidSince | OBJECT | Beginn der Gültigkeitsspanne | ||
ValidToday | INTEGER | Heute gültig? | ||
ValidUntil | OBJECT | Ende der Gültigkeitsspanne | ||
VerifySiblings | INTEGER | Ring der Austauschobjekte prüfen |
* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
stockEnum | ENUMSHORT | Lagertyp | ||
allocations | REL_MN | CX_EXPANDABLE | ? | |
clearingObjects | REL_MN | CX_CLEARING_OBJECT | Abrechnungskreise | |
generalTerms | REL_1M | CX_GENERAL_TERMS | ? | |
monitors | REL_MN | CX_MONITOR | ? | |
structures | REL_MN | CX_EXPANDABLE | Organisations-Strukturen | |
uniqueID | STRING | * | Eindeutiger Schlüssel | |
validity | POINTER | CX_VALIDITY | Gültigkeitszeitraum des Objektes |
* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld
Modul | Kurzbeschreibung |
---|---|
stock.mod | Lager Basismodul |
stockedt.mod | Lager Editiermodul |
stocksel.mod | Lager Selektionsmodul |
invcontr.mod | Lagerbestandsliste / -bewertung |