CX_FORMULA_ATTRIBUTE
Klassenhierarchie
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_ATTRIBUTE
- CX_SLOT_ATTRIBUTE
- CX_FORMULA_ATTRIBUTE
- CX_SLOT_ATTRIBUTE
- CX_ATTRIBUTE
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Beschreibung:
Ein errechnetes Attribut erlaubt es, den Inhalt eines Slots durch eine Formel zu füllen. Des weiteren liefert es eine nähere Beschreibung zu diesem Feld.
Ein Beispiel hierfür ist die Definition eines Artikels "Teppich", der neben einer Längen- und Breitenangabe das Datenfeld "Teppichgröße" beinhaltet, welches sich aus den beiden ersten Größen nach der Formel "Fläche = Länge x Breite" errechnet. Diese Formel wird einmal im System hinterlegt und kann durch ein Formel Attribut in einem bestimmten Kontext verwendet werden.
Beispiel: Verschiedene Flächenangaben (z.B. Teppichgröße und Grundfläche), die auf einem Slot Fläche basieren, der die Formel "Fläche = Länge x Breite" beinhaltet
Einem CX_FORMULA_ATTRIBUTE können die Parameter für die eigene Formel mitgegeben werden, also z.B. Unterformeln wie (l=) a + 5, wobei a wiederum ein Slot im CX_FORMULA_ATTRIBUTE ist. a könnte also z.B. selbst ein conditioned Bag sein: Attribut Fläche = Attribut Länge * Attribut Breite
Code-Beispiel:
// Create the formula attribute with formula: volume=width*height*depth Var(formulaAttribute, formula) CreateTransObject(CX_FORMULA_ATTRIBUTE) -> formulaAttribute CreateTransObject(CX_FORMULA) -> formula "width*height*depth" // = volume formula Put "volume" formulaAttribute Put(NameMA()) // which slot should be calculated? formula formulaAttribute Link(formula) // how should the slot's value be calculated? // Wrap our formula attribute inside an attribute set Var(attributeSet) CreateTransObject(CX_ATTRIBUTE_SET) -> attributeSet formulaAttribute attributeSet Link(attributes) // Create the item to calculate the attribute for Var(item) CreateTransObject(CX_ITEM) -> item attributeSet item Link(attributeSet) // add our formula attribute to this item // Fill the dependent variables (slots) 10m item Put(width) 5m item Put(height) 5cm item Put(depth) // Put the item itself into the plug space (formula variables are searched in the plug space) // and calculate the volume based on the above properties. [ item ] PlugSpace item Copy(volume) // -> 2500 l
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
IsValueAttribute | INTEGER | Ist dieses Attribut ein voreingestelltes Attribut? | ||
GetInputAccessPaths 233188 |
VECTOR<STRING> | Ermitteln der Zugriffspfade, die in der Formel vorkommen | ||
GetInputVarNames | (OBJECT) | VECTOR<STRING> | Ermitteln der Slots, die in der Formel vorkommen | |
SanityCheck | INTEGER | Prüfung auf Konsistenz des Objektes | ||
AttributeDescription | * | |||
AttributeID | STRING | |||
CalculationSubterms | VECTOR |
Ermitteln der Slot-Namen, die in einer Formel vorkommen | ||
CheckValue | INTEGER | |||
ClassFilter | STRING, INTEGER | OBJECT | Dieses Objekt, wenn es einer bestimmten Klasse entspricht | |
ConditionedFilter | STRING | OBJECT | ||
ConditionedFilter2 | OBJECT | OBJECT | ||
ConvertObject | OBJECT | ANY | konvertiert das übergebene Objekt in einen Wert der dem Typ des Attributes entspricht; bei Ergebnis vom Typ CX_NUMERIC und abgeleitete werden die Nachkommastellen vom Attributwert übernommen | |
CreatePersistentTable | OBJECT | erzeugt eine Tabelle für Enumerationen oder diskrete Werte und verbindet sie mit dem Attribut-Objekt | ||
Deleted | INTEGER | Objekt als gelöscht markiert? | ||
DeletePersistentTable | löscht eine mit dem Attribut verbundene Tabelle für Enumerationen oder diskrete Werte | |||
Description | STRING | Bezeichnung dieses Objektes | ||
ElementOf | OBJECT | 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 | ||
GetValue | STRING, INTEGER | OBJECT | Dummy-Funktion | |
HasConstraint | * | Gültigkeit vorhanden? | ||
LastUpdate | OBJECT | Datum des letzten Schreibzugriffs | ||
LastUser | INTEGER | User, der zuletzt schreibend auf das Objekt zugegriffen hat | ||
LimitedValuesMA | * | |||
Link | OBJECT | Dieses Objekt in die Liste der Objekte mit Gültigkeit einfügen | ||
Name | STRING | Name des Slots, den das Attribut näher erklärt | ||
NameMA | * | Name bzw. (interne) Nummer des Slots, den das Attribut näher erklärt | ||
NextValidObject | OBJECT | Zeitlich nachfolgendes Gültigkeitsobjekt | ||
NullValue | ANY | Null-Wert vom Typ des Attribut-Wertes | ||
PreviousValidObject | OBJECT | Zeitlich vorangehendes Gültigkeitsobjekt | ||
RefTypeID | INTEGER | |||
RestrictedValidity | * | Gültigkeitsbereich eingeschränkt? | ||
SetDomain | INTEGER, INTEGER | Domain setzen | ||
ShortName | STRING | Kurzbezeichnung dieses Objektes | ||
Siblings | * | Objekte mit Gültigkeit | ||
SpanDateValidity | * | Gültigkeitsspanne | ||
SpecifierID | STRING | |||
Type | STRING | Rückgabe des im Slot gehaltenen Datentyps | ||
TypeID | INTEGER | Rückgabe der ID-Nummer des im Slot gehaltenen Datentyps | ||
string | INTEGER | CX_STRING | Liefert die String-Darstellung des Objektes | |
UnconditionalValue | * | Wert des Slots, Constraints werden nicht beachtet | ||
UnconditionalValueObject | ANY | Wert des Slots, Constraints werden nicht beachtet | ||
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 | ||
Value | * | Wert des Slots, bei Ausgebe wird der berechnete Wert gegen Constraints getestet | ||
ValueExport | INTEGER | STRING | Wert des Slots, als String formatiert | |
ValueObject | ANY | Wert des Slots, der berechnete Wert gegen Constraints getestet | ||
VerifySiblings | INTEGER | Ring der Austauschobjekte prüfen |
* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
formula | POINTER | CX_FORMULA | Die Formel | |
attribute | INTEGER | Die (interne) Nummer des Slots, den das Attribut näher erklärt | ||
attributeEnum | ENUMSHORT | Typ | ||
constraint | POINTER | CX_FORMULA | Gültigkeit | |
uniqueID | STRING | * | Eindeutiger Schlüssel | |
validity | POINTER | CX_VALIDITY | Gültigkeitszeitraum des Objektes |
* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld
Modul | Kurzbeschreibung |
---|---|
attrfedt.mod | Errechnete Sachmerkmale Editiermodul |