- •Что такое объект разработки, их виды.
- •Типы программ abap/4.
- •Цель и структура отчета, виды экранов.
- •Соглашения об именах программ.
- •Транзакция, особенности вызова транзакции, мандант, учебный мандант.
- •Синтаксис оператора select.
- •Упрощенный оператор data.
- •Системные переменные sy-datum, sy-uzeit, sy-dbcnt.
- •Цепной оператор.
- •Синтаксис оператор select single.
- •Комментарии, их виды.
- •Буфер программы и roll area (область реестра) программы и их информационные наполнения.
- •Символьные типы данных.
- •Числовые типы данных.
- •Определение переменных с использованием parameters, формат оператора.
- •Формат определения констант.
- •Формат определения Field String с помощью begin of.
- •Оперделение Field String с помощью like, использование оператора tables.
- •Формат задания типов.
- •Системные переменные, перечислите основные системные переменные.
- •Оператор присваивания clear, формат оператора, его действия.
- •Оператор присваивания move, форматы оператора.
- •Оператор присваивания move-corresponding, формат оператора.
- •Оператор compute.
- •Операторы add и add-corresponding.
- •Операторы subtract и subtract-corresponding.
- •Операторы multiply и multiply-corresponding, divide и divide-corresponding
- •Правила записи математических выражений.
- •Условный оператор if, формат оператор.
- •Специальные операторы для сравнения символьных строк.
- •Символы, используемые для задания шаблонов.
- •Оператор case, формат оператора.
- •Оператор do, формат оператора.
- •Оператор while, формат оператора.
- •Операторы управления работой цикла.
- •Простейший формат оператора Write.
Цепной оператор.
Двоеточие (:) называется цепным оператором. Он используется для объедининия строк программы, начинающихся с одинакового слова или последовательности слов. Например, строки:
tables ztxlfa1.
tables ztxlfb1.
можно записать с использованием цепного оператора:
tables: ztxlfa1, ztxlfb1.
Цепные операторы используются для улучшения читаемости программы.
Синтаксис оператор select single.
Оператор select single используется для получения единственной записи из базы данных.
Упрощенный синтаксис для select single:
select single * from t1 [into wa]
[where f1 op v1 and/or f2 op v2 ...].
где:
* — указывает, что все поля из таблицы должны быть получены
t1 — имя таблицы, определенной в операторе tables
wa — имя рабочей области, которая соответствует структуре таблицы
f1 — имя поля в таблице t1
op — один из следующих логических операторов: = <> > >= < <=
v1 — литерал или переменная
Особенности оператора:
select single не начинает цикл, потому что возвращает только одну строку — поэтому endselect не используется
для гарантии, что будет возвращена одна уникальная строка, нужно определить все первичные поля ключа в выражение where
Комментарии, их виды.
Есть два вида комментариев:
* (звездочка) в первом столбце указывает, что вся строка — комментарий (при этом закомментированная строка станет синей)
" (двойные кавычки) в каком-нибудь месте в строке указывают, что остаток от строки — комментарий (комментарий не изменит цвет, поскольку выделяется только вся строка)
Нет символа конца комментария. Комментарий заканчивается в конце текущей строки.
Буфер программы и roll area (область реестра) программы и их информационные наполнения.
Программы буферизуются на сервере приложений в буфере программы (program buffer). Когда пользователь делает запрос выполнить программу, программа ищется в буфере программы. Если не было изменений в базе данных, то используется буферизованная копия программы. В противном случае, если копия в базе данных обновлена, то программа перезагружается.
Для каждого пользователя, который выполняет программу, не делается отдельной копии программы. Все пользователи выполняют одну и ту же копию программы. Дифференцирующий фактор — отдельное распределение памяти, называемое областью реестра (roll area). Для каждого пользователя при выполнении программы выделяется одна область реестра. Система использует область реестра для содержания всей информации о текущем выполнении программы и всех распределениях памяти. В области реестра хранится следующая информация: переменные и их значения, текущий указатель программы, список вывода и т.д.
Пусть пользователь выполняет программу, и область реестра распределена. Если, не ожидая завершения работы программы, пользователь переключается на другой сеанс и запускает снова ту же программу, то для второго выполнения этой программы распределяется другая область реестра. У пользователя есть две области реестра — по одной для каждого выполнения программы. Если бы пользователь вместо этого выполнил другую программу, у него все равно было бы две области реестра — по одной для каждой программы.
Неизменяемые объекты данных.
Объекты данных (Data objects) — местоположения памяти, которые используются для содержания данных во время работы программы.
Типы неизменяемых объектов данных — литералы и константы.
Изменяемые объекты данных.
Объекты данных (Data objects) — местоположения памяти, которые используются для содержания данных во время работы программы.
Изменяемые объекты данных — переменные (variables), строки полей (field strings) и внутренние таблицы (internal tables).
Field string в ABAP/4 эквивалентна структуре. Внутренняя таблица ABAP/4 — эквивалент массива.
Определение литералов и их виды.
Литерал (literal) — неизменяемый объект данных. Literals могут использоваться в любом месте программы.
Есть четыре типа литералов:
литерал строки символов character string literal
числовой литерал numeric literal
литерал с плавающей точкой floating-point literal
шестнадцатеричный литерал hexadecimal literal
Определение переменных с помощью оператора data, формат оператора.
Оператор data используется для определения переменных. Переменным, определенным в операторе data , задается тип данных и, может быть, значения по умолчанию.
Синтаксис оператора data:
data v1[(l)] [type t] [decimals d] [value 'xxx'].
или
data v1 like v2 [value 'xxx'].
где:
v1 — имя переменной
v2 — имя переменной, ранее определенной в программе, или имя поля таблицы или
структуры в словаре данных (Data Dictionary)
(l) — внутренняя спецификация длины
t — тип данных
d — число позиций десятичной точки (используется только с типом p)
'xxx' — литерал, который определяет значение по умолчанию
