ABAP: синтаксис для создания внутренней таблицы из существующей таблицы базы данных
Я новичок в ABAP. Начал изучать внутренние таблицы. Я читал о способах создания внутренних таблиц.
я наткнулся на следующий синтаксис для создания внутренней таблицы из существующей таблицы базы данных:
data: it_mara type table of mara.
Я смущен, так как Мара-это таблица, и если оба l.h.s и r.h.s имеют один и тот же тип, тогда не должно быть просто:
data: it_mara type mara.
какова необходимость преобразования mara в таблицу, когда она уже является таблицей?
3 ответов
MARA
является прозрачной таблицей, что означает, что она функционирует одновременно с типом структуры MARA
. Так работает SAP. :)
исторические причины (всегда хорошая догадка...).
оригинальный и в настоящее время устаревший способ объявления таблицы (со строкой заголовка был DATA it_mara TYPE mara OCCURS 10
. Без OCCURS
, вы не объявили таблицу, поэтому она стала структурой. Я предполагаю, что для поддержания обратной совместимости это не было изменено, когда .
SAP таблица DDIC (прозрачная таблица, объединенная таблица, таблица кластера) функция как структура.
внутренняя таблица-это список структура ( = таблица DDIC) значений.
в вашем примере таблицы SAP DDIC Мара (общие материальные данные), мы можем определить его как внутреннюю таблицу как
data: it_mara type STANDARD table of mara.
что создает стандартный внутренние таблица
data: it_mara type SORTED table of mara.
что создает отсортированный внутренняя таблица