
- •Что такое внутренняя таблицы, её тело и строка заголовка.
- •Определение внутренней таблицы со строкой заголовка используя begin of и like.
- •Определение внутренней таблицы без строки заголовка.
- •Когда выделяется память для внутренней таблицы.
- •Порядок добавления строк во внутреннюю таблицу.
- •Добавление данных во внутреннюю таблицу, используя оператор append, формат оператора, пример использования.
- •Особенности дополнения occurs.
- •Операторы, используемые для чтения данных из внутренней таблицы, их форматы.
- •Чтение данных из внутренней таблицы используя оператор loop at, формат оператора.
- •Работа операторов exit, continue и check внутри цикла loop at/endloop.
- •Чтение единственной строки, используя оператор read table, формат оператора.
- •Дополнение index оператора read table, его особенности.
- •Дополнение with key keyexp оператора read table, его особенности.
- •Дополнение binary search оператора read table, его особенности.
- •Дополнение comparing оператора read table, его особенности.
- •Дополнение transporting оператора read table, его особенности.
- •Формы для выражения transporting в операторе read table:
- •Сортировка внутренней таблицы используя оператор sort, его дополнения и особенности.
- •Особенности дополнения as text.
- •Оператор тела таблицы, получение информации о внутренней таблице.
- •Оператор describe table, его описание и особенности работы.
- •Оператор append lines, его описание и особенности работы.
- •Оператор insert lines, его описание и особенности работы.
- •Оператор editor-call, его описание и особенности работы.
- •Оператор insert, его описание и особенности работы.
- •Оператор modify, его описание и особенности работы.
- •Оператор free, его описание и особенности работы.
- •Оператор delete, его описание и особенности работы.
- •Оператор clear, его описание и особенности работы.
- •Оператор refresh, его описание и особенности работы.
- •Оператор append sorted by, его описание и особенности работы.
- •Оператор collect, его описание и особенности работы.
- •Копирование информации из одной внутренней таблицы в другую.
- •Оператор select … into table, дополнения, особенности оператора.
- •Запишите различные формы оператора select для заполнения внутренней таблицы в порядке убывания эффективности оператора.
- •Управление процессом обработки с помощью оператора at first / endat.
- •Управление процессом обработки с помощью оператора at last / endat.
- •Управление процессом обработки с помощью оператора at new / endat.
- •Управление процессом обработки с помощью оператора at end of / endat.
- •Управление процессом обработки с помощью оператора sum.
- •Управление процессом обработки с помощью оператора on change of / endon.
Дополнение binary search оператора read table, его особенности.
При использовании дополнения with key желательно также использовать дополнение binary search, которое приводит к поиску строки с использованием алгоритма двоичного поиска вместо линейного просмотра таблицы. Это приводит к тому же увеличению производительности, которое достигается при поиске в таблице базы данных через индекс. Таблица должна быть заранее отсортирована в порядке возрастания компонент, определенных в ключевом выражении.
Дополнение comparing оператора read table, его особенности.
comparing обнаруживает различия между содержимым рабочей области и строки, которая была найдена, до помещения значений в рабочую область. Используют его вместе с index или with key.
Если после нахождения строки содержимое рабочей области — такое же, как в найденной строке, sy-subrc будет 0. Если содержимое будут различным, то sy-subrc будет 2, и содержимое будет перезаписано найденной строкой. Если строка не будет найдена, то sy-subrc будет > 2, и содержимое останется неизменным.
Формы для выражения сравнения в операторе read table:
Cmpexp |
Описание |
f1 f2 ...
|
После нахождения строки значение f1 в найденной строке сравнивается со значением f1 в рабочей области. Затем значение f2 сравнивается со значением f2 в рабочей области и так далее. Если они все равны, то sy-subrc установлена в 0. Если есть любое отличие, то sy-subrc установлена в 2 |
all fields |
Сравниваются все поля, как описано для f1 f2... |
no fields |
Поля не сравниваются (это — значение по умолчанию) |
Дополнение transporting оператора read table, его особенности.
transporting указывает, какие поля должны быть перемещены в рабочую область. Если строка не найдена, transporting ничего не делает.
Формы для выражения transporting в операторе read table:
Texp |
Описание |
f1 f2 ... |
После нахождения строки значение f1 в найденной строке перезаписывает значение f1 в рабочей области. Затем значение f2 перезаписывает значение f2 в рабочей области и так далее. Перемещаются только компоненты, перечисленные после transporting. Все другие компоненты остаются неизменными |
all fields |
Все поля транспортируются. Это — значение по умолчанию, и имеет тот же эффект, как отсутствие дополнения transporting |
no fields |
Поля не транспортируются. Ни одно поле в рабочей области не изменено |
Сортировка внутренней таблицы используя оператор sort, его дополнения и особенности.
Для сортировки содержимого внутренней таблицы используется оператор sort. Строки могут быть отсортированы по одному или более столбцам в порядке возрастания или убывания.
Синтаксис оператора sort:
sort it [descending] [as text]
[by f1 [ascending|descending] [as text] f2 ...].
где:
it — имя внутренней таблицы
f1 и f2 — компоненты it
... — любое число имен полей, необязательно сопровождаемых ascending, descending и/или as text
Особенности использования оператора sort:
ascending (возрастание) — порядок сортировки по умолчанию
Если descending (убывание) появляется после sort и перед любыми именами компонент, это становится значением по умолчанию и применяется ко всем компонентам. Это значение по умолчанию может быть отменено для отдельной компоненты определением ascending после имени компоненты
Если никакое дополнение не определено, внутренняя таблица сортируется по заданным по умолчанию ключевым полям (все поля типа c, n, p, d и t) в порядке возрастания
Порядок сортировки для строк, у которых есть одинаковые значения, не предсказуем.
Внутренне в операционной системе каждый символ, видимый на экране, представлен числовым значением. Во время сортировки числовое значение символа определяет получающийся порядок. Эту последовательность сортировки называют двоичной последовательностью сортировки (binary sort sequence).
Дополнение as text изменяет порядок сортировки так, чтобы символы с диакритическим знаком были сортированы правильно. С as text не используется двоичная последовательность сортировки. Вместо этого порядок сортировки определяет текстовая среда.
Текстовая среда — ряд характеристик, связанных с языком входа пользователя в систему. Это определено кодом языка, который вводится при входе, и состоит, прежде всего, из набора символов языка и последовательности сопоставления. Можно также изменить текстовую среду во время выполнения, используя оператора set locale. Этот оператор устанавливает значение sy-langu, текущий набор символов и последовательность сопоставления для определенного языка.