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.
[Ok := ] Record.SetLoadFields([Fields: Any,...])
The FieldNo's of the fields to be loaded.
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.
Calling SetLoadFields on a record 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).
Depending on the runtime version, the runtime may require extra fields to be selected for loading. Which extra fields to specify depends on the state of the record and table or table extension definition. For example, fields that are filtered upon are always loaded.
This method is part of the partial records capability for improving performance. For more information, see Using Partial Records.
This example uses the SetLoadFields method to speedup the calculation of the mean for values of the Standard Cost field in the Item table. Instead of loading all fields, only the Standard Cost is loaded. The other fields aren't needed for the calculation, so they're not loaded.
procedure ComputeArithmeticMean(): Decimal; var Item: Record Item; SumTotal: Decimal; Counter: Integer; begin Item.SetLoadFields(Item."Standard Cost"); if Item.FindSet() then begin repeat SumTotal += Item."Standard Cost"; Counter += 1; until Item.Next() = 0; exit(SumTotal / Counter); end; end;
Submit and view feedback for