Как стать автором
Обновить

BREAK-POINT ID в помощь ABAP-разработчику

Время на прочтение2 мин
Количество просмотров2.5K
Использование операторов break и break-point в ABAP разработке считается моветоном. Оператор break-point id — совсем другое дело. Он полезен, и в этом посте вы узнаете, для чего его можно использовать.

Что делает


Оператор ставит группу контрольных точек. Активировать конкретную группу может любой пользователь консультант в транзакции SAAB, ограничив максимальный срок действия активации. При достижении break-point id с активной группой для этого консультанта будет запущен отладчик.

Как может быть использован


Одна группа точек может ставиться в объектах, относящихся по смыслу к одному функционалу или проекту. Это может быть какая-нибудь подсистема или реализация cервиса. В этом случае название группы должно описывать смысл или содержать аббревиатуру/название подсистемы:
  • Стандартные группы точек:
    • cpe_formula_evaluation, cpe_formula_check, cpe_failing_quot_forecast — расчет формул и проверки в прайсинге;
    • alv_grid, salv_bs — формирование alv grid-ов.
  • Клиентские группы точек:
    • zabap_edo — внедрение электронного документооборота;
    • zabap_odata — реализация odata сервиса.

break-point id может ставиться внутри функционала, который вызывается через настройку или удаленные вызовы. Такие программные модули не имеют явного места вызова и название группы может пояснять принцип вызова. Активация контрольных точек может облегчить поиск z-функционала, вызываемого в процессе работы стандартной транзакции или при работе веб-сервиса.
Пример:
  • zabap_pc_open_fi, z_bf_open_fi — контрольные точки для обработки событий open-fi / BTE;
  • zabap_bp_bdt — точки остановки для расширения транзакции BP через BDT;
  • zabap_hr_padru — точки для дебага расширений форм в hr;

Удобно иметь универсальные группы контрольных точек, когда для отдельного типа расширения стандарта создается своя группа. В названии такой группы должен быть указан тип расширения:
  • zabap_badi — реализации BADI;
  • zabap_exit — user-exit-ы;
  • zabap_enh — реализация явных и неявных расширений.

Так как во время отладки нельзя временно отключить активные группы, в некоторых случаях стоит предусмотреть их программное отключение. Например, так:

  STATICS sv_break_off  TYPE flag.
  " Если вам больше не требуется остановка в этом месте,  
  " установите значение переменной sv_break_off = ‘X’.
  IF sv_break_off = abap_false.

    BREAK-POINT ID zabap_exit.

  ENDIF.


break-point id — это простой и удобный инструмент, позволяющий сократить время, затрачиваемое на поддержку кода. Как с любым инструментом, им главное не злоупотреблять. Чем лучше вы определите правила его использования, тем эффективнее он будет. Что делать, если вы его не используете, а в системе уже много расширений, в которых он мог бы пригодиться? Ввести его в свой арсенал и использовать во всех новых разработках, а в старых добавлять его тогда, когда в них вносятся корректировки.
Теги:
Хабы:
Всего голосов 3: ↑2 и ↓1+1
Комментарии4

Публикации

Истории

Работа

ABAP разработчик
9 вакансий

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург