Lade...
 

CX_CONDITIONED_BAG::Evaluate

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
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    
Funktionsaufruf: Call(Evaluate)