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

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


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

Версия от 06:52, 15 сентября 2011

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



Данный учебник призван помочь начинающим разработчикам 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-функциональные модули

Технологии

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

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

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

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

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

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

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

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

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

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