The syntax for CALCFIELDS is as follows:
[BooleanField := ] Record.CALCFIELDS ( FlowField1 [, FlowField2] ,...)
Executing the CALCFIELDS function will cause all the specified FlowFields to be calculated. Specification of the BooleanField allows us to handle any runtime error that may occur. Any runtime errors for CALCFIELDS usually result from a coding error or a change in a table key structure.
The FlowField calculation takes into account the filters (including FlowFilters) that are currently applied to the record (we need to be careful not to overlook this). After the CALCFIELDS execution, the included FlowFields can be used similarly to any other data fields. The CALCFIELDS must be executed for each cycle through the subject table.
Whenever the contents of a BLOB field are to be used, CALCFIELDS is used to load the contents of the BLOB field from the database into memory.
When the following conditions are true, CALCFIELDS uses dynamically maintained SIFT data:
...