SETFILTER Function (Record)

Assigns a filter to a field that you specify.


Record.SETFILTER(Field, String, [Value],...)  


Type: Record

The record that contains the field that you want to filter.

Type: Field

The field that you want to filter.

Type: Text or code

The filter expression. A valid expression consists of alphanumeric characters and one or more of the following operators: <, >, *, &, |, and =. You can use replacement fields (%1, %2, and so on) to insert values at run-time.

Type: Any

Replacement values to insert in replacement fields in the filter expression. The data type of Value must match the data type of Field.


If the function is called with a field for which a filter already exists, that filter will be removed before the new one is set. You can construct filters using the following operators:

  • ..   Range

  • &   And

  • |   Or

  • <   Less than

  • <=   Less than or equal to

  • >   Greater than

  • >=   Greater than or equal to

  • <>   Different from

  • *   Forms a part of value

  • @   Case-insensitive


The following table shows examples of filters.

Filter Description
A..Z A range from A to Z
A|G A or G
F.. & *A/S A range from F and A/S is included in the field
<>B All except B
<>'' All not blank
<=200 | >500 All less than or equal to 200 or greater than 500

This example requires that you create the following variable.

Name DataType Subtype
GLAccountRec Record G/L Account
// Using a filter with replacement field.  
// This filter selects all accounts in the range from 100 to 200 
// and No. 300. 

GLAccountRec.SETFILTER("No.", '%1..%2|%3', '100', '200', '300');  

// Using a filter entered directly in a string.  
// This filter, which is entered as a string, has the same result as  
// the previous example.
// This filter selects all accounts in the range from 100 to 200 and
// and No. 300.  

GLAccountRec.SETFILTER("No.", '100..200|300');

See Also

Record Data Type