CX_FCONDITION
Klassenhierarchie
- CX_CLASS
- CX_AMOUNT
- CX_FORMULA
- CX_FCONDITION
- CX_FORMULA
- CX_AMOUNT
Beschreibung:
Diese Klasse verwaltet eine "Wenn...dann"-Beziehung mit Hilfe eines Tupels, das aus einer Bedingung ("Wenn") und einem Objekt ("Dann"), das geliefert wird, falls die Bedingung erfüllt ist, besteht. Die Bedingung wird dabei mit Hilfe einer Formel spezifiziert, wobei das Ergebnis der Formel ein Wahrheitswert sein muss.
Anwendung finden Objekte dieser Klasse als Einträge in einer bedingten Objekttabelle.
Beispiele:
Wenn... | Dann... |
---|---|
Bestellmenge < 50 | Stückpreis = 49,89 € |
x < 5 & y > 7 | z = 4 |
Darstellung am Bildschirm
Bei der Darstellung einer Formel-Bedingung ist zu beachten, dass es sich nach außen immer wie sein Objekt, welches an die Bedingung gebunden ist, verhält. Das folgende Beispiel (Programmcode) zeigt die Verwendung von zwei Oberflächenobjekten des Typs String, um die Bedingung und das Objekt anzuzeigen.
In diesem Beispiel wird deutlich, dass auf die Formel explizit zugegriffen werden muss, da sich die Formel-Bedingung bei DrainWindow und FillWindow wie sein Objekt, das an die Bedingung gebunden ist, verhält.
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
Add | CX_AMOUNT | CX_AMOUNT | Operator + als Funktion | |
AddAssign | CX_AMOUNT | Operator += als Funktion | ||
Amount | OBJECT | Auswerten der Formel-Bedingung, Rückgabe des Wertes des Ergebnis-Objekts | ||
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 | |
Evaluate | OBJECT | Auswerten der Formel-Bedingung | ||
Evaluate1 | OBJECT | Auswerten der Formel-Bedingung, ungebundene Variable führt zu Fehler | ||
Evaluate2 | OBJECT | Auswerten der Formel-Bedingung, bei ungebundenen Variablen erhält man als Ergebnis 0.0 (CX_NUMERIC) | ||
Evaluate3 | OBJECT | Auswerten der Formel-Bedingung, ungebundene Variablen werden mit SendMsg / Waitoninput abgefragt, wenn keine InstantView®-Message angemeldet ist: Fehler | ||
Evaluate4 | OBJECT | Auswerten der Formel-Bedingung, für ungebundenen Variablen geht ein dem Type entsprechendes Objekt mit Wert Null in die Berechnung ein. | ||
EvaluateWeak | OBJECT | Auswerten der Formel-Bedingung, wie beim Evaluate1, Fehler werden in ein CX_VESSEL Objekt geschrieben | ||
GetInputAccessPaths 233188 |
VECTOR<STRING> | Liefert alle Zugriffspfade dieser Formel zurück | ||
GetInputVarNames | (OBJECT) | VECTOR<STRING> | liefert die Namen aller für die Berechnung der Formel-Bedingung benötigten Variablen, wenn ein Container-Objekt angegeben wird, werden in diesem die entsprechenden dynamische Datenfelder erzeugt | |
MulAssign | CX_AMOUNT | Operator *= als Funktion | ||
Multiply | CX_AMOUNT | CX_AMOUNT | Operator * als Funktion | |
RawFormula | STRING | Formel-Bedingung in String-Form | ||
SetMessage | (INTEGER) | Anmelden InstantView®-Message (für Evaluate3) | ||
ShowIPN | STRING | Anzeigen der Formel-Bedingung in der IP-Notation | ||
SubAssign | CX_AMOUNT | Operator -= als Funktion | ||
Subtract | CX_AMOUNT | CX_AMOUNT | Operator - als Funktion | |
XMLExport | STRING | Formel in der XML-Form (lokaler Zeichensatz) | ||
XMLExportUTF8 | STRING | Formel in der XML-Form (UTF-8) |
* MA = Member-Access-Funktion
Spezielle Funktionen innerhalb eines Formelausdrucks
Funktion | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|
available | (OBJECT) | OBJECT | testet, ob die als Parameter angegebene Variable (d.h. ein dynamisches Datenfeld oder ein Zugriffsausdruck) gebunden ist. Im Gegensatz zu has(...) wird die Variable locker gebunden (der Normalfall). |
get | (OBJECT) | OBJECT | fordert, dass die Variable eng gebunden wird. |
has | (OBJECT) | OBJECT | testet, ob die als Parameter angegebene Variable (d.h. ein dynamisches Datenfeld oder ein Zugriffsausdruck) gebunden ist, wobei die Variable eng gebunden wird (siehe Funktion get) |
inherited | (OBJECT, OBJECT) | OBJECT | testet, ob das mit Variable bezeichnetet Objekt von der mit dem zweiten Parameter bezeichneten Klasse abgeleitet ist. Der Name einer Klasse kann als Parameter angegeben werden (Typkonstante) |
type | (OBJECT) | OBJECT | liefert den Typ einer Variablen. Das Ergebnis kann mit einer Typkonstanten verglichen werden. |
var | (OBJECT) | OBJECT | liefert den Wert einer InstantView®-Variablen, deren Name als Parameter anzugeben ist. var(...) kann auch am Anfang einer Zugriffsausdrucks stehen. |
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
_object | CX_CLASS | Das Objekt, das an die Bedingung gebunden ist | ||
_condition | CX_FCONDITION | Das Objekt selbst | ||
this | if (_object != NULL) _object else _condition | |||
Name einer Spaltenvariablen | STRING | der Formel-Term für die Spaltenvariable ¹) | ||
expr | STRING | (Rest-)Term der Formel, der zu keiner Spaltenvariablen gehört ¹) |
* I = Indizierbares Datenfeld
¹) nur wenn CX_FCONDITION bereits ein Element eines CX_CONDITIONED_BAG-Objects ist
Modul | Kurzbeschreibung |
---|---|