Hi Patrick,
APPLY_FILTER will actually get all the records and applies the filter on the result set. It is bound to be slow.
Instead if you could rewrite the code using CE functions then apply the filter on the projection directly then you will see vast performance improvement.
lt_out = select kunnr,name1 from kna1;
var_out = APPLY_FILTER(:lt_out,:IN_KUNNR);
Regards
PK