Если P_MATNR имеет значение «%», которое отображается на все значения, в этом случае фильтрация не требуется
Таким образом, вы можете изменить скрипт следующим образом
if :P_MATNR <> '%' then
vfilmatnr := ' "MATNR" IN ( '||:P_MATNR||' )';
end if;
На самом деле, следующие критерии всегда возвращают "true", так почему строка кода adda ничего не стоит?
vfilmatnr := ' "MATNR" LIKE ( '%' )';