Why SETFILTER doesn’t work sometimes

Author

Daniel Gorski

CEO

1 Min. Lesezeit

SETFILTER issue with special characters in Business Central

Every AL-Developer uses “SETFILTER” on a daily basis. But did you know that there are certain situations where “SETFILTER” will refuse to work?

First let’s look at the syntax:

Rec.SETFILTER(<Field>, <Filter>, <Placeholders>);

Seems simple enough right?

This will work just fine. But what happens if we do the following?

The applied filter will look like this:

AL did not manage to replace the placeholders inside the filter string, because “*” and “@” are used.

To make this work, we must use “STRSUBSTNO”:

STRSUBSTNO('<Filter>', <Values>)

That way, we construct the filter-text by ourselves and pass it into the filter string of the SETFILTER function. The result will look like this:

business central
setfilter
al code
troubleshooting
development tips
how-to
development