Так як статей про ABAP'е на Хабре зовсім мало, а статті виду «Hello, World!» Зовсім немає, вирішив трохи написати про це. Якщо вам цікаво дізнатися про цю мову або ж подумує займатися розробкою на ABAP'е, то ласкаво просимо під кат.
ABAP (Advanced Business Application Programming) - внутрішній мову високого рівня програмування в середовищі SAP. Заглиблюватися в історію особливо не хочеться, але зазначу лише, що мова синтаксис мови найбільш близький до мови програмування COBOL.
Мова дозволяє працювати з внутрішніми структурами даних, інтерфейсами користувача, транзакціями, звітами, інтерфейсами завантаження, вивантаження даних (word, excel, pdf, ...); варто відзначити, що можна використовувати об'єктно-орієнтовані конструкції (ABAP Objects); існує безліч технологій зв'язку з іншими системами (BAPI, RFC, ...) для вивантаження і завантаження даних (або ж сторонньої обробки).
Змінні в ABAP зазвичай оголошуються за допомогою конструкції DATA.
Хочеться звернути увагу, що оператори в коді починаються з зарезервованих слів і закінчуються крапкою.
Всередині програми можна використовувати типи, закладені в ABAP-словнику, а так само створювати власні типи і структури, використовуючи конструкцію TYPES.
Приклад зі структурою:
У динамічному програмуванні прийнято використовувати поля типу FIELD SYMBOLS (аналог покажчика):
Таблиці можна оголошувати як зі словника ABAP, так само і зі своїх внутрішніх типів структур:
Середовище розробки
Передмова перед «Hello, World»
У абапе існують підпрограми, функціональні модулі, макроси, робота з Інтернетом (Web Dynpro, BSP), вивантаження даних в word, excel (за допомогою OLE), призначені для користувача інтерфейси, діалоги і так далі. Існує навіть кілька сертифікацій розробників. Про це всім постараюся розповісти в наступних постах.
Hello, World!
Отже, якщо ж вам пощастило отримати доступ до системи розробки SAP або ж ви знайшли віртуальну машину, на всьому улюбленому російською трекері за запитом «mini sap on vmware (abap)». то далі я покажу як створити свою програму.
Насамперед заходимо в систему SAP (через SAP GUI):
Далі у віконці вводимо транзакцію se38:
Відповідно до ім'ям користувача програм (починаючи з Z), вводимо назву своєї програми:
і натискаємо кнопку створити. Далі вводимо заголовок програми, вибираємо тип і натискаємо зберегти.
Вибираємо пакет збереження (для тестів раджу вибирати пакет $ TMP або ж зберігати кнопкою «Локальний об'єкт»)
висновок
Трохи літератури:
Для початківців:
SAP R / 3 Програмування на мові Аварія / 4 - Вольфганг Вейс, Рюдігер Кречмер.
Курс BC400: інструментальні засоби, основи.
Для просунутих:
Курси:
- BC401 - ABAP об'єкти
- BC402 - Поглиблене ABAP програмування
- BC411 - Advanced ABAP programming
- Object-oriented Programming with ABAP objects - James Wood,
- ABAK cookbook - James Wood.
- sapnet.ru/ - форум ABAP консультантів. Тут можна знайти цікаві матеріали по ABAP, запитати поради у гуру, допомогти комусь і так далі.
- sapboard.ru/ - російськомовний форум по різних модулів SAP а так само по ABAP.
- abap-blog.ru/ - дуже цікавий блог ABAP-розробника. Пише про різні нові технології і цікаві речі в ABAP.
- abaphr.ru/ - блог розробки додатків в модулі ABAP HR. (Але насправді і не тільки).
- www.sapdev.co.uk/ - зарубіжний сайт розробників ABAP. Частенько знаходжу тут цікаві для мене теми.
- help.sap.com/ - офіційний help SAP. Практично всю документацію можна знайти тут.