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

Що таке ABAP?
ABAP розшифровується як Advanced Business Application Programming (розширене програмування бізнес-додатків). Це мова програмування для розробкиping заявки для SAP система R/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" | Поле часу (формат: ГГММСС) |
| Шістнадцятковий тип | ||||
| X | 1 | 1 - 65535 | X'0 … 0′ | Шістнадцяткове поле |
Вісім вищезазначених типів – це класичні типи фіксованої довжини. ABAP також пропонує два типи змінної довжини, з якими початківці знайомляться майже одразу: STRING для тексту будь-якої довжини та XSTRING для двійкових даних будь-якої довжини.
ABAP Operaторс
Після оголошення даних саме оператори змінюють їх та порівнюють.
Присвоєння значень
a = 16. MOVE 16 TO a. WRITE a TO b.
Усі три оператори переміщують значення. Знак рівності – це сучасна форма, тоді як MOVE та WRITE TO – це старіші еквіваленти, які ви все ще зустрінете у застарілих програмах.
Арифметичні дії
COMPUTE a = a * 100.
ABAP також підтримує ADD, SUBTRACT, 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 |
Навігатор об'єктів. Єдине робоче місце для програм, класів, пакетів та екранів. |
SE11 |
Словник ABAP. Визначення та перевірка таблиць бази даних, елементів даних та доменів. |
SE16N |
Браузер даних. Перегляд вмісту будь-якої таблиці без написання оператора SELECT. |
SE37 |
Конструктор функцій. Створення та тестування функціональних модулів. |
SE24 |
Конструктор класів. Створення глобальних класів для об'єктів ABAP. |
ST22 |
Аналіз дампа. Зчитування помилки виконання під час завершення програми. |
SE38 та SE11 достатньо для створення першого звіту. ST22 стає найціннішим у групі в момент збою програми.

