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

от автора

Использование операторов 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 — это простой и удобный инструмент, позволяющий сократить время, затрачиваемое на поддержку кода. Как с любым инструментом, им главное не злоупотреблять. Чем лучше вы определите правила его использования, тем эффективнее он будет. Что делать, если вы его не используете, а в системе уже много расширений, в которых он мог бы пригодиться? Ввести его в свой арсенал и использовать во всех новых разработках, а в старых добавлять его тогда, когда в них вносятся корректировки.

ссылка на оригинал статьи https://habr.com/ru/post/517592/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *