Что такое внутренняя таблица?
ВНУТРЕННЯЯ ТАБЛИЦА используются для получения данных из фиксированной структуры для динамического использования в ABAP. Каждая строка внутренней таблицы имеет одинаковую структуру полей. В основном внутренние таблицы используются для хранения и форматирования данных из таблицы базы данных в программе.
В этом уроке вы узнаете:
- Что такое внутренняя таблица?
- Что такое рабочая зона?
- Разница между внутренним столом и рабочей областью?
- Типы внутренних таблиц
- Создание внутренних таблиц
- Заполнение внутренних таблиц
- Копирование внутренних таблиц
- Чтение внутреннего
- Удаление внутренних таблиц
Что такое рабочая зона?
Рабочие области представляют собой отдельные строки данных. Они должны иметь тот же формат, что и любые внутренние таблицы. Он используется для обработки данных во внутренней таблице по одной строке за раз.
Разница между внутренним столом и рабочей областью?
Картинка говорит тысячу слов :-)
Типы внутренних таблиц
Есть два типа внутренних таблиц.
- Внутренние таблицы со строкой HEADER
- Внутренние таблицы без строки HEADER.
Внутренние таблицы со строкой заголовка
- Здесь система автоматически создает рабочую область.
- Рабочая область имеет тот же тип данных, что и внутренняя таблица.
- Эта рабочая область называется линией ЗАГОЛОВОК.
- Именно здесь выполняются все изменения или любые действия над содержимым таблицы. В результате записи могут быть непосредственно вставлены в таблицу или доступны напрямую из внутренней таблицы.
Внутренние таблицы без заголовка :
- Здесь нет рабочей области, связанной с таблицей.
- Когда нам нужно получить доступ к таким таблицам, необходимо явно указать рабочую область.
- Следовательно, к этим таблицам нельзя получить прямой доступ.
Создание внутренних таблиц
Есть много способов создать внутреннюю таблицу. Давайте рассмотрим их один за
другим. 1. С помощью оператора Type
Давайте теперь создадим внутреннюю таблицу itab с помощью оператора TYPE.
Синтаксис -
Типы: начало строки,column1 тип I,column2 тип I,конец линии.
Пример:
ТИПЫ: начало строки,empno тип I,empname (20) тип c,конец линии.
Оператор TYPES создает определенную строку структуры.
Чтобы создать внутреннюю таблицу itab, используйте следующую команду:
Появляется строка типа data itab 10.
Внутренняя таблица itab создается со структурой строки. Помимо объявления структуры внутренней таблицы, предложение OCCURS также определяет, сколько записей таблицы хранится в оперативной памяти (в данном случае 10). Дополнительные записи записываются в область подкачки и могут повлиять на производительность
2. Ссылаясь на другую таблицу
Вы можете создать внутреннюю таблицу, обратившись к существующей таблице. Существующая таблица может быть стандартной таблицей SAP, таблицей Z или другой внутренней таблицей.
Синтаксис-
Данные<тип> [со строкой заголовка].
Пример-
DATA itab TYPE line ПРОИСХОДИТ 10 со строкой заголовка.
Здесь создается внутренняя таблица itab из строки типа со строкой заголовка. Пожалуйста , обратите внимание «с строкой заголовка» является необязательным
3.By со ссылкой на существующую структуру
Syntax-
DataLIKE встречается n [со строкой заголовка].
Пример-
ДАННЫЕ ИТАЛИ КАК ПРОИСХОДИТ 10.
Здесь создается таблица itab со структурой, аналогичной структуре sline
4. Создание новой структуры
Давайте теперь создадим внутреннюю таблицу с нашей собственной структурой. Здесь по умолчанию таблица создается со строкой заголовка .
Синтаксис -
Данные: началовстречается ,<объявление компонента>,…,Конец .
Пример -
Данные: начало itab происходит 10,column1 тип I,column2 (4) тип C,column3 как mara-ernam,Конец итаб.
Внутренняя таблица itab создана
Заполнение внутренних таблиц
Теперь, когда мы успешно создали несколько внутренних таблиц, давайте посмотрим, как нам заполнить их некоторыми записями. Существуют различные методы, доступные для заполнения таблиц 1. Добавление данных построчно . Первый доступный метод - это использование оператора APPEND.Используя оператор APPEND, мы можем либо добавить одну строку из другой рабочей области во внутреннюю таблицу, либо мы можем добавить одну начальную строку во внутреннюю таблицу ...
Синтаксис -
ДОБАВИТЬ [К / НАЧАЛЬНАЯ СТРОКА К]