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

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
исправлены пунктуационные ошибки
Нет описания правки
Строка 11: Строка 11:


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


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


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


Например:
Например:
Строка 55: Строка 55:
</syntaxhighlight>
</syntaxhighlight>


3. Ключевые слова и переменные, регистронезависимые, т.е. код:
3. Ключевые слова и переменные регистронезависимые, т.е. код:
<syntaxhighlight lang="abap">
<syntaxhighlight lang="abap">
...
...
Строка 71: Строка 71:
</syntaxhighlight>
</syntaxhighlight>


4. Вызов [[ABAP/Функциональный модуль|функциональных модулей]] производиться только в верхнем регистре:
4. Вызов [[ABAP/Функциональный модуль|функциональных модулей]] производится только в верхнем регистре:
Т.е. код:
Т.е. код:
<syntaxhighlight lang="abap">
<syntaxhighlight lang="abap">
Строка 91: Строка 91:


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

Версия от 10:28, 26 сентября 2010

Учебник в стадии активной разработки!



Данный учебник призван помочь начинающим разработчикам 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 редактор
  • SE11 - ABAP словарь
  • SE24 - Построитель классов
  • SE18 - BADI Builder. Определения.
  • SE19 - BADI Builder. Внедрения.
  • ST22 - Мгновенный дамп.
  • ST05 - SQL Трассировка.
  • SM30 - Ведение ракурсов.
  • SMARTFORMS SMARTSTYLES - Разработка смартформ
  • SE37 - ABAP-функциональные модули

Технологии

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

Редактирование любой стандартной ABAP программы без ключа на модификацию

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

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

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

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

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

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

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

Администраторам и модераторам

Большая просьба не удалять, обязуюсь ежедневно добавлять по 1й статье в учебник.