и как ограничить перелопачивание огромного кол-ва данных
1. Вибираете все материалы которые у вас являются ГП (кто такой ГП не знаю, но надеюсь вам виднее что это)
2. Соединяете MKPF + MSEG а дальше ограничиваете выборку по отобранным материалам, если их не много то через matnr IN <range> или если много тогда через FOR ALL ENTRIES + вид движения.
Стандартно в системе обычно есть индекс MSEG~M который очень даже может быть использован, ключи там следующие:
MANDT Мандант
MATNR Номер материала
WERKS Завод
LGORT Склад
BWART Вид движения
SOBKZ Индикатор особого запаса