Business Add-Ins
User-Exits позволяют клиентам прикрепить дополнительный код для стандартных SAP исходный код без необходимости изменения исходного объекта. Business Add-Ins SAP методика расширений, основанная на ABAP Objects.
Служат для того, чтобы вносить модификацию в алгоритм обработки объекта и свести к минимуму работы при обновлении системы.
Основным преимуществом данной концепции является возможность повторного использования. BAdI может быть реализован несколько раз.
Как найти BADI которая срабатывает при конкретном действии :
В классе cl_exithandler в методе GET_INSTANCE ставим точку останова. В exit_name будет вызываемая в данный момент времени BADI.
Sxv_get_clif_by_name - ставим точку останова. В name будет имя BADI.
Работа с BADI
Транзакция se18.
Если установлена «1» (Рис 1.) – возможно одновременно иметь несколько активных реализаций.
Если установлена «2» (Рис 1.) – срабатывание реализаций зависит от фильтра. Для случаев если фильтр отсутствует необходимо ставить проверки в начале каждого реализованного метода BADI т.к. реализации срабатывают для всех инфо-типов (например).
Работа с реализациями происходит в пункте меню «Внедрение» (Рис2.) При создании внедрения BADI создается класс методы которого необходимо переопределить согласно нашей задачи.
При создании BADI с фильтром есть возможность указать информацию для фильтра. (Рис 3.)
Активные реализации (то есть те которые срабатывают) помечены желтым цветом, деактивированные – синим. (Рис 4.)
1 – активировать реализацию
2 – деактивировать реализацию (в данном состоянии код выполнятся не будет).
Часто используемые BADI в HR
HRBAS00_RELAT - BADI для соединений.
HRPAD00INFTY - BADI для администрирования персонала
HRBAS00INFTY - BADI для инфо-типов организационного менеджмента.