CX_ITEM_PATTERN
Klassenhierarchie
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_STRUCTURED
- CX_BUSINESS_OBJECT
- CX_REAL_OBJECT
- CX_ITEM
- CX_ITEM_PATTERN
- CX_ITEM
- CX_REAL_OBJECT
- CX_BUSINESS_OBJECT
- CX_STRUCTURED
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Beschreibung:
Variantenteile. Variantenteile sind zu einem Teil zusammengefasste Teile, die sich in einigen Eigenschaften zwar unterscheiden, aber eigentlich alle das selbe Teil repräsentieren. Ein gutes Beispiel hierfür ist die Schraube. Es gibt nur ein Variantenteil für Schrauben. In den Sachmerkmalen (Eigenschaften) der Schraube wird nun eingepflegt, wodurch sich die verschiedenen Schrauben unterscheiden, z.B. die Gewindesteigung, die Länge, die Gewindeart, der Durchmesser, das Material etc.
Wir haben also nur ein Teil mit unterschiedlichen Sachmerkmalen.
Code-Beispiel:
BeginTXN [ testTxn ] PlugSpace testTxn Get(itemPointer.Item())
Ergebnis: das Unterteil, sofern es eines im Variantenteil gibt, das genau den Ausprägungen der Sachmerkmale, die die testTxn enthält, entspricht. Wenn kein Unterteil gefunden wurde, wird das Variantenteil zurückgegeben.
Fehlen für die Ermittlung Sachmerkmale, wird ein Fehler ausgegeben. Diesen Fehler kann man vermeiden, in dem man entweder die Funktion ItemWeak anstelle von Item aufruft, oder eine Message anmeldet, die ausgelöst wird, wenn Sachmerkmale fehlen (SetBindMessage)
Das nachfolgende Diagramm zeigt, wie Variantenteile, ausgeprägte Unterteile und deren Attribute im ClassiX-System üblicherweise verbunden sind (am Beispiel des globalen Attributs "BREITE"):
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
AttributeSetValuesID | STRING | String mit Name-Werte-Paaren der Attribute | ||
AttributesID | STRING | Namen aller Attribute | ||
AttributesUnplugged | COLLECTION | Ungepluggte Attribute finden | ||
Item | OBJECT | Durch die Funktion Item() auf dem Variantenteil wird geprüft, ob die Ausprägungen der im Plugspace befindlichen Sachmerkmale genau der Ausprägung eines Unterteils entsprechen. Wenn ja, wird das ermittelte Unterteil zurückgegeben, ansonsten das Variantenteil. Fehlen für die Ermittlung Sachmerkmale, wird ein Fehler ausgegeben. Diesen Fehler kann man vermeiden, in dem man entweder die Funktion ItemWeak anstelle von Item aufruft, oder eine Message anmeldet, die ausgelöst wird, wenn Sachmerkmale fehlen (SetBindMessage) | ||
PluggedID | STRING | "uniqueID" und Namen aller Attribute | ||
SanityCheck | INTEGER | Prüfung auf Konsistenz des Objektes | ||
UniqueID | STRING | Inhalt des festen Datenfeldes "uniqueID" und der Namen aller Attribute | ||
AccountOwner | STRING | INTEGER | ? | |
AccountOwnerMA | * | STRING | ? | |
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) | ||
Attribute | INTEGER | OBJECT | n. Attribut | |
BillOfMaterial | OBJECT | Liefert Allokation "Stückliste" (CX_BILL_OF_MATERIAL) aus dem zugeordneten Produkt | ||
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 | |
ConditionedFilter | STRING, OBJECT | OBJECT | Wird eine Formel ausgeführt, so werden alle Objekte sequentiell im Plugspace nach dem gesuchten Datenfeld durchsucht. Sind im Plugspace nun aber nicht nur Belege, die zum Beispiel ein Datenmember "transaction" haben, sondern auch einfache Werte als Objekte, dann würde die Auswertung der Formel einen Fehler bringen, weil auch vom einfachen Wert versucht wird, das Datenfeld "transaction" auszulesen, was es aber nicht hat. Hier ist die Lösung, vor das gewünschte Datenfeld den ConditionedFilter zu setzen: ConditionedFilter("inherited(this, CX_LINK_TXN)").FirstSuccessorByCondition("type(TopTransaction())=CX_ITEM_DEMAND") |
|
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 | ? | |
ForceMonitor | STRING | OBJECT | Sucht am Teil den angegebenen Monitor und legt diesen auch an, wenn er nicht gefunden wurde | |
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 | ? | ||
ItemWeak | OBJECT | |||
JobSchedule | OBJECT | Liefert Allokation "Arbeitsplan" (CX_JOB_SCHEDULE) aus dem zugeordneten Produkt | ||
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 | Gibt den Monitor des Teils zurück, dessen Klassenname als String übergeben wurde | |
NextValidObject | OBJECT | Zeitlich nachfolgendes Gültigkeitsobjekt | ||
PreviousValidObject | OBJECT | Zeitlich vorangehendes Gültigkeitsobjekt | ||
Product | OBJECT | Liefert Abrechnungsobjekt "Fertigungsartikel" (CX_PRODUCT) | ||
ProductAllocation | STRING, INTEGER | OBJECT | Liefert Allokation des gewünschten Typs aus dem zugeordneten Produkt | |
PurchaseItem | OBJECT | Liefert Abrechnungsobjekt "Bestellartikel" (CX_PURCHASE_ITEM) | ||
RemoveMonitor | OBJECT, OBJECT | Entfernt die Verbindung zu einen Monitor aus einem Objekt | ||
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 | |
TestDataAccess | STRING, STRING | |||
TopItem | OBJECT | Oberstes Item(pattern) in der Teile-Hierarchie | ||
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 | |||
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 |
---|---|---|---|---|
items | REL_M1 | CX_ITEM | Verbindung zu Sachen | |
allocations | REL_MN | CX_EXPANDABLE | ? | |
attributeSet | POINTER | CX_ATTRIBUTE_SET | Attribute-Tabelle (Sachmerkmale), die Slots näher erklärt | |
clearingObjects | REL_MN | CX_CLEARING_OBJECT | Abrechnungskreise | |
generalTerms | REL_1M | CX_GENERAL_TERMS | ? | |
monitors | REL_MN | CX_MONITOR | ? | |
pattern | REL_1M | CX_ITEM_PATTERN | (Übergeordnetes) Muster | |
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 |
---|---|