Lade...
 

CX_FORMULA_ATTRIBUTE - Errechnetes Attribut

CX_FORMULA_ATTRIBUTE

Klassenhierarchie
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

 

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

 

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

 

Verwendung in AppsWH
Modul Kurzbeschreibung
attrfedt.mod Errechnete Sachmerkmale Editiermodul