TABLES ABAP Декларация внутренних таблиц

Декларация внутренних таблиц ABAP

Рассмотрим каждый из способов определения внутренних таблиц в языке ABAP. Также рассматривается новый вариант определения, инлайновая декларация, появившуюся в версии 7.4.

Определение на основе структуры, таблицы БД или элемента из словаря

Определив заранее структуру или элемент нужного типа в словаре, на основе создаём внутреннюю таблицу следующим образом:

В этом примере используются стандартные типы данных, но аналогична конструкция и для пользовательских. Стоит отметить, что при обращении к столбцу внутренней таблицы, с элементом в качестве строки элемент, имя этого столбца будет не vkorg, а table_line(стандартное имя) для таблиц, которые определены таким образом.

Декларация на основе локальной структуры

С помощью этого способа, локально, в программе, методе или подпрограмме определяется локальная структура, после чего таблица определяется аналогично.

Определение на основе типа таблицы из словаря

Определяя тип таблицы в словаре, задаём дополнительные свойства таблицы, которые определены с помощью этого типа, например, ключ и др. Тип таблицы упрощает декларацию внутренней таблицы.

Инлайновая декларация внутренних таблиц

Этот способ определения доступен начиная с версии 7.4. С помощью нового синтаксиса определяется внутреннюю таблицу без определения заранее типа. То есть программа на основе данных анализирует какой тип нужен и формирует таблицу согласно данному типу. Подробнее про инлайн декларацию, в том числе, и внутренних таблиц можно почитать в статье Инлайновая декларация.
Примеры определения:

Определение таблицы со строкой заголовка(устарело)

Эта конструкция устаревшая, но знать её нужно, поскольку иногда эта конструкция используется, например, на старых версиях или в стандартном коде.

Добавить комментарий