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

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Строка 48: Строка 48:


Равен последовательности:
Равен последовательности:
<syntaxhighlight lang="abap"></code>
<syntaxhighlight lang="abap">
...
...
WRITE 'Hello World'.
WRITE 'Hello World'.

Версия от 12:19, 23 июля 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й статье в учебник.