Оператор FILTER

ABAP 7.4 вышел уже очень давно, однако, его операторы мало кто использует. Рассмотрим сегодня оператор FILTER который позволяет выбирать данные из одной внутренней таблицы в другую по ключам.
Рассмотрим задачу, нам надо выбрать данные из одной внутренней таблицы lt_splfi в другую по  ключу carrid = 'AA'.
Как обычно это делают:

Сделаем тоже самое  с применение оператора FILTER

Так гораздо компактнее, но не критично. Реальный выигрыш получим если нам надо вытащить из исходной таблицы несколько строк по различным значениям ключа. Для этого создадим еще одну таблицу lt_filter_tab, в которой будем хранить необходимые нам ключи.
Было:

Стало:

Так уже гораздо компактнее.


Несколько особенностей оператора:
1. В условии WHERE нельзя использовать логические переменные NOT, OR и EQUIV;
2. Таблица фильтра должны быть SORTED или HASHED. 

 

Добавить комментарий

Ваш адрес email не будет опубликован.