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