Введение в ABAP: типы данных, OperaТоры и редактор – Учебное пособие
⚡ Умное резюме
Введение в ABAP охватывает язык программирования. SAP Этот ресурс предназначен для разработки приложений в системе R/3. В нем объясняются типы данных, операторы, управляющие операторы, внутренние таблицы и редактор SE38, с которого начинается каждая программа ABAP.

Что такое АБАП?
ABAP расшифровывается как Advanced Business Application Programming (расширенное программирование бизнес-приложений). Это язык программирования для разработки...ping заявки на SAP Система Р/3.
Последняя версия ABAP называется ABAP Objects и поддерживает объектно-ориентированное программирование. SAP будет запускать приложения, написанные с использованием ABAP/4, более ранней версии ABAP, а также приложения, использующие объекты ABAP.
В данном введении не ставится задача задокументировать все ABAP-язык Он быстро знакомит с ключевыми понятиями, позволяя начать писать работающие программы, а затем перейти к более сложным темам.
Типы данных
Каждая программа на ABAP начинается с объявления данных, с которыми она будет работать.
Синтаксис объявления переменной в ABAP –
DATA Variable_Name TYPE Variable_Type.
Пример:
DATA employee_number TYPE I.
Ниже приведён список типов данных, поддерживаемых ABAP.
| Тип данных | Начальная длина поля | Допустимая длина поля | Начальное значение | Смысл |
|---|---|---|---|---|
| Числовые типы | ||||
| I | 4 | 4 | 0 | Целое число (целое число) |
| F | 8 | 8 | 0 | Число с плавающей запятой |
| P | 8 | 1 – 16 | 0 | Упакованный номер |
| Типы персонажей | ||||
| C | 1 | 1 – 65535 | '…' | Текстовое поле (буквенно-цифровые символы) |
| D | 8 | 8 | '00000000' | Поле даты (формат: ГГГГММДД) |
| N | 1 | 1 – 65535 | '0…0' | Текстовое поле с числовыми значениями (цифровые символы) |
| T | 6 | 6 | '000000' | Поле времени (формат: HHMMSS) |
| Шестнадцатеричный тип | ||||
| X | 1 | 1 – 65535 | Х'0…0' | Шестнадцатеричное поле |
Восемь перечисленных выше типов — это классические типы фиксированной длины. В ABAP также есть два типа переменной длины, с которыми новички знакомятся практически сразу: STRING для текста любой длины, и XСТРИНГ для двоичных данных любой длины.
ABAP OperaTORs
После того как данные объявлены, операторы вносят в них изменения и проводят сравнение.
Присвоение значений
a = 16. MOVE 16 TO a. WRITE a TO b.
Все три оператора перемещают значение. Знак равенства — это современная форма, а MOVE и WRITE TO — это более старые эквиваленты, которые вы все еще можете встретить в устаревших программах.
Арифметические операции
COMPUTE a = a * 100.
ABAP также поддерживает ADD, SUB.TRACT, MULTIPLY и DIVIDE используются как отдельные ключевые слова, но чаще всего применяется форма COMPUTE, показанная выше.
Логические операторы
Логические операторы возвращают true или false, и именно их проверяет каждое управляющее выражение в следующем разделе. Каждый из них имеет словесную и символьную форму, и эти две формы взаимозаменяемы.
| Слово форма | Символическая форма | Смысл |
|---|---|---|
EQ |
= |
Равно |
NE |
<> |
Не равно |
GT |
> |
Больше |
GE |
>= |
Больше или равно |
LT |
< |
Less чем |
LE |
<= |
Less чем или равно |
Контрольные заявления
Операторы управления используют указанные выше логические операторы для определения того, какие строки кода будут выполняться и как часто.
ЕСЛИ … КОНЕЦ ЕСЛИ
IF [NOT] exp [ AND / OR [NOT] exp ]. ........ [ELSEIF exp. .......] [ELSE. .......] ENDIF.
Заявление CASE
CASE variable. WHEN value1. ......... WHEN value2. ......... [WHEN OTHERS. .........] ENDCASE.
Цикл WHILE
WHILE <logical expression>. ..... ENDWHILE.
Цикл DO
DO <n> TIMES. ..... ENDDO.
Цикл WHILE выполняется до тех пор, пока выполняется его условие. Цикл DO выполняется фиксированное количество раз, или бесконечно, пока его не остановит оператор EXIT.
Внутренние таблицы в ABAP
Одной переменной редко бывает достаточно. Бизнес-программы считывают множество строк одновременно, и внутренняя таблица — это структура, которая хранит их в памяти.
Внутренняя таблица представляет собой динамический массив. Она не имеет фиксированного размера, существует только в течение выполнения программы и является стандартным способом перемещения строк между базой данных и экраном.
" Declare an internal table and a work area DATA: lt_employees TYPE TABLE OF pa0001, ls_employee TYPE pa0001. " Fill it from the database SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS. " Read it row by row LOOP AT lt_employees INTO ls_employee. WRITE: / ls_employee-pernr, ls_employee-ename. ENDLOOP.
Три описанные выше операции охватывают большую часть повседневной работы: объявление таблицы, ее заполнение с помощью оператора SELECT, а затем обход таблицы с помощью цикла LOOP AT. Оператор APPEND добавляет строку, READ TABLE находит ее, а DELETE удаляет строки, соответствующие условию.
Редактор ABAP/4
Весь приведенный выше синтаксис набран в одном месте.
сделка SE38 Открывается редактор ABAP, где вы, как разработчик, будете проводить большую часть времени, создавая и изменяя программы.
Редактор ABAP/4, транзакция SE38
Как написать свою первую программу на ABAP
На экране выше показаны следующие шаги. Последовательность действий, описанная ниже, позволяет создать рабочий отчет за несколько минут.
- Откройте редактор. Введите код транзакции SE38 в SAP В поле команд графического интерфейса пользователя нажмите Enter.
- Назовите программу. Введите имя, начинающееся с Z or Y, например
ZHELLO_WORLDЭти две буквы обозначают пространство имен клиента, и SAP гарантирует, что они никогда не будут перезаписаны во время обновления. - Создайте это. Нажмите СоздавайВведите краткое описание и выберите Исполняемая программа как тип.
- Назначьте пакет. Выбирайте Локальный объект Для тренировочной работы. Локальный объект остается в вашей системе и не требует запроса на перенос.
- Напишите код.
REPORT zhello_world. DATA employee_name TYPE string. employee_name = 'Guru99'. WRITE: / 'Hello, ABAP!', / 'Welcome', employee_name.
- Проверьте синтаксис. Штамповочный пресс Ctrl + F2В строке состояния отображается информация об ошибке и строка кода, вызвавшая её.
- Активируйте программу. Штамповочный пресс Ctrl + F3Неактивная программа не может быть запущена.
- Выполнить. Штамповочный пресс F8. Список вывода открывается и отображает обе строки WRITE.
Косая черта в операторе WRITE принудительно переводит на новую строку. Её удаление позволяет вывести всё на одной строке, что является первым навыком форматирования, который усваивают большинство начинающих пользователей.
Стандартная транзакция ABAP Codes
Несколько кодов транзакций охватывают практически все, что может понадобиться начинающему ABAP-разработчику.
| сделка | Цель |
|---|---|
SE38 |
Редактор ABAP. Создавайте, редактируйте, проверяйте и запускайте программы. |
SE80 |
Object Navigator. Единая среда разработки для программ, классов, пакетов и экранов. |
SE11 |
Словарь ABAP. Определение и проверка таблиц базы данных, элементов данных и доменов. |
SE16N |
Браузер данных. Просматривайте содержимое любой таблицы без написания запроса SELECT. |
SE37 |
Конструктор функций. Создание и тестирование функциональных модулей. |
SE24 |
Конструктор классов. Создание глобальных классов для объектов ABAP. |
ST22 |
Анализ дампа памяти. Чтение ошибки времени выполнения при завершении программы. |
Для составления первого отчета достаточно команд SE38 и SE11. Команда ST22 становится наиболее ценной в этой группе в момент сбоя программы.

