- PVSM.RU - https://www.pvsm.ru -
Привет!
Так как статей об ABAP'е на хабре совсем мало, а статьи вида «Hello, World!» совсем нету, решил немного написать об этом. Если вам интересно узнать про этот язык или же подумываете заниматься разработкой на ABAP'е, то добро пожаловать под кат.
ABAP (Advanced Business Application Programming) – внутренний язык высокого уровня программирования в среде SAP. Углубляться в историю особенно не хочется, но отмечу лишь, что язык синтаксис языка наиболее близок к языку программирования COBOL.
Язык позволяет работать с внутренними структурами данных, интерфейсами пользователя, транзакциями, отчётами, интерфейсами загрузки, выгрузки данных (word, excel, pdf, …); стоит отметить, что можно использовать объектно-ориентированные конструкции (ABAP Objects); существует множество технологий связи с другими системами (BAPI, RFC, …) для выгрузки и загрузки данных (или же сторонней обработки).
Переменные в ABAP обычно объявляются с помощью конструкции DATA.
DATA: count TYPE i. " объявляем переменную count типа integer
Хочется обратить внимание, что операторы в коде начинаются с зарезервированных слов и заканчиваются точкой.
Можно сокращать объявление нескольких переменных через запятую и используя символ двоеточия:
DATA: count TYPE i,
sum TYPE i.
Внутри программы можно использовать типы, заложенные в ABAP-словаре, а так же создавать собственные типы и структуры, используя конструкцию TYPES.
TYPES: person_code(15) TYPE c. " объявляем символьный тип длинной 15 символов
DATA: iv_person_code TYPE person_code. " объявляем переменную созданного нами типа
Пример со структурой:
TYPES: BEGIN OF struct,
name(10) type C, " символьная переменная длинной 10 символов
post(15) type C,
END OF struct.
DATA: wa_struct TYPE STANDARD TABLE OF struct. " таблица объявленного нами типа
DATA: name_person LIKE wa_struct-name. " ссылка на элемент name объявленной структуры
В динамическом программировании принято использовать поля типа FIELD SYMBOLS (аналог указателя):
FIELD-SYMBOLS <fs> TYPE ANY.
DATA: field TYPE string VALUE 'Bob Marley'.
ASSING field TO <fs>.
WRITE <fs>.
Таблицы можно объявлять как из словаря ABAP, так же и из своих внутренних типов структур:
DATA: gt_0001 TYPE TABLE OF pa0001. " из словаря
DATA: BEGIN OF t_tab,
name TYPE string,
count TYPE I,
END OF t_tab.
DATA: gt_tab LIKE TABLE OF T_TAB WITH HEADER LINE. " это дополнение обозначает создание строки заголовка таблицы аналогичной структуры, которую можно использовать для работы с таблицей (циклы и т.д.).
ABAP имеет свою собственную среду разработки, которая называется ABAP Workbench, имеющую отладчик, средства трассировки, систему контроля версий, средства работы с буфером, журналы использования, и так далее.
В 2012 году разработчики интегрировали ABAP со всем известной IDE Eclipse. Правда работает это на последних версиях ядра, что есть не на всех проектах.
На самом деле не хочу, чтобы статья была длинной. Вкратце напишу, что ABAP поддерживает работу со всеми арифметическими, строковыми операциями, имеет стандартный набор операторов условий, циклов, обработку исключений, имеет множество технологиями отчетности, поддерживает работу с базой данных (OPEN SQL) и так далее.
В абапе существуют подпрограммы, функциональные модули, макросы, работа с вебом (Web Dynpro, BSP), выгрузка данных в word, excel (посредством OLE), пользовательские интерфейсы, диалоги и так далее. Существует даже несколько сертификаций разработчиков. Об этом всем постараюсь рассказать в следующих постах.
Итак, если же вам посчастливилось получить доступ к системе разработки SAP или же вы нашли виртуальную машину, на всем любимом русском трекере по запросу «mini sap on vmware (abap)», то дальше я покажу как создать свою программу.
Первым делом заходим в систему SAP (через SAP GUI):
Далее в окошке вводим транзакцию se38:
В соответствии с именованием пользовательский программ (начиная с Z), вводим название своей программы:
и нажимаем кнопку создать. Далее вводим заголовок программы, выбираем тип и нажимаем сохранить.
Выбираем пакет сохранения (для тестов советую выбирать пакет $TMP или же сохранять кнопкой «Локальный объект»)
Далее мы попадаем в окно ABAP-редактора. Вводим код нашей программы:
REPORT Z_TEST_4. "Название отчета
DATA: write_it TYPE string.
write_it = 'Hello, World!'.
WRITE: write_it.
*А можно и так
WRITE:/ 'Hello, World!'.
Активируем программу:
И запускаем:
Результат:
В этой статье я написал немного про ABAP, его синтаксис ну и, конечно же, программку Hello, World!
В следующих статьях планирую описать арифметические, строковые операции, работу с базой данных и познакомить с построением отчетности в ABAP с конкретными примерами и мануалами. Ну, а дальше как пойдет.
Для начинающих:
SAP R/3 Программирование на языке АВАР/4 – Вольфганг Вейс, Рюдигер Кречмер.
Курс BC400: инструментальные средства, основы.
Для продвинутых:
Курсы:
Книги:
Интернет источники:
Автор: whydrae
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/22093
Ссылки в тексте:
[1] sapnet.ru/: http://sapnet.ru/
[2] sapboard.ru/: http://sapboard.ru/
[3] abap-blog.ru/: http://abap-blog.ru/
[4] abaphr.ru/: http://abaphr.ru/
[5] www.sapdev.co.uk/: http://www.sapdev.co.uk/
[6] help.sap.com/: http://help.sap.com/
[7] Источник: http://habrahabr.ru/post/161751/
Нажмите здесь для печати.