CX_CONDITIONED_BAG::Evaluate
Beschreibung:
Diese Funktion ermittelt den ersten Tabelleneintrag innerhalb der bedingten Objekttabelle, dessen Bedingung erfüllt ist, und gibt das zugehörige Objekt zurück. Sollte keine Bedingung erfüllt sein, liefert die Funktion NULL oder bricht mit einer Fehlermeldung ab, falls die Flags CF_COMPULSORY und CF_REPORT gesetzt sind. Statt des Funktionsaufrufs kann auch alternativ eine Auswertung über einen Zugriffsausdruck erfolgen. Alle nachfolgenden Einträge, deren Bedingung ebenfalls erfüllt sind, werden nicht beachtet. Um solche Einträge verarbeiten zu können, existiert die Funktion Query.
Code-Beispiel:
Var(fcond, value)
CreateTransObject(CX_FCONDITION) -> fcond
"quantity < 50 Stück & customer.partner.name = \"Meier\"" fcond Put
CreatePersObject(CX_VALUE) -> value
"100 EUR" value Put
value fcond SetReference(_object)
Var(table)
CreateTransObject(CX_CONDITIONED_BAG) -> table
// Einfügen in die Tabelle
fcond table Insert
.......................
Var(result)
table Call(Evaluate) -> result
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(IN) | Top | CX_CONDITIONED_BAG | die bedingte Objekttabelle |
Top-1 | CX_CLASS oder NULL | das Objekt, das der Bedingung zugeordnet ist | |
Stack(OUT) | Top |