Я хотел бы спросить, как выполнить базовую фильтрацию поиска на экране выбора с несколькими полями ввода, которые не требуются.
Я попытался сделать это, используя несколько операторов IF, за которыми следуют предложения WHERE.которая решает мою текущую проблему, но это не совсем правильно, если я работаю только с несколькими входами (2 на данный момент, 'ID' и 'Number'), код не слишком длинный, но если его больше 10 или около тогочувствую, что неправильно делать это таким образом
То, что я до сих пор пробовал, было примерно таким:
IF lv_id IS INITIAL and lv_nr IS INITIAL.
SELECT * from DBase INTO TABLE Local_Table.
ELSEIF lv_id IS NOT INITIAL AND lv_nr IS INITIAL.
SELECT * from DBase INTO TABLE Local_Table WHERE ID = lv_nr.
ELSEIF lv_id IS INITIAL AND lv_nr IS NOT INITIAL.
SELECT * from DBase INTO TABLE Local_Table WHERE Number = lv_nr.
ELSEIF lv_id IS NOT INITIAL AND lv_nr IS NOT INITIAL.
SELECT * from DBase INTO TABLE Local_Table WHERE ID = lv_id AND Number = lv_nr.
Ожидаемый результат - поиск выполняется правильно, без ввода или нескольких не-обязательные входы, без необходимости писать очень длинный код в случае большого количества входов.