RecordRef.SetLoadFields([Integer,...]) Method
Version: Available or changed with runtime version 6.0.
Sets the fields to be initially loaded when the record is retrieved from its data source. This will overwrite fields previously selected for initial load.
Syntax
[Ok := ] RecordRef.SetLoadFields([Fields: Integer,...])
Parameters
RecordRef
Type: RecordRef
An instance of the RecordRef data type.
[Optional] Fields
Type: Integer
The FieldNo's of the fields to be loaded.
Return Value
[Optional] Ok
Type: Boolean
true if all fields are selected for subsequent loads; otherwise, false. If you omit this optional return value and the operation does not execute successfully, a runtime error will occur.
Remarks
Calling SetLoadFields on a recordref without passing any fields will reset the fields selected to load to the default, where all readable normal fields are selected for load.
It is not necessary to include the following fields, because they are always selected for loading: Primary key, SystemId, and data audit fields (SystemCreatedAt, SystemCreatedBy, SystemModifiedAt, SystemModifiedBy).
This method is part of the partial records capability for improving performance. For more information, see Using Partial Records.
Example
This code example uses the SetLoadFields method to speedup the calculation of the mean for values in a table field. The other fields aren't needed for the calculation, so they're not loaded.
procedure ComputeAritmeticMean(MyRecordRef: RecordRef; FieldNo: Integer): Decimal
var
SumTotal: Decimal;
Counter: Integer;
begin
MyRecordRef.SetLoadFields(FieldNo);
if MyRecordRef.FindSet() then begin
repeat
SumTotal := MyRecordRef.Field(FieldNo).Value;
Counter += 1;
until MyRecordRef.Next() = 0;
exit(SumTotal / Counter);
end;
end;
Related information
Using Partial Records
RecordRef Data Type
Get Started with AL
Developing Extensions