- •Тема 6 Первая Программа abap/4
- •1 Среда разработки (Development Environment)
- •2 Типы программ (Program types)
- •3. Создание первой программы и получение помощи
- •4 Синтаксис abap/4: оператор select, упрощенный оператор data
- •5. Системные переменные
- •6. Цепной Оператор
- •7. Оператор select single
- •9. Синтаксис программ, написанных на языке авар/4
3. Создание первой программы и получение помощи
Для создания программы используется транзакция se38.
Транзакция – это программа в оболочке, которая отслеживает целостность данных.
Для вызова транзакции её имя набирается в командной строке.
Если транзакция вызывается из другой транзакции, то она вводится следующим образом:
/oимя_новой транзакции --- вызов транзакции в новом окне
/nимя_новой транзакции --- вызов транзакции в текущем окне
Мандант – уровень для разделения функций. Учебный мандант 800.
При создании программы нужно ввести атрибуты программы:
Исполняемая программа
Тестовая программа
Пакет: $tmp
Буфер обмена: Ctrl-Y - начать выделение,
Сtrl-C - копировать
Ctrl-V - вставить.
Первый экран – экран Program Attributes, на котором задаются атрибуты программы.
В редакторе исходного текста Вы введете исходный текст, сохраните его, и затем выполните программу.
report ztx0201.
write 'Hello SAP World'.
Hello SAP World
Есть два основных типа справки в редакторе, справка F1 (help) и Библиотечняа справка (Library help) R/3. Справка F1 также называется документацией ключевого слова ABAP/4 (keyword documentation).
Справка F1 описывает синтаксис ключевых слов ABAP/4 и дает примеры их использования. Для получения справки нужно на команде нажать F1.
Для получения документации выполнить транзакцию: abapdocu (документация по abap).
4 Синтаксис abap/4: оператор select, упрощенный оператор data
Для формирования отчетов из таблиц базы данных используется оператор select. Синтаксис оператора:
select * from t1 [into wa] [where f1 op v1 and/or f2 op v2 ...]
[order by f1].
(other abap/4 statements)
endselect.
t1 - название таблицы, определенной в операторе tables. wa - название рабочей области, которая соответствует структуре таблицы. f1 - название поля в таблице op - один из следующих логических операторов: = <>> = <<=. v1 - литерал или переменная. Пример:
tables ztxlfa1.
select * from ztxlfa1 into ztxlfa1 order by lifnr.
write / ztxlfa1-lifnr.
endselect.
Имя таблицы является заданной по умолчанию рабочей областью, следовательно её можно не указывать.
tables ztxlfa1.
select * from ztxlfa1 order by lifnr.
write / ztxlfa1-lifnr.
endselect.
Оператор tables всегда создает заданную по умолчанию рабочую область таблицы, т.е. Вы не должны определять свою собственную рабочую область. В некоторых случаях однако, она необходима. Например, если бы Вы хотели сохранить оригинальную версию строки и иметь измененную версию, то необходимо иметь две рабочие области.
Дополнительные рабочие области таблицы определяются в операторе data.
Упрощенный оператор data . Синтаксис оператора data
data wa like t1.
wa – название рабочей области таблицы, которую Вы хотите определить
t1 – название таблицы, которую Вы хотите скопировать в рабочую область
Пример создания новой рабочей области:
report ztx0204.
tables ztxlfa1.
data wa like ztxlfa1.
select * from ztxlfa1 into wa order by lifnr.
write / wa-lifnr.
endselect.
Когда Вы явно указываете рабочую область в операторе select (into wa), то эту рабочую область называют явной рабочей областью.
Для задания дополнительных условий выборки используется дополнение where. Символьные значения должны заключаться в одинарные кавычки.
report ztx0205.
tables ztxlfa1.
select * from ztxlfa1 where lifnr < '0000002000' order by lifnr.
write / ztxlfa1-lifnr.
endselect.