SETRANGE Function (Record)
Sets a simple filter, such as a single range or a single value, on a field.
Syntax
Record.SETRANGE(Field [,FromValue] [,ToValue])
Parameters
Record
Type: Record
The record that contains the field that you want to filter.
Field
Type: Field
The field that you want to filter.
FromValue
Type: Any
The lower limit of the range. The data type of this parameter must match the data type of Field.
ToValue
Type: Any
The upper limit of the range. If you omit this parameter, then the value that you specified for FromValue is used. The data type of this parameter must match the data type of Field.
Remarks
SETRANGE is a quick way to set a simple filter on a field.
SETRANGE removes any filters that were set previously and replaces them with the FromValue and ToValue parameters that you specify.
If you use SETRANGE without setting the FromValue and ToValue parameters, then the function removes any filters that are already set.
If you set only the FromValue, then the ToValue is set to the same value as the FromValue.
Example 1
This example shows how to use the SETRANGE function to specify that you want to see only customers 100 through 200. This example requires that you create the following variable in the C/AL Globals window.
Variable name | DataType | Subtype |
---|---|---|
CustomerRec | Record | Customer |
CustomerRec.SETRANGE("No.", '100', '200');
// The above statement is a quick way to set the same filter as:
CustomerRec.SETFILTER("No.", '>=100&<=200');
Example 2
This example shows how to find the first record that has a blank for the requested delivery date. It requires that you create the following variable.
Name | Data type | Subtype |
---|---|---|
SalesLineRec | Record | Sales Line |
SalesLineRec.SETRANGE("Requested Delivery Date",0D);
IF SalesLineRec.FIND('-') THEN
MESSAGE('Sales Order %1 has no requested delivery date.', SalesLineRec."Document No.");