Это означает, что у вас есть таблица и структура с одинаковым именем. Это довольно удобно, но устарело сейчас , так как это привело ко многим путаницам.
Он содержит значения в виде таблицы из-за SELECT, но в вашем случае gt_output3
никогда не давалось значение в виде структуры . Это вызывает проблему с MOVE
(примечание: теперь ходы также устарели, вместо этого используйте =
):
MOVE gt_output3-namev TO gt_output-namev01.
Вы можете получить значения gt_output3
, ПРОВЕРЯЯ по таблице, например:
LOOP AT gt_output3 ASSIGNING FIELD-SYMBOL(<ls_output3>).
gt_output-namev01 = <ls_output3>-namev.
Внимание: gt_output
рассматривается здесь как структура, а не как внутренняя таблица (что ошибочно угадывается из ее соглашения об именах). Возможно, вы определили ее также как внутреннюю таблицу со строкой заголовка, поэтому лучше удалите строку заголовка и объявите / работайте с отдельной структурированной переменной (например, data gs_output like line of gt_output
и gs_output-namev01 ...
).
Если у вас ABAP 740 или новее, вы можете получить доступ к строкам напрямую по номеру строки, например, для доступа к первой строке:
gt_output-namev01 = gt_output3[ 1 ]-namev.