[Ok :=] FieldRef.CALCFIELD;
CALCFIELD
Die Funktion berechnet ein FlowField oder Binary Large Object (BLOB) in einem Datensatz.
Parameter
FieldRef: Das Feld, das im Datensatz aktualisiert werden soll.
Hinweis
FlowFields sind virtuelle Felder, deren Werte nicht in den Tabellen gespeichert werden und zur Laufzeit berechnet werden müssen. Wird z. B. mittels der „FIND“-Funktion ein bestimmter Datensatz gesucht, ist das FlowField in dem Datensatz solange auf 0 gesetzt, bis die „CALCFIELD“-Funktion aufgerufen worden ist.
CALCFIELD kann auch zur Berechnung von „BLOB“-Objekten verwendet werden.
Beispiel
Zunächst werden drei neue Variablen hinterlegt.
Name | Datentyp | Subtyp |
---|---|---|
RecordReferenz | RecordRef | |
NichtBerechneteFeldRef | FieldRef | |
BerechneteFeldRef | FieldRef |
Anschließend wird folgender Code hinterlegt.
RecordReferenz.OPEN(18); IF RecordReferenz.FIND('-') THEN REPEAT NichtBerechneteFeldRef := RecordReferenz.FIELD(66); BerechneteFeldRef := RecordReferenz.FIELD(67); BerechneteFeldRef.CALCFIELD; MESSAGE( 'FlowField nicht berechnet: %1\FlowField berechnet: %2', NichtBerechneteFeldRef, BerechneteFeldRef); UNTIL RecordReferenz.NEXT = 0
In dieser Funktion werden 2 FlowFields aus der Debitortabelle angezeigt. Dabei wird nur das zweite FlowField mittels CALCFIELD berechnet.