Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SAP(Контрольная работа №3).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
240.64 Кб
Скачать

  1. Что такое внутренняя таблицы, её тело и строка заголовка.

Внутренняя таблица (Internal Table) — временная таблица, сохраняемая в оперативной памяти на сервере приложений.

Она создается и заполняется программой во время выполнения и уничтожается после завершения выполнения программы. Как и таблица базы данных, внутренняя таблица состоит из одной или более строк идентичной структуры, но в отличие от таблицы базы данных, она не может использоваться после завершения программы. Она используется как временная память для обработки данных или как временный буфер.

Внутренняя таблица состоит из тела и дополнительной строки заголовка.

Тело (Body) содержит строки внутренней таблицы. Все строки имеют одинаковую структуру. Термин «внутренняя таблица» обычно относится непосредственно к телу внутренней таблицы.

Строка заголовка (Header Line) Field String той же структуры, что и у строки тела таблицы, но она может содержать только одну строку. Это — буфер, используемый для содержания каждой записи перед ее добавлением во внутреннюю таблицу, или каждой записи, прочитанной из внутренней таблицы.

  1. Определение внутренней таблицы со строкой заголовка используя begin of и like.

Для определения внутренней таблицы со строкой заголовка нужно включить в определение или begin of, или with header line. Если в определении задано begin of, строка заголовка создается автоматически. Если вместо begin of используется like, у внутренней таблицы не будет строки заголовка, если не добавить with header line после выражения occurs.

В единственном случае внутренняя таблица используется без строки заголовка — в случае вложенной внутренней таблицы. У вложенной внутренней таблицы не может быть строки заголовка.

report ztx1101.

data: begin of it1 occurs 10,

f1,

f2,

f3,

end of it1.

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

data it2 like ztxlfa1 occurs 100.

У нее те же компоненты, что и у структуры DDIC ztxlfa1. У нее нет заголовка, потому что в определении нет ни begin of, ни with header line

  1. Когда выделяется память для внутренней таблицы.

Память для тела внутренней таблицы выделяется не при ее описании, а при добавлении первой строки в таблицу.

  1. Порядок добавления строк во внутреннюю таблицу.

Для добавления одной строки во внутреннюю таблицу можно использовать оператор append.

append копирует одну строку из любой рабочей области и помещает её в тело в конце существующих строк. Рабочая область может быть строкой заголовка или любой другой Field String, имеющей такую же структуру, что и строка в теле внутренней таблицы.

Синтаксис оператора append:

append [wa to] [initial line to] it.

где:

wa — имя рабочей области

it — имя ранее определенной внутренней таблицы

  1. Добавление данных во внутреннюю таблицу, используя оператор append, формат оператора, пример использования.

Для добавления одной строки во внутреннюю таблицу можно использовать оператор append.

append копирует одну строку из любой рабочей области и помещает её в тело в конце существующих строк. Рабочая область может быть строкой заголовка или любой другой Field String, имеющей такую же структуру, что и строка в теле внутренней таблицы.

Синтаксис оператора append:

append [wa to] [initial line to] it.

где:

wa — имя рабочей области

it — имя ранее определенной внутренней таблицы

Особенности использования оператора append:

  • у wa должна быть такая же структура, что и у строки тела

  • wa может быть строкой заголовка или любой другой Field String, имеющей такую же структуру, что и строка в теле

  • если не определять рабочую область, то по умолчанию система использует строку заголовка (строка заголовка — заданная по умолчанию рабочая область)

  • после выполнения оператора append, системная переменная sy-tabix принимает значение номера только что добавленной строки (например, после добавления первой строки значением sy-tabix будет 1, после добавления второй строки — 2 и так далее)

Оператор

append it to it.

добавляет содержимое строки заголовка с именем it к телу с именем it. Оператор

append it.

делает то же самое, потому что заданная по умолчанию рабочая область — строка заголовка.

Рабочая область, заданная явно в операторе append, известна как явная рабочая область (Explicit Work Area). Любая Field String, имеющая ту же структуру, что и строка внутренней таблицы, может использоваться как явная рабочая область. Если рабочая область не задана, то по умолчанию используется неявная рабочая область (строка заголовка).

Оператор

append initial line to it

добавляет во внутреннюю таблицу строку, содержащую начальные значения (пробелы и нули). Этот оператор аналогичен последовательному выполнению двух операторов:

clear it.

append it.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]