Lade...
 

CX_PRODUCT_AMOUNT - CyberEnterprise

CX_PRODUCT_AMOUNT

Klassenhierarchie
Beschreibung: (Business Pattern)

Diese Klasse stellt eine Menge als Produkt mehrerer CX_AMOUNT-Objekte dar.

Code-Beispiel:

Var(amountVector, value, numeric)
CreateTransObject(CX_PRODUCT_AMOUNT) -> amountVector
12.5m -> value     // CX_VALUE erzeugen
12.5 -> numeric    // CX_NUMERIC erzeugen
value amountVector Call(Insert)
numeric amountVector Call(Insert)
................................
amountVector Call(Amount)    // Ergebnis: CX_VALUE 156.2m

 

Achtung:
Wenn mehrere Werte mit Einheiten gemeinsam in einem Product Amount stehen, werden ihre Einheiten ebenfalls multipliziert!

Wenn also im Product Amount 2m und noch einmal 2m sind, kommt als Ergebnis 4m2 dabei heraus.

Ist dieses Verhalten nicht erwünscht, wie bei der Mengenbildung verschachtelt aufgebauter Fertigungsstücklisten, so muss zwischen alle Einzelwerte ein Normierungsfaktor eingebunden werden. Ein Normierungsfaktor wird folgendermaßen erstellt:


CreateTransObject(CX_VALUE) -> factor
CreateTransObject(CX_VALUE) -> transientFactor

allocationTxn Get(amount.LastElement()) transientFactor Put
transientFactor Call(Reciprocal) factor Put

factor CopyPersObject allocationTxn Call(amount, Insert)
 

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
Amount     OBJECT das Produkt aller Objekte
AmountBesidesLast     OBJECT wie Amount, nur ohne letztes Element
Clear       alle Elemente löschen
Contains   (OBJECT) INTEGER Object-Existenz testen
Element * (INTEGER)   n-te Element Verändern
Insert   (OBJECT)   Element einfügen
InsertVector   (VECTORject>)   Vektor einfügen
LastElement *     letzte Element Verändern
Remove   (OBJECT)   Element löschen
Add   CX_AMOUNT CX_AMOUNT Operator + als Funktion
AddAssign   CX_AMOUNT   Operator += als Funktion
AmountWeak   CX_AMOUNT    
Autoformat   INTEGER, INTEGER CX_AMOUNT Liefert ein, entsprechend der gegeben Anzahl von Vor- und Nachkommastellen, formatiertes Objekt zurück (nur bei CX_VALUE, sonst das Objekt selbst).
DivAssign   CX_AMOUNT   Operator /= als Funktion
Divide   CX_AMOUNT CX_AMOUNT Operator / als Funktion
MulAssign   CX_AMOUNT   Operator *= als Funktion
Multiply   CX_AMOUNT CX_AMOUNT Operator * als Funktion
string   INTEGER CX_STRING Liefert die String-Darstellung des Objektes
SubAssign   CX_AMOUNT   Operator -= als Funktion
Subtract   CX_AMOUNT CX_AMOUNT Operator - als Funktion

* MA = Member-Access-Funktion

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
vector COLL CX_CLASS    

* I = Indizierbares Datenfeld

Verwendung in AppsWH
Modul Kurzbeschreibung