Три простых способа поиска расширений
Расширения системы призваны совершенствовать и адаптировать бизнес-процессы под стандарты компании. Умение быстро находить расширения является залогом более эффективного и успешного определения местоположения конкретного расширения.
Несмотря на то, что SAP предлагает широкий выбор отраслевых решений, невозможно предугадать конкретные требования, специфические для той или иной компании. Например, может потребоваться изменение бизнес-процесса для Вашего бизнеса, совершенствование экранов для удовлетворения потребностей конечных пользователей или особое управление данными во время выполнения с целью формирования данных, необходимых для анализа фьючерсных сделок. Для решения этих задач SAP предоставляет множество точек доступа, известных как расширения, при помощи которых возможно осуществлять управление системой. Расширения включают функциональные модули пользователя, экраны пользователя и интерфейсы для расширения стандартной функциональности бизнес-приложений (BAdI).
Примечание Данная статья предназначена для разработчиков АВАР и функциональных консультантов и предполагает, что читатель уже знаком с инструментами и выполнением программ в среде SAP. |
Перед тем, как выполнить расширение приложения, прежде всего, следует установить местонахождение этих расширений в системе SAP. Это можно сделать тремя способами:
- Выполнить поиск в программе SAP
- Выполнить поиск в репозитарии бизнес-объектов
- Найти BAdI при помощи трассировки SQL
Все приведенные примеры взяты из компонента SAP ERP Central Component (SAP ECC) 6.0 и могут применяться к более поздним версиям.
Оформите подписку sappro и получите полный доступ к материалам SAPPRO
Оформить подпискуУ вас уже есть подписка?
Войти
Обсуждения 11
Комментарий от
Марина Карась
| 09 июля 2010, 15:17
Действительно, бывают такие ситуации, когда нужно быстро найти то или иное расширение. Автор полностью раскрыл секреты их быстрого поиска. Вопросов не остается.
Спасибо автору!
Комментарий от
неизвестного пользователя
| 15 июля 2010, 15:32
Комментарий от
Павел Мартынов
| 15 июля 2010, 17:32
По моему мнению легче искать отладчиком. Ставим точку остановки CL_EXITHANDLER=>GET_INSTANCE, так как для старых BAdI вызывается данный метод и также в отладчике ставим точку остановки по оператору CALL BADI.
Комментарий от
Левон Киракосян
| 16 июля 2010, 16:06
Исходник можно взять например тут: http://wiki.sdn.sap.com/wiki/display/Snippets/Find+User-exits,+BADIs,+BTEs,+Etc+by+TCode+or+Program
Комментарий от
Александр С
| 16 июля 2010, 22:27
В отношении поиска подходящих BADI проще всего поставить точку останова в методе CL_EXITHANDLER=>GET_INSTANCE (тр. SE24), далее заходим в исследуемую транзакцию, выполняем предполагаемые бизнес процессом операции и при каждом потенциальном входе в BADI, оказываемся на нашей точке останова. Смотрим по стеку вызовов с какими параметрами вызывался метод. В параметре EXIT_NAME будет определение искомого BADI. Если искать через контекстный поиск CL_EXITHANDLER, то можно его не найти, так как он может быть в вызываемом ФМ другой группы функций или подпрограмме внешней программы.
Вообще по поиску и использованию расширений можно написать чуть ли не целую книгу! SAP предоставил благодатную почву)
Комментарий от
Виталий Глущенко
| 17 июля 2010, 14:20
Class name: CL_EXITHANDLER
Method name: GET_INSTANCE
и нажимаем F8. Теперь мы будем останавливаться на каждом расширении и можно будет изучить передаваемые в расширение параметры. Так проще найти BADI, которые лучше всего подходят, для данного случая. Есть и другие способы, но использование отладчика помогает решить 90% проблем с поиском расширений.
Комментарий от
Евгений Лифиренко
| 17 июля 2010, 19:21
Комментарий от
Михаил Зотов
| 19 июля 2010, 10:42
Комментарий от
Кирилл Сатарин
| 19 июля 2010, 20:09
Комментарий от
Александр Насонов
| 23 июля 2010, 16:04
Комментарий от
Максим Филенко
| 24 июля 2010, 15:03