Klasse CX_FORMULA - spezielle Funktionen im Formelausdruck
- has(variable)
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)
- available(variable)
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(variable)
fordert, dass die Variable fest gebunden wird.
- type(variable)
liefert den Typ einer Variablen. Das Ergebnis kann mit einer Typkonstanten verglichen werden.
- inherited(variable, typKonstante)
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)
- var(name)
liefert den Wert einer InstantView®-Variablen, deren Name als Parameter anzugeben ist. var(...) kann auch am Anfang einer Zugriffsausdrucks stehen.
Beispiele:
Auf dem Stack liegt ein Objekt der Klasse CX_LOG_CUBE
Möchte man nun den anhängenden CX_PURCHASE_ACCOUNT bekommen, benutzt man die Funktionen:
- Get(DimensionByCondition("type(owner)=CX_PURCHASE_ITEM")) wenn
man genau weiß, dass das Ownerobjekt ein Objekt der Klasse CX_PURCHASE_ITEM
ist. - Get(DimensionByCondition("inherited(owner, CX_PURCHASE_ITEM)"))
wenn man nur weiß, dass das Ownerobjekt von der Klasse CX_PURCHASE_ITEM abgeleitet ist, also beispielsweise auch ein Objekt der Klasse CX_PURCHASE_SERVICE
sein kann.