CX_ITEM

Klassenhierarchie
Beschreibung:

Diese Klasse bildet eine Sache ab.

Die CX_ITEM Objekte beschreiben Teile oder Artikel, so wie sie sind.
Sie definieren nur die Basis-Mengeneinheit und allgemeine
Beschreibungen. Diese Angaben gelten für das gesamte Unternehmen,
eventuell sogar für alle Aussenstehenden (daher auch CX_REAL_OBJECT).

Fest implementiert ist in CX_ITEM wie auch in CX_ITEM_CAST die "Erweiterung"
um ein Merkmale-Objekt vom Typ CX_ATTRIBUTE_SET. Auch ist eine solche
Erweiterung für CX_STRUCTURE Objekte möglich, damit kann man Merkmalsleisten
organisieren.

Die verschiedenen Sichten - z.B. der Abteilungen Verkauf oder Einkauf, aber 
auch versch. verbundener Unternehmen - können mittels der CX_ITEM_CAST
Objekte (eventuell in Verbindung mit einer OVERWRITING_REF) näher spezifiziert
und überschrieben werden.

Geerbt von CX_BUSINESS_OBJECT ist 'allocations' (s. cxmalloc.doc)
Insbesondere können aus verschiedenen Sichten die Stücklisten für ein Teil
unterschiedlich ausfallen. Aus Sicht des Verkaufs ergibt sich ein Artikel-Set,
aus Sicht der Konstruktion eine funktionsorientierte Stückliste, aus Sicht der
Fertigung eine fertigunsorientierte Stückliste.


CX_ITEM : Teil
attributeSet : Pointer zu "Erweiterung" um Merkmale (CX_ATTRIBUTE_SET*)
pattern : Zuordnung zu pattern, falls Teil zu einem Muster gehört
(REL_1M zu CX_ITEM_PATTERN::items)

Funktion ID() gibt uniqueID und Merkmale zurück.
Funktion Attribute(n) gibt den n.ten Eintrag im AttributeSet zurück. Wenn
ein pattern da ist, dann wird die Reihenfolge der Attribute bestimmt durch
die Reihenfolge im pattern.

CX_ITEM_PATTERN: Muster mit zugehörigen Ausprägungen
(attributeSet)
(pattern)
os_list items : Liste der Ausprägungen


CX_ITEM_CAST
item : REL_1M zu CX_ITEM::clearingObjects
baseAmount : Basis Mengeneinheit (CX_AMOUNT*)
attributeSet : Pointer zu "Erweiterung" um Merkmale (CX_ATTRIBUTE_SET*)


OFFEN:
=====
CX_AMOUNT* salesPrice oder auch CX_AMOUNT* purchasePrice werden nur über
slots definiert. PROBLEM validity ????

Code-Beispiel:
...

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
AccountOwner   STRING INTEGER ?
AccountOwnerMA * STRING   ?
Attribute   INTEGER OBJECT n. Attribut
AttributesID     STRING Namen aller Attribute des Musters
AttributesUnplugged     COLLECTION Ungepluggte Attribute finden
BillOfMaterial     OBJECT Liefert Allokation "Stückliste" (CX_BILL_OF_MATERIAL) aus dem zugeordneten Produkt
ClearingObject   STRING, INTEGER OBJECT Erste Zuordnung zu Abrechnungsobjekten
ForceMonitor   STRING OBJECT ?
JobSchedule     OBJECT Liefert Allokation "Arbeitsplan" (CX_JOB_SCHEDULE) aus dem zugeordneten Produkt
Monitor   STRING OBJECT ?
PluggedID     STRING "uniqueID" und Namen aller Attribute
ProductAllocation   STRING, INTEGER OBJECT Liefert Allokation des gewünschten Typs aus dem zugeordneten Produkt
SanityCheck     INTEGER Prüfung auf Konsistenz des Objektes
TestDataAccess   STRING, STRING    
TopItem     OBJECT Oberstes Item(pattern) in der Teile-Hierarchie
UniqueID     STRING Inhalt des festen Datenfeldes "uniqueID" und weiteren Feldern
AllocatedObject   STRING, INTEGER OBJECT Liefert allokiertes Objekt des gewünschten Typs
AllocatedObjectMA * STRING, INTEGER   Zugriff auf allokierte Objekte eines gewünschten Typs
Allocation   STRING, INTEGER OBJECT Liefert Allokation des gewünschten Typs
AllocationMA * STRING, INTEGER   Zugriff auf Allokation des gewünschten Typs
Allocations     COLLECTION Allokationen, die sich nicht auf dieses Objekt beziehen
Allocators     COLLECTION Allokationen, die sich auf dieses Objekt beziehen
Asset     OBJECT Liefert Abrechnungsobjekt "Anlagegut" (CX_ASSET)
CastedStructureByCondition   STRING OBJECT  
ClassFilter   STRING, INTEGER OBJECT Dieses Objekt, wenn es einer bestimmten Klasse entspricht
ClearingObjectMA * STRING, INTEGER   Zuordnungen zu Abrechnungsobjekten
ConditionedFilter   STRING OBJECT  
ConditionedFilter2   OBJECT OBJECT  
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 ?
GetDomain     INTEGER Domain dieses Objektes
GetSiblings     COLLECTION Alle Siblings dieses Objektes
GetSiblings2     COLLECTION Alle Siblings dieses Objektes
GetSlotEntries     VECTOR<OBJECT> Rückgabe von internen Informationen zu Slots
GetStructure   OBJECT OBJECT Untergeordnete Struktur suchen, die zur selben Hierarchie gehört
InsertMonitor   OBJECT   ?
Item     OBJECT this
ItemWeak     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
NextValidObject     OBJECT Zeitlich nachfolgendes Gültigkeitsobjekt
PreviousValidObject     OBJECT Zeitlich vorangehendes Gültigkeitsobjekt
Product     OBJECT Liefert Abrechnungsobjekt "Fertigungsartikel" (CX_PRODUCT)
PurchaseItem     OBJECT Liefert Abrechnungsobjekt "Bestellartikel" (CX_PURCHASE_ITEM)
ReferenceCount     INTEGER Anzahl Referenzierungen
RemoveMonitor   OBJECT   ?
RemoveStateStructure   STRING   Status-Struktur nach uniqueID finden und Verbindung lösen
RestrictedValidity *     Gültigkeitsbereich eingeschränkt?
SalesItem     OBJECT Liefert Abrechnungsobjekt "Verkaufsartikel" (CX_SALES_ITEM)
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
Unlink       Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen
Unlink2       Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen
UpdateReplica       ?
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
attributeSet POINTER CX_ATTRIBUTE_SET   Attribute-Tabelle (Sachmerkmale), die Slots näher erklärt
pattern REL_1M CX_ITEM_PATTERN   (Übergeordnetes) Muster
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



Suche im PlugSpace
Reihenfolge Beschreibung
1 Wie CX_EXPANDABLE.
2 Es wird das eigene AttributeSet (Datenfeld "attributeSet") geplugged und durchsucht.
* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld

 

Verwendung in AppsWH
Modul Kurzbeschreibung
item.mod Teilestamm Basismodul
itemedt.mod Teilestamm Editiermodul
itemsel.mod Teilestamm Selektionsmodul
autopure.mod Bedarfs- / Bestandsliste
itemsea.mod Teile Suchmodul
pusaitem.mod Artikel Basismodul
pusaiedt.mod Artikel Editiermodul
pusaisel.mod Artikel Selektionsmodul
queryatt.mod Anfrage nach Sachmerkmale