ABAP: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Строка 135: Строка 135:
http://abap-blog.ru
http://abap-blog.ru
http://abap.kz/
http://abap.kz/
https:/sapfreelancers.ru
https://sapfreelancers.ru/
{{Темы|Языки программирования}}
{{Темы|Языки программирования}}



Версия от 14:38, 18 октября 2019

Данный учебник призван помочь начинающим разработчикам ABAP/4. Руководство позволяет в максимально короткий срок освоить азы языка, его синтаксис, основные постулаты, а также содержит множество полезных, часто используемых в разработках примеров кода.

Виды разработок

SAP является программным обеспечением с открытым исходным кодом. В силу этого, существует следующая классификация разработок:

  • Независимые разработки — существуют независимо от какого-либо стандартного кода приложений SAP
  • Разработки на основе стандартного функционала — наиболее частый вид разработок. Данный вид разработок представляет собой самостоятельные отчеты, использующие функционал открытого исходного кода SAP, помогающего выполнять те или иные действия с бизнес-объектами
  • Расширения — расширения стандартного исходного кода собственными разработками. Зачастую требуется расширить стандартную бизнес-логику, заложенную в SAP для достижения бизнес-логики, максимально приближенной задуманной клиентом. В подобных случаях, как правило, это лучший выход между использованием стандартного функционала и написанием независимой разработки. Но всегда перед расширением следует убедиться, что данное расширение обосновано, и без него не обойтись.
  • Сервисные разработки. Подобные разработки призваны сократить количество однотипных разработок в системе. Как пример — функциональный модуль пересчета количества из одной единицы измерения в другую.

Синтаксис

Программа Hello World.

****************************************
** Код разработки:
** Наименование разработки:
** Дата завершения:
** Разработчик:
** Постановка ТЗ:
****************************************
REPORT first_programm.
WRITE / 'Hello World'.

Правила синтаксиса ABAP:

1. Любое выражение должно заканчиваться точкой.

2. Двоеточие после ключевого слова обозначает повторение выражений, приведенных после двоеточия и перечисленных через запятую для данного ключевого слова.

Например:

Код:

...
WRITE: 'Hello World', 
       ' - this is my first programm'.
...

Равен последовательности:

...
WRITE 'Hello World'.
WRITE ' - this is my first programm'.
...

3. Ключевые слова и переменные регистронезависимые, т.е. код:

...
DATA gv_value TYPE i. " А можно так: data gv_value type i.
WRITE gv_value.       "              write gv_value. 
...

Идентичен коду:

...
data GV_VALUE type I.
wrITE gv_Value.
...

4. Вызов функциональных модулей производится только в верхнем регистре: Т.е. код:

...
CALL FUNCTION 'ztest_func'.
...

Работать не будет, а правильно:

...
CALL FUNCTION 'ZTEST_FUNC'.
...

Ключевые Слова

ABAPDOCU

Оформление разработки

Правильное оформление разработки — залог её простой читаемости в будущем, как разработчиками, незнакомыми с данной разработкой, так и Вами через полгода-год, когда уже давно забыто, что именно должна делать разработка. Упрощает поиск и исправление ошибок, расширения и модификацию разработки. Негласные правила оформления разработок, принятых на многих проектах изложены в главе ABAP/Оформление разработок.

Инструменты разработки

  • SE80 — Навигатор по объектам репозитория.
  • SE38 — ABAP редактор.
  • SA38 — Исполнение программ ABAP.
  • SE11 — ABAP словарь.
  • SE24 — Построитель классов.
  • SE18 — BADI Builder. Определения.
  • SE19 — BADI Builder. Внедрения.
  • SE51 — Редактор экранов.
  • ST22 — Просмотр дампов.
  • ST05 — SQL Трассировка.
  • SM30 — Ведение ракурсов.
  • SMARTFORMS SMARTSTYLES — Разработка SmartForm.
  • SFP — редактор PDF-форм
  • SE37 — ABAP-функциональные модули.

Технологии

Полезные базисные разработки

Загрузка транспортных запросов

Выгрузка транспортных запросов

Изменение исходной системы разработки

Массовое изменение пакета разработки для группы объектов

Все динамические концепции в одном месте

Функциональные модули

  • HR_RU_MONTH_NAME_IN_GENITIVE — перевод № мес в название (род. падеж)

Полезные ссылки

http://abap-blog.ru http://abap.kz/ https://sapfreelancers.ru/