Lade...
 

CX_STOCK - Lager

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:
...
Methodenverzeichnis (MDI)
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

 

Datenverzeichnis (DDI)
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

 

Verwendung in AppsWH
Modul Kurzbeschreibung
stock.mod Lager Basismodul
stockedt.mod Lager Editiermodul
stocksel.mod Lager Selektionsmodul
invcontr.mod Lagerbestandsliste / -bewertung