ФМ из разряда если уже есть, то почему бы и не воспользоваться. В общем где лежат краткие тексты материала знают все, таблица MAKT, так вот эта зараза именно и читает эти данные за вас, с небольшими оптимизациями по чтению данных из буфера, если они уже там есть а не базы.
FUNCTION MAKT_ARRAY_READ.
*"----------------------------------------------------------------------
*"*"Globale Schnittstelle:
*" IMPORTING
*" VALUE(KZRFB) LIKE MTCOM-KZRFB DEFAULT ' '
*" VALUE(NEUFLAG) LIKE T130F-KZREF DEFAULT ' '
*" TABLES
*" IPRE09 STRUCTURE PRE09 OPTIONAL
*" MAKT_TAB STRUCTURE MAKT OPTIONAL
*" EXCEPTIONS
*" ENQUEUE_MODE_CHANGED
*"----------------------------------------------------------------------
Как пользоваться вроде как и так ясно, в табличку IPRE09 заносим коды материала и код языка на котором хотим получить тексты и получаем результат в MAKT_TAB. Из флажков в принципе:
KZRFB - Сбросить данные буфера. В принципе типа для оптимизации если идет последующий вызов и такие данные уже читались, то этот ФМ возьмет данные из буфера, соответственно если к этому моменту уже была смена данных, то актуализация буфера дело вызывающего, т.е. ваше.
NEUFLAG - А это типа флажок подчитать данные из базки если в буфере чего-то не нашлось и т.д. Глубоко ковырять не стал, вообщем-то
Для простоты вызова флажки не ставим и получаем результат или если знаем что тексты меняются тогда ставим флажок KZRFB.