При внутренними таблицами field-symbols можно использовать только в loop или в read? А если необходимо добавить данные в таблицу, то все равно нужно объявлять переменную типа строки таблицы?
Можно использовать и там и там.
DATA: lt_mseg_one TYPE SORTED TABLE OF mseg WITH UNIQUE KEY mblnr mjahr zeile.
FIELD-SYMBOLS: <lt_mseg_one> LIKE LINE OF lt_mseg_one.
SELECT * INTO TABLE lt_mseg_one
FROM mseg.
* Чтение одной строки
READ TABLE lt_mseg_one ASSIGNING <lt_mseg_one> INDEX 1.
* Чтение в цикле строк таблицы
LOOP AT lt_mseg_one ASSIGNING <lt_mseg_one>.
ENDLOOP.
А так же можно использовать и для добавления данных в таблицу, так как когда вы добавляете field-symbols, то вы же говорите какого он типа, вот вам и объявление строки. Вообще таблицы с заголовками убрали почему-то при использовании внутри реализации методов класса, т.е. там объявить таблицу с заголовком запрещено, поэтому должна быть объявлена строка, которая заполняется, а потом передается для вставки/добавления в таблицу