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

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
категории, викификация
Строка 5: Строка 5:
[[w:SAP|SAP]] является программным обеспечением с [[w:Открытое программное обеспечение|открытым исходным кодом]]. В силу этого, существует следующая классификация разработок:
[[w:SAP|SAP]] является программным обеспечением с [[w:Открытое программное обеспечение|открытым исходным кодом]]. В силу этого, существует следующая классификация разработок:


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


===Синтаксис===
===Синтаксис===
Строка 86: Строка 86:


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


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


===Технологии===
===Технологии===
Строка 132: Строка 132:


===Функциональные модули===
===Функциональные модули===
* '''HR_RU_MONTH_NAME_IN_GENITIVE''' - перевод № мес в название (род. падеж)
* '''HR_RU_MONTH_NAME_IN_GENITIVE''' перевод № мес в название (род. падеж)

[[Категория:Языки программирования]]
[[Категория:ABAP|*]]

Версия от 12:21, 1 февраля 2014

Данный учебник призван помочь начинающим разработчикам 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 — перевод № мес в название (род. падеж)